Modify

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#6818 closed defect (fixed)

IllegalArgumentException when scaling roundabout, moving way or joining nodes (WAS: error when scaling roundabout)

Reported by: anonymous Owned by: xeen
Priority: major Milestone:
Component: Core Version:
Keywords: Illegal Argument Exception Cc: dieterdreist

Description (last modified by kolen)

text reported by JOSM is:

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2011-09-05 01:31:49
Last Changed Author: bastiK
Revision: 4399
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2011-09-04 22:13:51 +0200 (Sun, 04 Sep 2011)
Last Changed Rev: 4399

Identification: JOSM/1.5 (4399 es)
Memory Usage: 829 MB / 1019 MB (242 MB allocated, but free)
Java version: 1.6.0_26, Apple Inc., Java HotSpot(TM) 64-Bit Server VM
Operating system: Mac OS X
Dataset consistency test: No problems found

Plugin: FixAddresses (26606)
Plugin: contourmerge (1003)
Plugin: routing (26606)
Plugin: turnrestrictions (26606)
Plugin: utilsplugin2 (26624)

java.lang.IllegalArgumentException: No enum const class org.openstreetmap.josm.actions.mapmode.SelectAction$SelectActionCursor.move_to_node
	at java.lang.Enum.valueOf(Enum.java:196)
	at org.openstreetmap.josm.actions.mapmode.SelectAction$SelectActionCursor.valueOf(SelectAction.java:72)
	at org.openstreetmap.josm.actions.mapmode.SelectAction.getCursor(SelectAction.java:232)
	at org.openstreetmap.josm.actions.mapmode.SelectAction.giveUserFeedback(SelectAction.java:298)
	at org.openstreetmap.josm.actions.mapmode.SelectAction.giveUserFeedback(SelectAction.java:263)
	at org.openstreetmap.josm.actions.mapmode.SelectAction.mouseMoved(SelectAction.java:481)
	at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:313)
	at java.awt.Component.processMouseMotionEvent(Component.java:6418)
	at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3285)
	at java.awt.Component.processEvent(Component.java:6142)
	at java.awt.Container.processEvent(Container.java:2085)
	at java.awt.Component.dispatchEventImpl(Component.java:4735)
	at java.awt.Container.dispatchEventImpl(Container.java:2143)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4295)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
	at java.awt.Container.dispatchEventImpl(Container.java:2129)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
	at java.awt.EventQueue.access$000(EventQueue.java:85)
	at java.awt.EventQueue$1.run(EventQueue.java:638)
	at java.awt.EventQueue$1.run(EventQueue.java:636)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:652)
	at java.awt.EventQueue$2.run(EventQueue.java:650)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Attachments (2)

debug.log (76.1 KB ) - added by flaimo 13 years ago.
Logfile
stop-the-duplicates.patch (606 bytes ) - added by xeen 13 years ago.
suggested patch

Download all attachments as: .zip

Change History (23)

comment:1 by kolen, 13 years ago

I got the same exception, when trying to join node to line ("j" hotkey).

Backtrace and info: https://gist.github.com/1208686 (very similar to that in ticket)

How to reproduce:

  • Select node positioned close to some line (create it if necessarry)
  • Move this node by dragging with left mouse button
  • While not releasing left mouse button and continuing dragging, press "j" on keyboard (join line to way) (node must be close to way during dragging for successfull join operation)

Occurs each time for me (josm v.4399)

Also, occurs sometimes by executing other actions (not only join line to way, for example pressing 'p' and drawing line, after it this exception raises too).

comment:2 by kolen, 13 years ago

Description: modified (diff)

Made text in ticket preformatted

comment:3 by anonymous, 13 years ago

Ticket #6828 has been marked as a duplicate of this ticket.

comment:4 by stoecker, 13 years ago

Ticket #6837 has been marked as a duplicate of this ticket.

comment:5 by stoecker, 13 years ago

Owner: changed from team to xeen

comment:6 by stoecker, 13 years ago

Priority: normalmajor

comment:7 by skyper, 13 years ago

Keywords: Illegal Argument Exception added
Summary: error when scaling roundaboutIllegalArgumentException when scaling roundabout, moving way or joining nodes (WAS: error when scaling roundabout)

updated summary, hope this helps reducing the number of duplicates

comment:8 by xeen, 13 years ago

Does this still happen in latest because I am unable to reproduce this issue?

comment:9 by flaimo, 13 years ago

