Modify

Opened 5 years ago

Closed 5 years ago

#18474 closed defect (duplicate)

Surveyor plugin in a low memory environment leads to unhandled exception

Reported by: anonymous Owned by: team
Priority: normal Milestone:
Component: Plugin surveyor Version:
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. Was using the LiveGPS and Surveyor plugins on Raspberry Pi Buster with gpsd 3.19-dev.
  2. Enabled LiveGPS auto-center and LiveGPS layer.
  3. Chose Surveyor from the plugin menu.
  4. This is a really low-memory situation, top says 30 MiB free.
  5. JOSM says: "An unexpected exception occurred that may have come from the 'surveyor' plugin."
  6. Click on Update plugin
  7. JOSM says: "JOSM could not find information about the following plugins: livegps surveyor"
  8. JOSM opens the dialog telling me to file this bug.

What is the expected result?

The surveyor plugin should open.

What happens instead?

A dialog telling me to file a bug is opened.

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

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-12-01 23:10:15 +0100 (Sun, 01 Dec 2019)
Revision:15553
Build-Date:2019-12-02 02:30:57
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (15553 en) Linux Raspbian GNU/Linux 10 (buster)
Memory Usage: 224 MB / 224 MB (42 MB allocated, but free)
Java version: 11.0.5+10-post-Raspbian-1deb10u1, Raspbian, OpenJDK Server VM
Screen: :0.0 1920x1080
Maximum Screen Size: 1920x1080
Java package: openjdk-11-jre:armhf-11.0.5+10-1~deb10u1
fonts-noto: fonts-noto:-
Dataset consistency test: No problems found

Plugins:
+ livegps (35248)
+ surveyor (35253)

Last errors/warnings:
- W: livegps.LiveGpsLayer:setCurrentPosition calling WayPoint.put(PT_TIME, ..) is deprecated. Use WayPoint.setTime(..) instead.
- W: livegps.LiveGpsLayer:setCurrentPosition calling WayPoint.put(PT_TIME, ..) is deprecated. Use WayPoint.setTime(..) instead.
- W: livegps.LiveGpsLayer:setCurrentPosition calling WayPoint.put(PT_TIME, ..) is deprecated. Use WayPoint.setTime(..) instead.
- W: livegps.LiveGpsLayer:setCurrentPosition calling WayPoint.put(PT_TIME, ..) is deprecated. Use WayPoint.setTime(..) instead.
- E: Failed to locate image 'styles/standard/vehicle/tunnel.png'
- E: Failed to locate image 'styles/standard/vehicle/tunnel.png'
- E: Failed to locate image 'styles/standard/vehicle/tunnel.png'
- E: Failed to locate image 'styles/standard/vehicle/tunnel.png'
- E: Handled by bug report queue: java.lang.NullPointerException: name
- W: Warning - <html>JOSM could not find information about the following plugins:<ul><li>livegps</li><li>surveyor</li></ul>The plugins are not going to be loaded.</html>


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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (17) of main
java.lang.NullPointerException: name
	at java.base/java.util.Objects.requireNonNull(Objects.java:246)
	at org.openstreetmap.josm.tools.ImageProvider.<init>(ImageProvider.java:333)
	at org.openstreetmap.josm.tools.ImageProvider.getIfAvailable(ImageProvider.java:823)
	at org.openstreetmap.josm.plugins.surveyor.ButtonDescription.createComponent(ButtonDescription.java:177)
	at org.openstreetmap.josm.plugins.surveyor.SurveyorComponent.addButton(SurveyorComponent.java:106)
	at org.openstreetmap.josm.plugins.surveyor.SurveyorShowAction.createComponent(SurveyorShowAction.java:153)
	at org.openstreetmap.josm.plugins.surveyor.SurveyorShowAction.createComponent(SurveyorShowAction.java:119)
	at org.openstreetmap.josm.plugins.surveyor.SurveyorShowAction.actionPerformed(SurveyorShowAction.java:56)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6397)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Attachments (0)

Change History (2)

comment:1 by Don-vip, 5 years ago

Component: CorePlugin surveyor

comment:2 by Don-vip, 5 years ago

Resolution: duplicate
Status: newclosed

Closed as duplicate of #17563.

Modify Ticket

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