[Geoserver-users] NPE on Capabilities during scale calculation on group layer with cascaded WMS

Hi all,

we have the following problem (see below). I can try to provide a pull
request, but I need some background information:

Situation: A group layer consisting of two *cascaded* WMS layers, from
an external WMS server.

Problem: If a WMS GetCapabilities request is received a NPE occurs and
the Capabilities document is incomplete.

Reason: GS tries to determine the scale denominators for the group
layer. So it tries to analyze the Styles taking part. First: Style
defined on the group layer (=null). Second: Default Style defined on
the nested WMS (=null). The null is forwarded to the analysis -> NPE.

Question: What is the expected fix?

Just fix the NPE/avoid forwarding the "null"? That works, of course. I
am asking because during runtime there are proxy objects available as
Styles, having some Style-UUID which is apparently not existing. So
the proxies resolve to null. Should this proxy resolve to some empty
default Style instead? In this case the fix would be different, or it
might be a problem of an inconsistent data directory only. Additonally
I am quite sure the problem appeared after upgrading from GS 2.10.0 to
2.11.1

Any help is welcome!

Best regards,
Andreas

You found a regression :slight_smile:

It is a bit concerning you have a Style_UUID which does not exist. Styles are optional in a LayerGroup, indicating use of a default style. I presume the WMSLayers do not provide a style causing the problem

I think the way to fix this would be to detect when a WMSLayer is used and not look for a style in that case.

···

On 26 July 2017 at 01:54, Andreas Watermeyer <Andreas.Watermeyer@anonymised.com> wrote:

Hi all,

we have the following problem (see below). I can try to provide a pull
request, but I need some background information:

Situation: A group layer consisting of two cascaded WMS layers, from
an external WMS server.

Problem: If a WMS GetCapabilities request is received a NPE occurs and
the Capabilities document is incomplete.

Reason: GS tries to determine the scale denominators for the group
layer. So it tries to analyze the Styles taking part. First: Style
defined on the group layer (=null). Second: Default Style defined on
the nested WMS (=null). The null is forwarded to the analysis → NPE.

Question: What is the expected fix?

Just fix the NPE/avoid forwarding the “null”? That works, of course. I
am asking because during runtime there are proxy objects available as
Styles, having some Style-UUID which is apparently not existing. So
the proxies resolve to null. Should this proxy resolve to some empty
default Style instead? In this case the fix would be different, or it
might be a problem of an inconsistent data directory only. Additonally
I am quite sure the problem appeared after upgrading from GS 2.10.0 to
2.11.1

Any help is welcome!

Best regards,
Andreas


Check out the vibrant tech community on one of the world’s most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot


Geoserver-users mailing list

Please make sure you read the following two resources before posting to this list:

Geoserver-users@anonymised.com.382…sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users


Jody Garnett

On Wed, Jul 26, 2017 at 5:39 PM, Jody Garnett <jody.garnett@anonymised.com>
wrote:

You found a regression :slight_smile:

It is a bit concerning you have a Style_UUID which does not exist. Styles
are optional in a LayerGroup, indicating use of a default style. I presume
the WMSLayers do not provide a style causing the problem

I think the way to fix this would be to detect when a WMSLayer is used and
not look for a style in that case.

Even WMS layers have a style, one is mandatory for every type of layer,
even if it does not make sense to have one.
WMS cascading ones are treated as raster sources, so they need the "raster"
style to work properly.
The real issue is that the reference is dangling, and how it got that way
(and why 2.10.x did not care,
that's also surprisin).

Andreas, question, how did you configure the capabilities document
generation in the global settings?
See also:
http://docs.geoserver.org/stable/en/user/configuration/globalsettings.html#handle-data-and-configuration-problems

Cheers
Andrea

--

Regards,

Andrea Aime

==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.