#14437 closed defect (fixed)
NPE at AbstractProjection.latlon2eastNorth when adding point via Tools => Add Node...
Reported by: | Owned by: | Don-vip | |
---|---|---|---|
Priority: | normal | Milestone: | 17.03 |
Component: | Core | Version: | tested |
Keywords: | add node projection | Cc: | mg, wiktorn |
Description (last modified by )
What steps will reproduce the problem?
- Start Josm
- Download some OSM data
- Tools => Add Node...
What is the expected result?
Enter coordinates and add the point.
What happens instead?
Unexpected exception
Please provide any additional information below. Attach a screenshot if possible.
URL:http://josm.openstreetmap.de/svn/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2017-02-26 23:10:22 +0100 (Sun, 26 Feb 2017) Build-Date:2017-02-26 22:34:39 Revision:11639 Relative:URL: ^/trunk Identification: JOSM/1.5 (11639 de) Linux Ubuntu 16.04.2 LTS Memory Usage: 955 MB / 3548 MB (438 MB allocated, but free) Java version: 1.8.0_121-8u121-b13-0ubuntu1.16.04.2-b13, Oracle Corporation, OpenJDK 64-Bit Server VM Screen: :0.0 1920x1080 Maximum Screen Size: 1920x1080 Java package: openjdk-8-jre:amd64-8u121-b13-0ubuntu1.16.04.2 VM arguments: [-Djosm.restart=true, -Djava.net.useSystemProxies=true] Program arguments: [allerkamp_170228.osm] Dataset consistency test: No problems found Plugins: + DxfImport (1008) + ImportImagePlugin (33028) + PicLayer (32796) + auto_tools (1479831713) + ejml (32680) + geotools (33042) + jts (32699) + log4j (32699) + measurement (32936) + utilsplugin2 (33124) Last errors/warnings: - E: Handled by bug report queue: java.lang.NullPointerException === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: AWT-EventQueue-0 (19) of main java.lang.NullPointerException at org.openstreetmap.josm.data.projection.AbstractProjection.latlon2eastNorth(AbstractProjection.java:118) at org.openstreetmap.josm.gui.dialogs.LatLonDialog.setCoordinates(LatLonDialog.java:174) at org.openstreetmap.josm.gui.dialogs.LatLonDialog.<init>(LatLonDialog.java:163) at org.openstreetmap.josm.actions.AddNodeAction.actionPerformed(AddNodeAction.java:42) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.AbstractButton.doClick(AbstractButton.java:376) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) === RUNNING THREADS === Thread: Nashorn AST Serializer (39) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) java.util.concurrent.LinkedBlockingDeque.pollFirst(LinkedBlockingDeque.java:522) java.util.concurrent.LinkedBlockingDeque.poll(LinkedBlockingDeque.java:684) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) Thread: JCS-ElementEventQueue-Thread-5 (35) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) Thread: TimerQueue (22) of system sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) java.util.concurrent.DelayQueue.take(DelayQueue.java:223) javax.swing.TimerQueue.run(TimerQueue.java:174) java.lang.Thread.run(Thread.java:745) Thread: WeakCollectionCleaner (42) of main java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) org.geotools.util.WeakCollectionCleaner.run(WeakCollectionCleaner.java:77) Thread: AWT-Shutdown (20) of system java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:502) sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295) java.lang.Thread.run(Thread.java:745) Thread: styled-map-renderer-15 (66) sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824) java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693) java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Thread: styled-map-renderer-14 (65) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824) java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693) java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Thread: Signal Dispatcher (4) of system Thread: Finalizer (3) of system java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) Thread: styled-map-renderer-13 (64) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824) java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693) java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Thread: message-notifier-0 (48) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) Thread: Nashorn AST Serializer (37) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) java.util.concurrent.LinkedBlockingDeque.pollFirst(LinkedBlockingDeque.java:522) java.util.concurrent.LinkedBlockingDeque.poll(LinkedBlockingDeque.java:684) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) Thread: Thread-1 (11) of main sun.nio.fs.LinuxWatchService.poll(Native Method) sun.nio.fs.LinuxWatchService.access$600(LinuxWatchService.java:47) sun.nio.fs.LinuxWatchService$Poller.run(LinuxWatchService.java:314) java.lang.Thread.run(Thread.java:745) Thread: styled-map-renderer-9 (60) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824) java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693) java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Thread: Nashorn AST Serializer (38) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) java.util.concurrent.LinkedBlockingDeque.pollFirst(LinkedBlockingDeque.java:522) java.util.concurrent.LinkedBlockingDeque.poll(LinkedBlockingDeque.java:684) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) Thread: Java2D Disposer (13) of system java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) sun.java2d.Disposer.run(Disposer.java:148) java.lang.Thread.run(Thread.java:745) Thread: AWT-EventQueue-0 (19) of main Stacktrace see above. Thread: Timer-0 (44) of main java.lang.Object.wait(Native Method) java.util.TimerThread.mainLoop(Timer.java:552) java.util.TimerThread.run(Timer.java:505) Thread: styled-map-renderer-12 (63) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824) java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693) java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Thread: styled-map-renderer-11 (62) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824) java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693) java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Thread: styled-map-renderer-1 (52) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824) java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693) java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Thread: Reference Handler (2) of system java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:502) java.lang.ref.Reference.tryHandlePending(Reference.java:191) java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153) Thread: Map Status Collector (50) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:399) java.lang.Thread.run(Thread.java:745) Thread: main-worker-0 (45) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) Thread: Timer-1 (47) of main java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:502) java.util.TimerThread.mainLoop(Timer.java:526) java.util.TimerThread.run(Timer.java:505) Thread: File Watcher (12) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492) java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:680) sun.nio.fs.AbstractWatchService.take(AbstractWatchService.java:118) org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:114) org.openstreetmap.josm.io.FileWatcher$$Lambda$4/2040495657.run(Unknown Source) java.lang.Thread.run(Thread.java:745) Thread: AWT-XAWT (15) of system sun.awt.X11.XToolkit.waitForEvents(Native Method) sun.awt.X11.XToolkit.run(XToolkit.java:568) sun.awt.X11.XToolkit.run(XToolkit.java:532) java.lang.Thread.run(Thread.java:745) Thread: styled-map-renderer-7 (58) sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824) java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693) java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Thread: process reaper (16) of system sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) Thread: GT authority factory disposer (36) of main java.lang.Object.wait(Native Method) java.util.TimerThread.mainLoop(Timer.java:552) java.util.TimerThread.run(Timer.java:505) Thread: DestroyJavaVM (49) of main Thread: Nashorn AST Serializer (40) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) java.util.concurrent.LinkedBlockingDeque.pollFirst(LinkedBlockingDeque.java:522) java.util.concurrent.LinkedBlockingDeque.poll(LinkedBlockingDeque.java:684) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) Thread: styled-map-renderer-3 (54) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824) java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693) java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Attachments (0)
Change History (12)
comment:1 by , 8 years ago
Cc: | added |
---|---|
Summary: | Tools => Add point crashes → NPE at AbstractProjection.latlon2eastNorth when adding point via Tools => Add point |
comment:2 by , 8 years ago
comment:3 by , 8 years ago
Keywords: | projection added; crash removed |
---|
comment:4 by , 8 years ago
Description: | modified (diff) |
---|---|
Keywords: | node added; point removed |
Owner: | changed from | to
Status: | new → needinfo |
Summary: | NPE at AbstractProjection.latlon2eastNorth when adding point via Tools => Add point → NPE at AbstractProjection.latlon2eastNorth when adding point via Tools => Add Node... |
I can't reproduce do you remember the area you downloaded and the coordinates you entered?
comment:5 by , 8 years ago
Milestone: | → 17.03 |
---|
comment:6 by , 8 years ago
The area seems to be no matter. I right now just downloaded a few hundred meters around the Brandenburg Gate in Berlin. I have no opportunity to enter coordinates. The crash occurs right after selecting "add node" or pressing Shift-D. If you set the grid to default "Merkator" there is no crash but as already mentioned above I was working with a EPSG:25832 projection.
comment:7 by , 8 years ago
I'm still unable to reproduce. Can you please post the values of the following preferences:
projection
projection.sub
projection.sub.core:code
projection.sub.core:custom
projection.sub.core:utm
comment:8 by , 8 years ago
Hi Don-vip,
I deleted my prefernces.xml and started with initial settings. The crucial point seems to be
<tag key='coordinates' value='EAST_NORTH'/>
So to reproduce from initial state you must:
- Delete your preferences.xml
- Start Josm
- Set projection to EPSG:25832
- Set "coordinate display" to "projected coordinates" (IMPORTANT !!!)
- Restart Josm
- Load any OSM-Data
- Press Shift-D
p.s.: I am using the German version so my translations of the settings are not correct. Hope you can guess.
comment:9 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | needinfo → assigned |
OK I got it now :) thanks!
comment:12 by , 8 years ago
I gave the latest 11686/josm a try. Now it doesn't crash, but working with projected coordinates still seems to be not correct. If you place the cursor in the map, press shift-D and enter the displayed cursor coordinates, the new point is not created on the cursor position. There seems to be a calculation difference between back and forward conversion. I will try to analyse in detail and make a new bug report.
Might be important to reproduce: Projection was set to EPSG:25832 (not the default Merkator).