[Geoserver-devel] [JIRA] (GEOS-8327) GetMap Request fails with NullpointerException

aleho created an issue

GeoServer / BugGEOS-8327

GetMap Request fails with NullpointerException

Issue Type:

BugBug

Affects Versions:

2.11.1, 2.11.2, 2.12-RC1

Assignee:

Unassigned

Attachments:

index.png, openlayers.png

Created:

10/Oct/17 11:35 AM

Environment:

linux & tomcat

Priority:

HighestHighest

Reporter:

aleho

Currently I am facing a problem with our WMS Service on Geoserver. The data source is a big Image Pyramid with 5 levels covering Germany in EPSG:25832. For tiles outside the boundaries of the dataset Geoserver throws nullpointer exceptions if we request with tileSize.

Here is the error log:

Request: getMap
Angle = 0.0
BaseUrl = xxxxxx
Bbox = SRSEnvelope[357454.39991498 : 359900.3848201, 6066402.775276 : 6068848.7601811]
BgColor = java.awt.Color[r=255,g=255,b=255]
Buffer = 0
CQLFilter = null
Crs = PROJCS[“ETRS89 / UTM zone 32N”,
GEOGCS[“ETRS89”,
DATUM[“European Terrestrial Reference System 1989”,
SPHEROID[“GRS 1980”, 6378137.0, 298.257222101, AUTHORITY[“EPSG”,“7019”]],
TOWGS84[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
AUTHORITY[“EPSG”,“6258”]],
PRIMEM[“Greenwich”, 0.0, AUTHORITY[“EPSG”,“8901”]],
UNIT[“degree”, 0.017453292519943295],
AXIS[“Geodetic longitude”, EAST],
AXIS[“Geodetic latitude”, NORTH],
AUTHORITY[“EPSG”,“4258”]],
PROJECTION[“Transverse_Mercator”, AUTHORITY[“EPSG”,“9807”]],
PARAMETER[“central_meridian”, 9.0],
PARAMETER[“latitude_of_origin”, 0.0],
PARAMETER[“scale_factor”, 0.9996],
PARAMETER[“false_easting”, 500000.0],
PARAMETER[“false_northing”, 0.0],
UNIT[“m”, 1.0],
AXIS[“Easting”, EAST],
AXIS[“Northing”, NORTH],
AUTHORITY[“EPSG”,“25832”]]
Elevation =
Env = {}
Exceptions = SE_XML
FeatureId = null
FeatureVersion = null
Filter = null
Filters = null
Format = image/png
FormatOptions = {}
Get = true
Height = 256
Interpolations =
Layers = [org.geoserver.wms.MapLayerInfo@anonymised.com]
MaxFeatures = null
Palette = null
RawKvp =

{FORMAT=image/png, REQUEST=GetMap, SRS=EPSG:25832, BBOX=357454.39991498,6066402.775276,359900.3848201,6068848.7601811, VERSION=1.1.1, STYLES=, SERVICE=WMS, WIDTH=256, HEIGHT=256, TRANSPARENT=FALSE, LAYERS=xx:xx}

RemoteOwsType = null
RemoteOwsURL = null
Request = GetMap
RequestCharset = UTF-8
ScaleMethod = null
Sld = null
SldBody = null
SldVersion = null
SortBy = null
SortByArrays = null
SRS = EPSG:25832
StartIndex = null
StyleBody = null
StyleFormat = sld
Styles = [StyleImpl[ name=raster]]
StyleUrl = null
StyleVersion = null
Tiled = false
TilesOrigin = null
Time =
Transparent = false
ValidateSchema = false
Version = 1.1.1
ViewParams = null
Width = 256
2017-10-06 17:11:04,858 DEBUG [org.geoserver.wms.map] - Writing png image …
2017-10-06 17:11:04,891 INFO [org.vfny.geoserver.servlets] - OutputStream was successfully aborted.
2017-10-06 17:11:04,891 ERROR [org.geoserver.ows] -
java.lang.NullPointerException
2017-10-06 17:11:04,891 DEBUG [org.geoserver.filters] - Compressing output for mimetype: application/vnd.ogc.se_xml;charset=UTF-8
2017-10-06 17:11:04,891 DEBUG [org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1] - SecurityContextHolder now cleared, as request processing completed

The error always occurs on the boundaries where the shape of the index is not exactly an rectangle (picture index.png)

You can find a screnshot of the error in OpenLayers.png

I also found out, that two vendor parameters tiled and tilesOrigin have an impact on this error.

This request works:

?FORMAT=image%2Fpng&TRANSPARENT=FALSE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&LAYERS=d&SRS=EPSG%3A25832&BBOX=281628.86785608,6110430.5035682,359900.3848201,6188702.0205323&WIDTH=256&HEIGHT=256&tiled=true&tilesOrigin=280000%2C5200000

And this doesn’t:

?FORMAT=image%2Fpng&TRANSPARENT=FALSE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&LAYERS=d&SRS=EPSG%3A25832&BBOX=281628.86785608,6110430.5035682,359900.3848201,6188702.0205323&WIDTH=256&HEIGHT=256

So geoserver throws the exception because of the following missing parameters:
&tiled=true&tilesOrigin=280000%2C5200000

We are running a geoserver 2.12

From the recommendation of andrea I tried to create a testdataset, but it was quite dificult to keep it small, because usually its quite some data. I took the index from our original dataset and combined it with the small testdataset. So, there are granules referenced in the index, which are originally on another place. So it might not be the cleanest testdataset.

I think its a problem, because thera are features in the index which aren’t shaped like a rectangle. But its just an assumption and I had many.

Add Comment

Add Comment

Get Jira notifications on your phone! Download the Jira Cloud app for Android or iOS


This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100063-sha1:00b0487)

Atlassian logo