Modify

Opened 4 years ago

Closed 13 months ago

Last modified 13 months ago

#19750 closed defect (fixed)

IllegalArgumentException: null primitive in selection

Reported by: gaben Owned by: Biswesh
Priority: normal Milestone:
Component: Plugin pt_assistant Version:
Keywords: template_report Cc: michael2402, floscher, Polyglot

Description (last modified by gaben)

What steps will reproduce the problem?

  1. Download this relation https://www.openstreetmap.org/api/0.6/relation/10975571/110
  2. Download relation members
  3. Run validator
  4. Apply PT assistant auto fix from the validator panel

What is the expected result?

No crash

What happens instead?

A nice exception

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-08-31 22:55:53 +0200 (Mon, 31 Aug 2020)
Build-Date:2020-09-01 01:30:50
Revision:16996
Relative:URL: ^/trunk

Identification: JOSM/1.5 (16996 hu) Windows 10 64-Bit
OS Build number: Windows 10 Pro for Workstations 2004 (19041)
Memory Usage: 1531 MB / 1820 MB (504 MB allocated, but free)
Java version: 1.8.0_261-b12, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920x1200 (scaling 1.0x1.0)
Maximum Screen Size: 1920x1200
Best cursor sizes: 16x16 -> 32x32, 32x32 -> 32x32
VM arguments: [-Djava.security.manager, -Djava.security.policy=file:<java.home>\lib\security\javaws.policy, -DtrustProxy=true, -Djnlpx.home=<java.home>\bin, -Djnlpx.origFilenameArg=%UserProfile%\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\31\583aa85f-29eff323, -Djnlpx.remove=false, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlpx.heapsize=NULL,2048m, -Djnlpx.splashport=49292, -Djnlp.application.href=https://josm.openstreetmap.de/download/josm-latest.jnlp, -Djnlpx.jvm=<java.home>\bin\javaw.exe]
Dataset consistency test: No problems found

Plugins:
+ ImportImagePlugin (35248)
+ OpeningHoursEditor (35414)
+ apache-commons (35524)
+ buildings_tools (35500)
+ continuosDownload (91)
+ ejml (35313)
+ geotools (35169)
+ gridify (1588746833)
+ jaxb (35092)
+ jts (35122)
+ log4j (35092)
+ opendata (35513)
+ pt_assistant (2.1.10-80-g7d9bba3)
+ reverter (35499)
+ tageditor (35258)
+ turnlanes-tagging (283)
+ utilsplugin2 (35487)
+ wikipedia (1.1.4)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Healthcare&zip=1

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface-DataEntry&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1

Last errors/warnings:
- 00034,137 W: Unsupported match type class org.openstreetmap.josm.data.osm.search.SearchCompiler$Any: opening_hours
- 00942,707 E: Handled by bug report queue: java.lang.IllegalArgumentException: null primitive in selection


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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-2 (57) of javawsApplicationThreadGroup
java.lang.IllegalArgumentException: null primitive in selection
	at org.openstreetmap.josm.command.SelectCommand.<init>(SelectCommand.java:38)
	at org.openstreetmap.josm.plugins.pt_assistant.validation.Checker.fixErrorByZooming(Checker.java:150)
	at org.openstreetmap.josm.plugins.pt_assistant.validation.SegmentChecker.fixError(SegmentChecker.java:831)
	at org.openstreetmap.josm.plugins.pt_assistant.validation.PTAssistantValidatorTest.fixError(PTAssistantValidatorTest.java:513)
	at org.openstreetmap.josm.data.validation.TestError.getFix(TestError.java:433)
	at org.openstreetmap.josm.gui.dialogs.ValidatorDialog$FixTask.fixError(ValidatorDialog.java:630)
	at org.openstreetmap.josm.gui.dialogs.ValidatorDialog$FixTask.realRun(ValidatorDialog.java:658)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:94)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:142)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Attachments (1)

josm_19750.xml (177.7 KB ) - added by gaben 13 months ago.

Download all attachments as: .zip

Change History (14)

comment:1 by simon04, 4 years ago

Cc: michael2402 floscher Polyglot added

comment:2 by gaben, 3 years ago

Description: modified (diff)
Version 0, edited 3 years ago by gaben (next)

comment:3 by taylor.smock, 17 months ago

Owner: changed from Biswesh to gaben
Status: newneedinfo

I haven't been able to reproduce. I also haven't been able to figure out why it would happen -- in v2.1.14, the only test error with highlights uses RelationMember#getMember, which cannot be null (the RelationMember constructor checks for that).

comment:4 by gaben, 13 months ago

Reproduced with latest 1ff2e15 (v2.1.15).

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2023-03-14 22:49:24 +0100 (Tue, 14 Mar 2023)
Build-Date:2023-03-15 02:30:57
Revision:18693
Relative:URL: ^/trunk

