﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
3183	Null Pointer Exception when loading GPX file	thomas.sprinkmeier@…	team	"I'd just updated the jar file
{{{
$ md5sum /home/sprinkmeier/GPS/josm-latest.jar
d8162eaa209fe97d3b30d6657530496f  /home/sprinkmeier/GPS/josm-latest.jar
}}}
and executed it as I normally do:
{{{
$java -Xmx512M -jar /home/sprinkmeier/GPS/josm-latest.jar dump.2009.0710.2114.ttyUSB0.gpx
}}}

When I got this NPE:
{{{
Path: trunk
URL: http://josm.openstreetmap.de/svn/trunk
Repository Root: http://josm.openstreetmap.de/svn
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Revision: 1892
Node Kind: directory
Last Changed Author: Gubaer
Last Changed Rev: 1892
Last Changed Date: 2009-08-03 00:17:45 +0200 (Mon, 03 Aug 2009)


Memory Usage: 18 MB / 508 MB (6 MB allocated, but free)
Java version: 1.6.0_06



java.lang.NullPointerException
	at org.openstreetmap.josm.gui.layer.Layer.setName(Layer.java:172)
	at org.openstreetmap.josm.gui.layer.Layer.<init>(Layer.java:97)
	at org.openstreetmap.josm.gui.layer.GpxLayer.<init>(GpxLayer.java:83)
	at org.openstreetmap.josm.gui.layer.GpxLayer.<init>(GpxLayer.java:95)
	at org.openstreetmap.josm.io.GpxImporter.importData(GpxImporter.java:48)
	at org.openstreetmap.josm.actions.OpenFileAction.openFile(OpenFileAction.java:53)
	at org.openstreetmap.josm.Main.downloadFromParamString(Main.java:462)
	at org.openstreetmap.josm.Main.postConstructorProcessCmdLine(Main.java:365)
	at org.openstreetmap.josm.gui.MainApplication$2.run(MainApplication.java:151)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
}}}

Nothing special about the GPX dump file, it opens just fine in -tested (version 1788).

I can start the -latest just file, but I get exactly the same NPE if I try to open the dump file once it's running.

Given that the function that died is '''setName()''' I suspected it might be because I have not 'named' my GPX dump properly:
{{{
<?xml version=""1.0"" encoding=""UTF-8""?>
<gpx
 version=""1.0""
creator=""GPSBabel - http://www.gpsbabel.org""
xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""
xmlns=""http://www.topografix.com/GPX/1/0""
xsi:schemaLocation=""http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd"">
<time>2009-07-10T11:45:21Z</time>
<bounds minlat=""-00.3990173"" minlon=""52.5634766"" maxlat=""-72.0027924"" maxlon=""64.8071289""/>
<trk>
  <name>DG-100 tracklog</name>
  <desc>DG-100 GPS tracklog data</desc>
<trkseg>
<trkpt lat=""-00.0568390"" lon=""53.3218384"">
  <ele>0.000000</ele>
<time>2009-07-09T22:46:33Z</time>
  <speed>16.833334</speed>
</trkpt>
}}}

So I tried 'naming' the data by running it through prune, same NPE:
{{{
$ head NPE-TEST.gpx 
<?xml version=""1.0"" encoding=""UTF-8""?>
<gpx version=""1.0"" creator=""Prune v7 activityworkshop.net""
 xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""
 xmlns=""http://www.topografix.com/GPX/1/0"" xsi:schemaLocation=""http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd"">
        <name>TestName</name>
        <desc>TestDescription</desc>
        <trk><name>TestName</name><number>1</number><trkseg>
...
}}}

The console reports an additional error:
{{{
Uncaught error fetching image:
java.lang.ClassCastException: [I cannot be cast to [B
        at java.awt.image.ColorModel.getAlpha(ColorModel.java:815)
        at java.awt.image.ColorModel.getRGB(ColorModel.java:860)
        at sun.awt.image.ImageRepresentation.convertToRGB(ImageRepresentation.java:283)
        at sun.awt.image.ImageRepresentation.setPixels(ImageRepresentation.java:497)
        at java.awt.image.AreaAveragingScaleFilter.accumPixels(AreaAveragingScaleFilter.java:196)
        at java.awt.image.AreaAveragingScaleFilter.setPixels(AreaAveragingScaleFilter.java:235)
        at sun.awt.image.ImageDecoder.setPixels(ImageDecoder.java:108)
        at sun.awt.image.PNGImageDecoder.sendPixels(PNGImageDecoder.java:540)
        at sun.awt.image.PNGImageDecoder.produceImage(PNGImageDecoder.java:460)
        at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:246)
        at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
        at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
}}}

Let me know if I can do anything else."	defect	closed	major		Core	latest	fixed		
