#24749 closed defect (fixed)
panoramax sometimes hangs the JOSM
| Reported by: | mnalis | Owned by: | taylor.smock |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Plugin panoramax | Version: | |
| Keywords: | template_report | Cc: |
Description (last modified by )
What steps will reproduce the problem?
- I was solving notes and looking at Panoraamax images... I might've probably doubleclicked or something on images
What is the expected result?
Just a single panoramax image is fetched and displayed (at worst)
What happens instead?
It seems that panoramax decides to download tons of images (whole sequence) all by itself; and completely freezes the JOSM UI in the meantime (i.e. I cannot close panoramax picture window, or upload, or click any button) for minutes.
Meanwhile, in the console, I see it downloads tons of images automatically (every second or so a new one). Luckily, after minute and a half of complete unresponsiveness, it hits OOM which terminated the downloads and allowed JOSM UI to function again
2026-05-28 05:18:39.128 INFO: POST https://api.openstreetmap.org/api/0.6/notes/4492965/close?text=removed%2C+not+visible+on+Panoramax+either+anymore (0 B) ...
2026-05-28 05:18:39.393 INFO: POST https://api.openstreetmap.org/api/0.6/notes/4492965/close?text=removed%2C+not+visible+on+Panoramax+either+anymore -> HTTP/1.1 200 (204 ms; 752 B)
2026-05-28 05:18:39.393 INFO: OK
2026-05-28 05:19:10.160 INFO: HEAD https://api.panoramax.xyz/api/live -> HTTP/1.1 200 (110 ms)
2026-05-28 05:19:10.935 INFO: GET https://api.panoramax.xyz/api/collections/14ea2dff-2d5f-4134-9a9c-0b7ff34d87aa/items -> HTTP/1.1 200 (674 ms)
2026-05-28 05:19:11.809 INFO: GET https://api.panoramax.xyz/api/collections/14ea2dff-2d5f-4134-9a9c-0b7ff34d87aa/items?page=ts%3E%272025-03-27T16%3A02%3A08%2B00%3A00%27&limit=100 -> HTTP/1.1 200 (673 ms)
2026-05-28 05:19:12.645 INFO: GET https://api.panoramax.xyz/api/collections/14ea2dff-2d5f-4134-9a9c-0b7ff34d87aa/items?page=ts%3E%272025-04-05T13%3A51%3A38%2B00%3A00%27&limit=100 -> HTTP/1.1 200 (670 ms)
2026-05-28 05:19:13.552 INFO: GET https://api.panoramax.xyz/api/collections/14ea2dff-2d5f-4134-9a9c-0b7ff34d87aa/items?page=ts%3E%272025-04-06T12%3A55%3A30%2B00%3A00%27&limit=100 -> HTTP/1.1 200 (745 ms)
2026-05-28 05:19:14.442 INFO: GET https://api.panoramax.xyz/api/collections/14ea2dff-2d5f-4134-9a9c-0b7ff34d87aa/items?page=ts%3E%272025-04-07T10%3A09%3A47%2B00%3A00%27&limit=100 -> HTTP/1.1 200 (674 ms)
[... list heavily trimmed, as Trac antispam is refusing the ticket for having too many URLs...]
2026-05-28 05:20:49.855 INFO: GET https://api.panoramax.xyz/api/collections/14ea2dff-2d5f-4134-9a9c-0b7ff34d87aa/items?page=ts%3E%272025-08-13T08%3A19%3A41.578%2B00%3A00%27&limit=100 -> HTTP/1.1 200 (404 ms)
2026-05-28 05:20:51.286 INFO: GET https://api.panoramax.xyz/api/collections/14ea2dff-2d5f-4134-9a9c-0b7ff34d87aa/items?page=ts%3E%272025-08-13T23%3A03%3A19.196%2B00%3A00%27&limit=100 -> HTTP/1.1 200 (392 ms)
2026-05-28 05:21:04.218 SEVERE: Handled by bug report queue: java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.base/jdk.internal.org.objectweb.asm.SymbolTable.addConstantUtf8(SymbolTable.java:807)
at java.base/jdk.internal.org.objectweb.asm.MethodWriter.computeMethodInfoSize(MethodWriter.java:2122)
at java.base/jdk.internal.org.objectweb.asm.ClassWriter.toByteArray(ClassWriter.java:543)
at java.base/java.lang.invoke.InvokerBytecodeGenerator.toByteArray(InvokerBytecodeGenerator.java:879)
at java.base/java.lang.invoke.InvokerBytecodeGenerator.generateCustomizedCodeBytes(InvokerBytecodeGenerator.java:758)
at java.base/java.lang.invoke.InvokerBytecodeGenerator.generateCustomizedCode(InvokerBytecodeGenerator.java:712)
at java.base/java.lang.invoke.LambdaForm.compileToBytecode(LambdaForm.java:849)
at java.base/java.lang.invoke.LambdaForm.prepare(LambdaForm.java:807)
at java.base/java.lang.invoke.MethodHandle.<init>(MethodHandle.java:482)
at java.base/java.lang.invoke.BoundMethodHandle.<init>(BoundMethodHandle.java:52)
at java.base/java.lang.invoke.BoundMethodHandle$Species_LL.<init>(java/lang/invoke/BoundMethodHandle$Species_LL)
at java.base/java.lang.invoke.BoundMethodHandle$Species_LL.make(java/lang/invoke/BoundMethodHandle$Species_LL)
at java.base/java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(DirectMethodHandle$Holder)
at java.base/java.lang.invoke.BoundMethodHandle$Species_L.copyWithExtendL(BoundMethodHandle.java:236)
at java.base/java.lang.invoke.MethodHandleImpl.makePairwiseConvertByEditor(MethodHandleImpl.java:333)
at java.base/java.lang.invoke.MethodHandleImpl.makePairwiseConvert(MethodHandleImpl.java:265)
at java.base/java.lang.invoke.MethodHandleImpl.makePairwiseConvert(MethodHandleImpl.java:382)
at java.base/java.lang.invoke.MethodHandle.asTypeUncached(MethodHandle.java:905)
at java.base/java.lang.invoke.MethodHandle.asType(MethodHandle.java:870)
at java.base/java.lang.invoke.MethodHandle.asSpreader(MethodHandle.java:1113)
at java.base/java.lang.invoke.MethodHandle.asSpreader(MethodHandle.java:1069)
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:113)
at java.base/jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:200)
at java.base/java.lang.reflect.Constructor.acquireConstructorAccessor(Constructor.java:549)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
at org.openstreetmap.josm.plugins.panoramax.PanoramaxDeserializer.parseObject(PanoramaxDeserializer.java:91)
at org.openstreetmap.josm.plugins.panoramax.PanoramaxDeserializer.parse(PanoramaxDeserializer.java:130)
at org.openstreetmap.josm.plugins.panoramax.PanoramaxDeserializer.lambda$parseImage$0(PanoramaxDeserializer.java:53)
at org.openstreetmap.josm.plugins.panoramax.PanoramaxDeserializer$$Lambda/0x00007fc142cbe668.apply(Unknown Source)
at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:180)
at java.base/java.util.stream.Collectors$$Lambda/0x00007fc1424fd448.accept(Unknown Source)
2026-05-28 05:21:04.474 INFO: GET https://api.openstreetmap.org/api/0.6/user/details (get number of unread messages) -> HTTP/1.1 200 (239 ms; 943 B)
2026-05-28 05:22:32.059 INFO: POST https://josm.openstreetmap.de/josmticket (8.39 kB) ...
2026-05-28 05:22:42.453 INFO: POST https://josm.openstreetmap.de/josmticket -> HTTP/1.1 200 (155 ms)
2026-05-28 05:22:42.489 INFO: Opening URL: https://josm.openstreetmap.de/josmticket?pdata_stored=7773fa9b7322b666556bb84b
2026-05-28 05:22:42.489 WARNING: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
at java.desktop/java.awt.Desktop.checkActionSupport(Desktop.java:381)
at java.desktop/java.awt.Desktop.browse(Desktop.java:531)
at org.openstreetmap.josm.tools.PlatformHookUnixoid.openUrl(PlatformHookUnixoid.java:77)
at org.openstreetmap.josm.tools.OpenBrowser.displayUrl(OpenBrowser.java:41)
at org.openstreetmap.josm.tools.OpenBrowser.displayUrl(OpenBrowser.java:66)
at org.openstreetmap.josm.gui.bugreport.DefaultBugReportSendingHandler.sendingBugReport(DefaultBugReportSendingHandler.java:30)
at org.openstreetmap.josm.tools.bugreport.BugReportSender.run(BugReportSender.java:96)
2026-05-28 05:22:52.472 INFO: exporting notes to file: /home/mnalis/.local/share/JOSM/autosave/Notes_20260528_052252471.osn
Please provide any additional information below. Attach a screenshot if possible.
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-03-28 20:28:41 +0100 (Sat, 28 Mar 2026)
Revision:19555
Build-Date:2026-03-29 01:30:57
URL:https://josm.openstreetmap.de/svn/trunk
Identification: JOSM/1.5 (19555 en) Linux Debian GNU/Linux 13 (trixie)
Memory Usage: 2987 MB / 2987 MB (165 MB allocated, but free)
Java version: 21.0.11+10-1-deb13u2-Debian, Debian, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920x1080x[Multi depth]@60Hz (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
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: ICEWM
Java package: openjdk-21-jre:amd64-21.0.11+10-1~deb13u2
libcommons-logging-java: libcommons-logging-java:all-1.3.0-2
fonts-noto: fonts-noto:all-20201225-2
VM arguments: [-Dsun.java2d.opengl=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]
Dataset consistency test: No problems found
Plugins:
+ DirectUpload (36474)
+ FixAddresses (36474)
+ ImageWayPoint (36474)
+ Mapillary (1819)
+ PicLayer (273)
+ Review.Changes (1.1.1)
+ apache-commons (36474)
+ apache-http (36474)
+ buildings_tools (36474)
+ conflation (279)
+ ejml (36474)
+ geotools (36474)
+ imagery_offset_db (36474)
+ jackson (36474)
+ jaxb (36474)
+ jna (36474)
+ jts (36474)
+ libphonenumber (9.0.31)
+ log4j (36474)
+ mbtiles (v2.8.1)
+ opendata (36474)
+ openqa (116)
+ osmwiki-dataitem (0.0.8)
+ panoramax (8)
+ phonenumber (1.2.0)
+ pmtiles (36474)
+ pt_assistant (682)
+ reverter (36474)
+ todo (159)
+ turnrestrictions (36474)
+ undelete (36474)
+ urbaneye3d (2.2.2)
+ utilsplugin2 (36497)
+ wikipedia (448)
Tagging presets:
+ https://raw.githubusercontent.com/OpenNauticalChart/josm/master/INT-1-preset.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Healthcare&zip=1
+ https://<user.name>.com/prezentacije/OpenStreetMap/josm-preset.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Xmas&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/GuidepostDirectionsAndDestinations&zip=1
+ https://cdn.jsdelivr.net/npm/name-suggestion-index@latest/dist/presets/nsi-josm-presets.min.xml
Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
+ http://bezdomni.net/Styles_HighlightedCapesBays-style.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/ColorWays&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/CyclewaysStylingBNA&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksPlus&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/BuildingColors&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/FixmeAndNote&zip=1
+ ${HOME}/tmp/g/1/openaddresses-HR.mapcss
Validator rules:
+ https://josm.openstreetmap.de/josmfile?page=Rules/KeepRight&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/QAToolInspiredValidations&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/OSMLint&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/MissingWeekdays&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/SourceObjectTag&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/IndoorRules&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/Pictures&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/MissingOpeningHours&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/CheckDate&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/FacebookWebsite&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/DuplicateAttributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/MissingMain&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/OldCovid&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/NotCheck&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/ThisOrThat&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/ChargeRules&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/InvalidWebsiteProtocol&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/AddrFullWarning&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/AddrRelationWarning&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/CountryCodeCheck&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/Geology&zip=1
+ https://raw.githubusercontent.com/stefan-a-bauer/josm-validators/master/mtb.validator.mapcss
+ https://github.com/Jungle-Bus/transport_mapcss/raw/gh-pages/transport.validator.zip
+ https://github.com/open-energy-transition/validate-my-grid/raw/refs/heads/gh-pages/power.validator.zip
+ https://josm.openstreetmap.de/josmfile?page=Rules/PublicTransportGtfs&zip=1
+ https://raw.githubusercontent.com/OpenNauticalChart/josm/master/Seamark.validator.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/UnresolvedFIXMEs&zip=1
Last errors/warnings:
- 25003.015 W: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
- 25020.458 W: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
- 25310.199 W: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
- 25313.394 W: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
- 25352.047 W: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
- 25394.416 W: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
- 25540.564 W: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
- 25779.862 W: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
- 25782.502 W: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
- 26003.801 E: Handled by bug report queue: java.lang.OutOfMemoryError: GC overhead limit exceeded
Attachments (1)
Change History (5)
by , 3 weeks ago
| Attachment: | oom-panoramax.png added |
|---|
comment:1 by , 3 weeks ago
| Description: | modified (diff) |
|---|
comment:2 by , 11 days ago
The OOM should be fixed in v10. The fix will make it so that very long sequences are not fully loaded, and thus are not fully visible. The better fix would be to to memory profiling to figure out where the memory is going, but I don't have the time for that anymore.
comment:3 by , 11 days ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
comment:4 by , 11 days ago
I should note that the sequence in question ( https://api.panoramax.xyz/api/collections/14ea2dff-2d5f-4134-9a9c-0b7ff34d87aa/ ) has 25k items. Which is 250 requests at 100 items/request.



out-of-memory window