#18357 closed defect (fixed)
"New layer for untagged images" crashes if there are no tagged images
Reported by: | StephaneP | Owned by: | holgermappt |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Plugin photoadjust | Version: | |
Keywords: | template_report | Cc: |
Description
What steps will reproduce the problem?
- Import an image without geotagging metadata
- right click on the geottaged images layer
- Select "New layer for untagged images"
What is the expected result?
A new layer with only images without geo metadata
What happens instead?
Crash
Please provide any additional information below. Attach a screenshot if possible.
Same behaviour on Windows and Ubuntu
URL:https://josm.openstreetmap.de/svn/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2019-11-24 21:23:35 +0100 (Sun, 24 Nov 2019) Build-Date:2019-11-25 02:31:03 Revision:15541 Relative:URL: ^/trunk Identification: JOSM/1.5 (15541 en) Windows 10 64-Bit OS Build number: Windows 10 Pro 1903 (18362) Memory Usage: 1901 MB / 7223 MB (883 MB allocated, but free) Java version: 1.8.0_191-b12, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM Screen: \Display0 1920x1080, \Display1 2560x1440 Maximum Screen Size: 2560x1440 Plugins: + DirectUpload (35221) + Mapillary (1.5.20) + OpeningHoursEditor (34977) + PicLayer (35104) + PolygonCutOut (v0.7) + apache-commons (35092) + apache-http (34908) + cadastre-fr (35194) + changeset-viewer (22) + continuosDownload (82) + contourmerge (v0.1.5) + ejml (35122) + geotools (35169) + graphview (34977) + imagery-xml-bounds (35100) + indoorhelper (35228) + javafx-windows + jaxb (35014) + jna (34908) + jts (35122) + measurement (35221) + opendata (35179) + photo_geotagging (34908) + photoadjust (35108) + poly (34991) + reverter (35226) + tag2link (35149) + tageditor (34977) + todo (30306) + turnlanes-tagging (281) + turnrestrictions (34977) + undelete (34977) + utilsplugin2 (35230) Tagging presets: + https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/FR.zip Map paint styles: - https://josm.openstreetmap.de/josmfile?page=Styles/RecyclingMaterials&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/MaxspeedIcons&zip=1 - https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss - https://josm.openstreetmap.de/josmfile?page=Styles/Cycleways&zip=1 - http://kolesar.turistautak.hu/osm/opencellid/api/styles/measurements.mapcss - https://josm.openstreetmap.de/josmfile?page=Styles/Lane_features&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Lane_features_ryg&zip=1 + <josm.pref>\styles\sit.mapcss Last errors/warnings: - W: Update plugins - org.openstreetmap.josm.plugins.PluginHandler$UpdatePluginsMessagePanel[,0,0,0x0,invalid,layout=java.awt.GridBagLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] - W: Plugin javafx-windows requires Java version 10. The current Java version is 8. You have to update Java in order to use this plugin. - W: No configuration settings found. Using hardcoded default values for all pools. - E: Error reading EXIF from file: java.lang.StringIndexOutOfBoundsException: String index out of range: 0 - E: java.lang.ClassNotFoundException: controller.IndoorHelperController - E: Handled by bug report queue: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 - E: Handled by bug report queue: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: AWT-EventQueue-0 (18) of main java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) at java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.util.stream.ReferencePipeline.collect(Unknown Source) at org.openstreetmap.josm.data.ImageData.getSelectedImages(ImageData.java:131) at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.imageDataUpdated(ImageViewerDialog.java:626) at org.openstreetmap.josm.data.ImageData.lambda$notifyImageUpdate$4(ImageData.java:323) at org.openstreetmap.josm.tools.ListenerList.fireEvent(ListenerList.java:150) at org.openstreetmap.josm.data.ImageData.notifyImageUpdate(ImageData.java:323) at org.openstreetmap.josm.data.ImageData.removeImage(ImageData.java:296) at org.openstreetmap.josm.plugins.photoadjust.UntaggedGeoImageLayerAction.actionPerformed(UntaggedGeoImageLayerAction.java:56) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.AbstractButton.doClick(Unknown Source) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
Attachments (0)
Change History (7)
comment:1 by , 5 years ago
Status: | new → assigned |
---|---|
Summary: | Crash with "New layer for untagged images" → "New layer for untagged images" crashes if there are no tagged images |
comment:2 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed in [o35236:35237]. Thanks for reporting this! I assume this bug was there since I created the menu entry for the untagged layer.
follow-up: 4 comment:3 by , 5 years ago
No, I've used this feature successfuly a lot of time before this bug.
Did you test your new release with a mix of geotagged and untagged images?
comment:4 by , 5 years ago
Replying to StephaneP:
No, I've used this feature successfuly a lot of time before this bug.
Also with just untagged photos? I didn't debug it further, but according to the bug trace the problem was that the original layer was empty after the untagged photos were moved to the new layer. Anyway, I consider it a bug to end up with an empty layer, and that was always the case.
Did you test your new release with a mix of geotagged and untagged images?
Sure, I tested with all three combinations: Just tagged (menu inactive), just untagged (menu inactive), tagged and untagged (menu active).
follow-up: 6 comment:5 by , 5 years ago
Hmm sorry, it's possible this bug was there since a long time.
I probably mixed up things when I saw this bug because I was searching why I could not place an untagged image. I didn't know the shortcut modification from shift to ctrl+alt.
BTW: Let's say you have an image layer with only untagged image, and the image window closed. It's difficult for a beginner to know that he must right click the image layer and click on jump to next/previous marker to view an image and be able to place it with ctrl+alt.
I create another ticket for this if you want.
comment:6 by , 5 years ago
Replying to StephaneP:
BTW: Let's say you have an image layer with only untagged image, and the image window closed. It's difficult for a beginner to know that he must right click the image layer and click on jump to next/previous marker to view an image and be able to place it with ctrl+alt.
I create another ticket for this if you want.
That would be a new ticket for the Core image mapping component. Do you have an idea how this could be handled in a more intuitive way? The image viewer can also be opened (and closed) with the camera icon on the left in the edit toolbar, which has the keyboard shortcut y.
comment:7 by , 5 years ago
I don't have any idea yet.
If you import a folder containing 2 images, one tagged and one untagged, then create a "new layer for untagged images", the image viewer doesn't help. You have to right click the untagged images layer and click on jump to next/previous marker.
I will create a new ticket.
Thank you!
I can reproduce the crash. It also happens if there are many untagged images.
If there are no tagged images then the menu should not be available.