at least with 4419 i still get this error. see http://josm.openstreetmap.de/ticket/6837#comment:1

comment:10 by xeen, 13 years ago

Could this be a OS X specific problem, as I’m still unable to reproduce it on my Linux machine. Do you have, by chance, a windows or linux you could boot up and try? In any case I’d be glad about more detailed steps to reproduce the issue, maybe I’m missing something.

The trace hints that a cursor isn’t found, i.e. the generated cursor name could be wrong. Looking at the code, it seems fine though. Can you try what I suggested above? If this fails, you’ll provide a debug build to print out the cursor name, so we can see if this is the issue or if I need to look somewhere else.

comment:11 by flaimo, 13 years ago

i can't gibe you a reproducible scenario, but it happens when i try to move nodes of a way or rotate elements. if you could provide a debug build i could try it again. if there is a way to turn of the new cursor/highlighting feature, i could also see if that might be the reason.

in reply to:  10 comment:12 by skyper, 13 years ago

Replying to xeen:

Could this be a OS X specific problem, as I’m still unable to reproduce it on my Linux machine. Do you have, by chance, a windows or linux you could boot up and try? In any case I’d be glad about more detailed steps to reproduce the issue, maybe I’m missing something.

#6842 is about linux and r4419. #6828, #6838 and #6839 are about Windows XP and r4399. All with Sun Java

I neither can reproduce it with Linux and openjdk.

comment:13 by xeen, 13 years ago

Yeah, I tried if it was a sun-java/openjdk issue, but I can’t reproduce it on either.

Flaimo: You have OS X which comes with a Bash, so this should work. Open a Terminal and run the following command:

java -jar josm-debug.jar &> debug.log 

If the error occurs, simply hit CTRL+C in the Terminal Window, it should close JOSM. Otherwise the log will be filled with numerous mouse events. You might want to zip the file before upload, depending on its size.

If someone could tell me how to cc people; I would like to add dieterdreist. He has Linux, so capturing the debug output should be as easy.

in reply to:  13 comment:14 by skyper, 13 years ago

Cc: dieterdreist added

Replying to xeen:

Yeah, I tried if it was a sun-java/openjdk issue, but I can’t reproduce it on either.

Flaimo: You have OS X which comes with a Bash, so this should work. Open a Terminal and run the following command:

java -jar josm-debug.jar &> debug.log 

If the error occurs, simply hit CTRL+C in the Terminal Window, it should close JOSM. Otherwise the log will be filled with numerous mouse events. You might want to zip the file before upload, depending on its size.

If someone could tell me how to cc people; I would like to add dieterdreist. He has Linux, so capturing the debug output should be as easy.

Under "modify ticket" you can add CC: . It has to be a JOSM-Trac user or an emailaddress and you have to be login in ! I'll add dieterdreist.

comment:15 by xeen, 13 years ago

Just place the josm-debug.jar in a folder and use "cd some/folder/name" to change to it. You can type "cd " and hit the TAB key to get a list of suggestions. The link to the debug build is:

http://mathphys.fsk.uni-heidelberg.de/~stefan/josm-debug.jar

The debug.log file will be created in the same folder as the josm-debug.jar

skyper: thanks for the "have to be logged in" hint, I was missing that.

by flaimo, 13 years ago

Attachment: debug.log added

Logfile

comment:16 by flaimo, 13 years ago

didn't take long to produce an error. downloaded the area around this supermarket and started to move/rotate one of the parking lots: http://osm.org/go/0JhMDgd@3--

comment:17 by xeen, 13 years ago

Thanks for your effort, I believe I found the error (and such a stupid one!). Could you try the new debug build (same link) and see if this error still occurs?

by xeen, 13 years ago

Attachment: stop-the-duplicates.patch added

suggested patch

comment:18 by flaimo, 13 years ago

since there isn't a 100% reproducible scenario it will be hard to really test it thoroughly, but the couple of resizing/rotating steps i tried before seem work now without an error.

comment:19 by xeen, 13 years ago

Resolution: fixed
Status: newclosed

In [4441/josm]:

fix exception related to new highlighting feature (fixes #6818, duplicates: #6828, #6837, #6838, #6842)

comment:20 by xeen, 13 years ago

In any case, it does seem to reduce the amount of times the error is caused. If it happens again, would you reopen this ticket?

comment:21 by flaimo, 13 years ago

ok

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain xeen.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.