Identification: JOSM/1.5 (18693 hu) Windows 10 64-Bit
OS Build number: Windows 10 Pro for Workstations 2009 (19045)
Memory Usage: 1089 MB / 7266 MB (501 MB allocated, but free)
Java version: 1.8.0_361-b09, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1200 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1200
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: Cp1250
System property sun.jnu.encoding: Cp1250
Locale info: hu_HU
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djava.security.manager, -Djnlp.application.href=https://josm.openstreetmap.de/download/josm-latest.jnlp, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlp.tk=awt, -Djnlpx.jvm=<java.home>\bin\javaw.exe, -Djnlpx.splashport=56692, -Djnlpx.home=<java.home>\bin, -Djnlpx.remove=false, -Djnlpx.offline=false, -Djnlpx.relaunch=true, -Djnlpx.session.data=%UserProfile%\AppData\Local\Temp\session3537207069579411915, -Djnlpx.heapsize=NULL,NULL, -Djava.security.policy=file:<java.home>\lib\security\javaws.policy, -DtrustProxy=true, -Djnlpx.origFilenameArg=%UserProfile%\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\31\583aa85f-6ec62164]
Dataset consistency test: No problems found

Plugins:
+ AddrInterpolation (36011)
+ FastDraw (36057)
+ OpeningHoursEditor (35924)
+ apache-commons (36034)
+ buildings_tools (36011)
+ continuosDownload (105)
+ ejml (35924)
+ geotools (36028)
+ gridify (1606242219)
+ jackson (36034)
+ jaxb (35952)
+ jts (36004)
+ opendata (36025)
+ pbf (36034)
+ phonenumber (0.16.1)
+ pt_assistant (1ff2e15)
+ reverter (36043)
+ tageditor (36011)
+ turnlanes-tagging (v0.0.5)
+ utilsplugin2 (36011)
+ wikipedia (605)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Healthcare&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface-DataEntry&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/IconTester&zip=1

Last errors/warnings:
- 00005.237 W: Unable to request certificate of https://roottest-ev.pkioverheid.nl
- 00018.013 E: A kép nem található 'bus.png'
- 00380.025 E: null is NOT valid
- 00380.025 E: Reason: cvc-elt.1.a: Cannot find the declaration of element 'osm'.
- 00425.817 E: Handled by bug report queue: java.lang.IllegalArgumentException: null primitive in selection



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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-2 (55) of javawsApplicationThreadGroup
java.lang.IllegalArgumentException: null primitive in selection
	at org.openstreetmap.josm.command.SelectCommand.<init>(SelectCommand.java:39)
	at org.openstreetmap.josm.plugins.pt_assistant.validation.Checker.fixErrorByZooming(Checker.java:150)
	at org.openstreetmap.josm.plugins.pt_assistant.validation.SegmentChecker.fixError(SegmentChecker.java:831)
	at org.openstreetmap.josm.plugins.pt_assistant.validation.PTAssistantValidatorTest.fixError(PTAssistantValidatorTest.java:491)
	at org.openstreetmap.josm.data.validation.TestError.getFix(TestError.java:524)
	at org.openstreetmap.josm.gui.dialogs.ValidatorDialog$FixTask.fixError(ValidatorDialog.java:630)
	at org.openstreetmap.josm.gui.dialogs.ValidatorDialog$FixTask.realRun(ValidatorDialog.java:658)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:94)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:142)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

comment:5 by gaben, 13 months ago

Owner: changed from gaben to Biswesh
Status: needinfonew

comment:6 by taylor.smock, 13 months ago

Can you upload the data that is causing the error?

by gaben, 13 months ago

Attachment: josm_19750.xml added

comment:7 by gaben, 13 months ago

Description: modified (diff)

reproduction steps detailed

comment:8 by taylor.smock, 13 months ago

I think you might have some different settings -- I haven't been able to reproduce. I think I might have found the root cause though.

comment:9 by taylor.smock, 13 months ago

Resolution: fixed
Status: newclosed

I've merged what I believe to be a fix into pt_assistant. I'll see about getting a release done for it today.

comment:10 by gaben, 13 months ago

If you upload the jar, I can test if it's fixed the problem.

comment:11 by taylor.smock, 13 months ago

If you cannot wait ~10 minutes, https://github.com/JOSM/pt_assistant/actions/runs/4428871819 .
If you can wait ~10 minutes, but less than 20, https://github.com/JOSM/pt_assistant/releases (look for v626).

EDIT: If you can wait for the plugin list to update (occurs every 10 minutes, so < 10 minutes), you can update from within the JOSM plugin list.

Last edited 13 months ago by taylor.smock (previous) (diff)

comment:12 by gaben, 13 months ago

Yep, can confirm, the bug is fixed, thanks!

It's nice that the output artefacts are public as well.

Last edited 13 months ago by gaben (previous) (diff)

comment:13 by taylor.smock, 13 months ago

It is kind of nice that they are public. It wasn't a design goal of the workflow -- I just wanted to have something that (a) automatically ran tests, (b) performed some other sanity checks, and (c) could perform automatic releases.

As a bonus, the workflow was specifically designed to be reusable -- I'm converting repositories as I touch them (for non-i18n changes) so that future maintainers don't have to do manual releases on i18n updates. I'm only doing this with my own projects or projects that have no active contributors.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Biswesh.
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.