Modify

Opened 9 months ago

Last modified 3 months ago

#19535 needinfo defect

Crash when reloading in the relation editor

Reported by: josm@… Owned by: josm@…
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report relation editor refresh Cc:

Description

What steps will reproduce the problem?

If there is a discrepancy between the current state of data layer and the previously open relation editor, JOSM will warn about it, when you try to do something in the relation editor. The crash happens if you press the "Reload" button in the relation editor afterwards. The crash is not always reproducible, but is pretty consistent.

What is the expected result?

"Reload" works.

What happens instead?

Crash.

Please provide any additional information below. Attach a screenshot if possible.

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-06-30 19:13:42 +0200 (Tue, 30 Jun 2020)
Build-Date:2020-07-01 01:30:51
Revision:16731
Relative:URL: ^/trunk

Identification: JOSM/1.5 (16731 en) Windows 10 64-Bit
OS Build number: Windows 10 Home 1903 (18362)
Memory Usage: 985 MB / 989 MB (600 MB allocated, but free)
Java version: 1.8.0_211-b12, Oracle Corporation, Java HotSpot(TM) Client VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920x1080 (scaling 1.0x1.0), \Display1 1920x1080 (scaling 1.0x1.0)
Maximum Screen Size: 1920x1080
Best cursor sizes: 16x16 -> 32x32, 32x32 -> 32x32
Dataset consistency test: No problems found

Plugins:
+ imagery_offset_db (35405)
+ reltoolbox (35405)
+ turnrestrictions (35405)

Map paint styles:
+ https://github.com/igitov/forest-josm-style/archive/master.zip

Last errors/warnings:
- W: Region [TMS_BLOCK_v2] : Problem verifying disk.
- W: Conflict in data - <html>This relation has been changed outside of the editor.<br>You cannot apply your changes and continue editing.<br><br>Do you want to create a conflict and close the editor?</html>
- W: Unsaved changes - <html>You have unsaved changes in this editor window.<br><br>Do you want to discard these changes and reload data from layer?</html>
- E: Handled by bug report queue: java.lang.IndexOutOfBoundsException: Index: 73, Size: 73
- E: Handled by bug report queue: java.lang.IndexOutOfBoundsException: Index: 73, Size: 73


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (16) of main
java.lang.IndexOutOfBoundsException: Index: 73, Size: 73
	at java.util.ArrayList.rangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at java.util.stream.IntPipeline$4$1.accept(Unknown Source)
	at java.util.Spliterators$IntArraySpliterator.forEachRemaining(Unknown Source)
	at java.util.Spliterator$OfInt.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.gui.dialogs.relation.MemberTableModel.getSelectedMembers(MemberTableModel.java:515)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.selectionChanged(MemberTableModel.java:123)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager$DataListenerInfo.fire(SelectionEventManager.java:57)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager.fireEvent(SelectionEventManager.java:159)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager.selectionChanged(SelectionEventManager.java:148)
	at org.openstreetmap.josm.data.osm.DataSet.lambda$doSelectionChange$13(DataSet.java:728)
	at org.openstreetmap.josm.tools.ListenerList.fireEvent(ListenerList.java:156)
	at org.openstreetmap.josm.data.osm.DataSet.doSelectionChange(DataSet.java:728)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:659)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:650)
	at org.openstreetmap.josm.actions.mapmode.SelectAction.selectPrims(SelectAction.java:977)
	at org.openstreetmap.josm.actions.mapmode.SelectAction.selectionEnded(SelectAction.java:637)
	at org.openstreetmap.josm.gui.SelectionManager.selectingDone(SelectionManager.java:343)
	at org.openstreetmap.josm.gui.SelectionManager.endSelecting(SelectionManager.java:257)
	at org.openstreetmap.josm.actions.mapmode.SelectAction.mouseReleased(SelectAction.java:584)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.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 (1)

josm_crash.png (294.8 KB) - added by anonymous 9 months ago.

Download all attachments as: .zip

Change History (5)

Changed 9 months ago by anonymous

Attachment: josm_crash.png added

comment:1 Changed 9 months ago by skyper

Keywords: relation editor refresh added

Same or similar to #19055

comment:2 Changed 8 months ago by anonymous

Still reproducible in 16812.

comment:3 Changed 5 months ago by GerdP

I hope this was fixed. See #19055 and #19913

comment:4 Changed 3 months ago by skyper

Owner: changed from team to josm@…
Status: newneedinfo

@josm@:
Are you still able to reproduce it? Please, attach a small example file.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as needinfo The owner will remain josm@….
as The resolution will be set.
to The owner will be changed from josm@… to the specified user.
to The owner will be changed from josm@… to the specified user.
as duplicate The resolution will be set to duplicate.The specified ticket will be cross-referenced with this ticket
The owner will be changed from josm@… to anonymous.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.