[Geoserver-devel] OGC Function NPE

Hi All,

It seems that the classes which deal with the OGC functions within the SLD are not properly handling situations where there is no label to add.

There may be a record received from the query, but no label within that result. Running performance tests (with about 350,000 samples, I receive hundreds of NPE errors in the GS logs)

2011-03-11 08:24:24,781 ERROR [renderer.label] - Error adding label to the label cache

java.lang.NullPointerException

at org.geotools.filter.function.StaticGeometry.strToUpperCase(StaticGeometry.java:430)

at org.geotools.filter.function.FilterFunction_strToUpperCase.evaluate(FilterFunction_strToUpperCase.java:49)

at org.geotools.filter.expression.ExpressionAbstract.evaluate(ExpressionAbstract.java:63)

at org.geotools.renderer.label.LabelCacheImpl.put(LabelCacheImpl.java:264)

at org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:2252)

at org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:2158)

at org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingRenderer.java:2061)

at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1931)

at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:766)

Has anyone else come across this?

Thanks,

Steve

On Fri, Mar 11, 2011 at 10:07 AM, Steve Way
<Steve.Way@anonymised.com> wrote:

Hi All,

It seems that the classes which deal with the OGC functions within the SLD
are not properly handling situations where there is no label to add.

There may be a record received from the query, but no label within that
result. Running performance tests (with about 350,000 samples, I receive
hundreds of NPE errors in the GS logs)

2011-03-11 08:24:24,781 ERROR [renderer.label] - Error adding label to the
label cache

java.lang.NullPointerException

            at

org.geotools.filter.function.StaticGeometry.strToUpperCase(StaticGeometry.java:430)

            at

org.geotools.filter.function.FilterFunction_strToUpperCase.evaluate(FilterFunction_strToUpperCase.java:49)

            at

org.geotools.filter.expression.ExpressionAbstract.evaluate(ExpressionAbstract.java:63)

            at

org.geotools.renderer.label.LabelCacheImpl.put(LabelCacheImpl.java:264)

            at

org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:2252)

            at

org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:2158)

            at

org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingRenderer.java:2061)

            at

org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1931)

            at

org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:766)

Has anyone else come across this?

Yep, there is also a tentative patch here, but it seems no one has had
the time to review
and apply it so far:
http://jira.codehaus.org/browse/GEOS-4105

Cheers
Andrea

--
-------------------------------------------------------
Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 333 8128928

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf

-------------------------------------------------------