Modify ↓
Opened 2 years ago
Closed 2 years ago
#22514 closed defect (needinfo)
JOSM cannot open some GeoJSON
Reported by: | shoorick | Owned by: | shoorick |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core | Version: | |
Keywords: | template_report | Cc: |
Description
What steps will reproduce the problem?
- Open complicated GeoJSON file, for example having contour of Russia.
- Make some edition and save it.
- See many LineString instead of Polygon on MultiPolygon in GeoJSON file.
- Google the problem, find #17453 and #18902, change settings.
- Repeat steps 2 and 3.
- Restart JOSM.
- Repeat steps 2 and 3.
- Edit GeoJSON in Codium (VSCode), change LineString with MultiPolygon, do not duplicate first points of each feature to the end of point sequence because these points are already duplicated.
- Open edited file in JOSM.
What is the expected result?
Silent file opening.
What happens instead?
Message about bug.
Please provide any additional information below. Attach a screenshot if possible.
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2022-10-31 17:29:20 +0100 (Mon, 31 Oct 2022) Revision:18583 Build-Date:2022-11-01 02:30:58 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (18583 en) Linux Debian GNU/Linux 11 (bullseye) Memory Usage: 1019 MB / 2938 MB (625 MB allocated, but free) Java version: 11.0.16+8-post-Debian-1deb11u1, Debian, OpenJDK 64-Bit Server VM Look and Feel: com.sun.java.swing.plaf.gtk.GTKLookAndFeel Screen: :0.0 1600×900 (scaling 1.00×1.00) :0.1 1600×900 (scaling 1.00×1.00) Maximum Screen Size: 1600×900 Best cursor sizes: 16×16→16×16, 32×32→32×32 Environment variable LANG: en_US.UTF-8 System property file.encoding: UTF-8 System property sun.jnu.encoding: UTF-8 Locale info: en_US Numbers with default locale: 1234567890 -> 1234567890 Desktop environment: GNOME Java package: openjdk-11-jre:amd64-11.0.16+8-1~deb11u1 Java ATK Wrapper package: libatk-wrapper-java:all-0.38.0-2+deb11u1 libcommons-logging-java: libcommons-logging-java:all-1.2-2 fonts-noto: fonts-noto:all-20201225-1 VM arguments: [--module-path=/usr/share/openjfx/lib, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, -Djosm.restart=true, -Djava.net.useSystemProxies=true, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED] Plugins: + FastDraw (35978) + Mapillary (2.0.1) + apache-commons (36003) + apache-http (35924) + buildings_tools (36011) + ext_tools (35893) + imagery_offset_db (35978) + jna (36005) + reverter (36011) + russia-address-helper (0.8.5.1) + turnrestrictions (36011) + undelete (36011) + utilsplugin2 (36011) Map paint styles: - https://josm.openstreetmap.de/josmfile?page=Styles/ColourTag&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/PriorityRoad&zip=1 Last errors/warnings: - 00403.532 E: Handled by bug report queue: java.lang.ClassCastException: Cannot cast org.glassfish.json.JsonNumberImpl$JsonBigDecimalNumber to javax.json.JsonArray === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: main-worker-0 (18) of main java.lang.ClassCastException: Cannot cast org.glassfish.json.JsonNumberImpl$JsonBigDecimalNumber to javax.json.JsonArray at java.base/java.lang.Class.cast(Class.java:3605) at javax.json.JsonValue.asJsonArray(JsonValue.java:153) at org.openstreetmap.josm.io.GeoJSONReader.lambda$createWay$10(GeoJSONReader.java:342) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at org.openstreetmap.josm.io.GeoJSONReader.createWay(GeoJSONReader.java:343) at org.openstreetmap.josm.io.GeoJSONReader.parsePolygon(GeoJSONReader.java:299) at org.openstreetmap.josm.io.GeoJSONReader.parseGeometry(GeoJSONReader.java:228) at org.openstreetmap.josm.io.GeoJSONReader.parseFeature(GeoJSONReader.java:164) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at org.openstreetmap.josm.io.GeoJSONReader.parseFeatureCollection(GeoJSONReader.java:149) at org.openstreetmap.josm.io.GeoJSONReader.parseRoot(GeoJSONReader.java:100) at org.openstreetmap.josm.io.GeoJSONReader.parse(GeoJSONReader.java:87) at org.openstreetmap.josm.io.GeoJSONReader.doParseDataSet(GeoJSONReader.java:471) at org.openstreetmap.josm.io.GeoJSONReader.parseDataSet(GeoJSONReader.java:536) at org.openstreetmap.josm.gui.io.importexport.GeoJSONImporter.importData(GeoJSONImporter.java:54) at org.openstreetmap.josm.gui.io.importexport.FileImporter.importDataHandleExceptions(FileImporter.java:103) at org.openstreetmap.josm.actions.OpenFileAction$OpenFileTask.importData(OpenFileAction.java:401) at org.openstreetmap.josm.actions.OpenFileAction$OpenFileTask.realRun(OpenFileAction.java:350) at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:94) at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:142) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) === RUNNING THREADS === Thread: Common-Cleaner (10) of InnocuousThreadGroup java.base@11.0.16/java.lang.Object.wait(Native Method) java.base@11.0.16/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) java.base@11.0.16/jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:148) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) java.base@11.0.16/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:161) Thread: changeset-updater-0 (45) of main java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method) java.base@11.0.16/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) java.base@11.0.16/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) java.base@11.0.16/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: image-fetcher-0 (36) of main java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method) java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) java.base@11.0.16/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: AWT-EventQueue-0 (19) of main java.desktop@11.0.16/com.sun.java.swing.plaf.gtk.GTKEngine.native_paint_box(Native Method) java.desktop@11.0.16/com.sun.java.swing.plaf.gtk.GTKEngine.paintBox(GTKEngine.java:399) java.desktop@11.0.16/com.sun.java.swing.plaf.gtk.GTKPainter.paintProgressBarForeground(GTKPainter.java:661) java.desktop@11.0.16/javax.swing.plaf.synth.SynthProgressBarUI.paint(SynthProgressBarUI.java:311) java.desktop@11.0.16/javax.swing.plaf.synth.SynthProgressBarUI.update(SynthProgressBarUI.java:215) java.desktop@11.0.16/javax.swing.JComponent.paintComponent(JComponent.java:797) java.desktop@11.0.16/javax.swing.JComponent.paint(JComponent.java:1074) java.desktop@11.0.16/javax.swing.JComponent.paintToOffscreen(JComponent.java:5255) java.desktop@11.0.16/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) java.desktop@11.0.16/javax.swing.RepaintManager.paint(RepaintManager.java:1323) java.desktop@11.0.16/javax.swing.JComponent._paintImmediately(JComponent.java:5203) java.desktop@11.0.16/javax.swing.JComponent.paintImmediately(JComponent.java:5013) java.desktop@11.0.16/javax.swing.RepaintManager$4.run(RepaintManager.java:865) java.desktop@11.0.16/javax.swing.RepaintManager$4.run(RepaintManager.java:848) java.base@11.0.16/java.security.AccessController.doPrivileged(Native Method) java.base@11.0.16/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) java.desktop@11.0.16/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:848) java.desktop@11.0.16/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:823) java.desktop@11.0.16/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:772) java.desktop@11.0.16/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1890) java.desktop@11.0.16/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) java.desktop@11.0.16/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) java.desktop@11.0.16/java.awt.EventQueue$4.run(EventQueue.java:721) java.desktop@11.0.16/java.awt.EventQueue$4.run(EventQueue.java:715) java.base@11.0.16/java.security.AccessController.doPrivileged(Native Method) java.base@11.0.16/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) java.desktop@11.0.16/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) java.desktop@11.0.16/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) java.desktop@11.0.16/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop@11.0.16/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) java.desktop@11.0.16/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190) java.desktop@11.0.16/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235) java.desktop@11.0.16/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233) java.base@11.0.16/java.security.AccessController.doPrivileged(Native Method) java.desktop@11.0.16/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233) java.desktop@11.0.16/java.awt.Dialog.show(Dialog.java:1070) java.desktop@11.0.16/java.awt.Component.show(Component.java:1716) java.desktop@11.0.16/java.awt.Component.setVisible(Component.java:1663) java.desktop@11.0.16/java.awt.Window.setVisible(Window.java:1031) java.desktop@11.0.16/java.awt.Dialog.setVisible(Dialog.java:1005) app//org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:255) app//org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor$$Lambda$879/0x000000084064e040.run(Unknown Source) app//org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:113) app//org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor$$Lambda$880/0x000000084064e440.run(Unknown Source) java.desktop@11.0.16/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) java.desktop@11.0.16/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) java.desktop@11.0.16/java.awt.EventQueue$4.run(EventQueue.java:721) java.desktop@11.0.16/java.awt.EventQueue$4.run(EventQueue.java:715) java.base@11.0.16/java.security.AccessController.doPrivileged(Native Method) java.base@11.0.16/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) java.desktop@11.0.16/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) java.desktop@11.0.16/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) java.desktop@11.0.16/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) java.desktop@11.0.16/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) java.desktop@11.0.16/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) java.desktop@11.0.16/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.desktop@11.0.16/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Thread: CacheEventQueue.QProcessor-TMS_BLOCK_v2Thread-2 (39) of main java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method) java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) java.base@11.0.16/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: Finalizer (3) of system java.base@11.0.16/java.lang.Object.wait(Native Method) java.base@11.0.16/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) java.base@11.0.16/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176) java.base@11.0.16/java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:170) Thread: Timer-2 (52) of main java.base@11.0.16/java.lang.Object.wait(Native Method) java.base@11.0.16/java.lang.Object.wait(Object.java:328) java.base@11.0.16/java.util.TimerThread.mainLoop(Timer.java:527) java.base@11.0.16/java.util.TimerThread.run(Timer.java:506) Thread: File Watcher (23) of main java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method) java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) java.base@11.0.16/java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:483) java.base@11.0.16/java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:671) java.base@11.0.16/sun.nio.fs.AbstractWatchService.take(AbstractWatchService.java:118) app//org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:120) app//org.openstreetmap.josm.io.FileWatcher$$Lambda$311/0x0000000840373440.run(Unknown Source) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: TimerQueue (21) of system java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method) java.base@11.0.16/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) java.base@11.0.16/java.util.concurrent.DelayQueue.take(DelayQueue.java:229) java.desktop@11.0.16/javax.swing.TimerQueue.run(TimerQueue.java:171) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: Timer-1 (51) of main java.base@11.0.16/java.lang.Object.wait(Native Method) java.base@11.0.16/java.util.TimerThread.mainLoop(Timer.java:553) java.base@11.0.16/java.util.TimerThread.run(Timer.java:506) Thread: AWT-Shutdown (20) of system java.base@11.0.16/java.lang.Object.wait(Native Method) java.base@11.0.16/java.lang.Object.wait(Object.java:328) java.desktop@11.0.16/sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:291) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: DestroyJavaVM (46) of main Thread: FileSystemWatchService (22) of main java.base@11.0.16/sun.nio.fs.LinuxWatchService.poll(Native Method) java.base@11.0.16/sun.nio.fs.LinuxWatchService$Poller.run(LinuxWatchService.java:316) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: JCS-ElementEventQueue-Thread-1 (38) of main java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method) java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) java.base@11.0.16/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: Weak reference cleaner (24) of main java.base@11.0.16/java.lang.Object.wait(Native Method) java.base@11.0.16/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) java.base@11.0.16/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176) app//org.openstreetmap.josm.tools.ListenableWeakReference.clean(ListenableWeakReference.java:60) app//org.openstreetmap.josm.tools.ListenableWeakReference$$Lambda$368/0x00000008403df040.run(Unknown Source) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: ForkJoinPool.commonPool-worker-7 (31) java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method) java.base@11.0.16/java.util.concurrent.locks.LockSupport.parkUntil(LockSupport.java:275) java.base@11.0.16/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1619) java.base@11.0.16/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) Thread: RemoteControl HTTP Server (43) of main java.base@11.0.16/java.net.PlainSocketImpl.socketAccept(Native Method) java.base@11.0.16/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:474) java.base@11.0.16/java.net.ServerSocket.implAccept(ServerSocket.java:565) java.base@11.0.16/java.net.ServerSocket.accept(ServerSocket.java:533) app//org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:104) Thread: main-worker-0 (18) of main Stacktrace see above. Thread: RemoteControl HTTP Server (42) of main java.base@11.0.16/java.net.PlainSocketImpl.socketAccept(Native Method) java.base@11.0.16/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:474) java.base@11.0.16/java.net.ServerSocket.implAccept(ServerSocket.java:565) java.base@11.0.16/java.net.ServerSocket.accept(ServerSocket.java:533) app//org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:104) Thread: ForkJoinPool.commonPool-worker-5 (30) of main java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method) java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@11.0.16/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628) java.base@11.0.16/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) Thread: message-notifier-0 (44) of main java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method) java.base@11.0.16/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) java.base@11.0.16/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) java.base@11.0.16/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) java.base@11.0.16/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: AWT-XAWT (16) of system java.desktop@11.0.16/sun.awt.X11.XToolkit.waitForEvents(Native Method) java.desktop@11.0.16/sun.awt.X11.XToolkit.run(XToolkit.java:685) java.desktop@11.0.16/sun.awt.X11.XToolkit.run(XToolkit.java:649) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: Java2D Disposer (15) of system java.base@11.0.16/java.lang.Object.wait(Native Method) java.base@11.0.16/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) java.base@11.0.16/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176) java.desktop@11.0.16/sun.java2d.Disposer.run(Disposer.java:144) java.base@11.0.16/java.lang.Thread.run(Thread.java:829) Thread: Reference Handler (2) of system java.base@11.0.16/java.lang.ref.Reference.waitForReferencePendingList(Native Method) java.base@11.0.16/java.lang.ref.Reference.processPendingReferences(Reference.java:241) java.base@11.0.16/java.lang.ref.Reference$ReferenceHandler.run(Reference.java:213) Thread: Timer-0 (40) of main java.base@11.0.16/java.lang.Object.wait(Native Method) java.base@11.0.16/java.util.TimerThread.mainLoop(Timer.java:553) java.base@11.0.16/java.util.TimerThread.run(Timer.java:506) Thread: styled-map-renderer-2 (56) of main java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method) java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@11.0.16/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628) java.base@11.0.16/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) Thread: Signal Dispatcher (4) of system
Attachments (0)
Change History (3)
comment:1 by , 2 years ago
Owner: | changed from | to
---|---|
Status: | new → needinfo |
comment:3 by , 2 years ago
Resolution: | → needinfo |
---|---|
Status: | needinfo → closed |
@shoorick: If you can upload the original file that has issues with export, please do so and reopen this ticket.
Note:
See TracTickets
for help on using tickets.
Well, the problem here is step 5. The GeoJSON specification (RFC 9746) specifies that a
MultiPolygon
is made like so:While a
LineString
is made like so:You'll note that the MultiPolygon coordinates are
[[[ (actual coordinate arrays) ]]]
while the LineString is[ (actual coordinate arrays) ]
.This jives with the exception
java.lang.ClassCastException: Cannot cast org.glassfish.json.JsonNumberImpl$JsonBigDecimalNumber to javax.json.JsonArray
since we are expecting 2 inner arrays.I'll go ahead and give you a chance to upload the original file so we can look and see where we can improve the import or export process of a geojson, but it might be unavoidable to lose information between the import and export process.