Modify

Opened 5 years ago

Closed 5 years ago

#18484 closed defect (fixed)

NPE at SaveLayersTableColumnModel$RecommendedActionsTableCell.getTableCellRendererComponent

Reported by: xangel1@… Owned by: Don-vip
Priority: normal Milestone: 19.12
Component: Core Version: tested
Keywords: template_report layer Cc:

Description

What steps will reproduce the problem?

  1. Выбираем в списке отношений полностью скаченное отношение маршрута
  2. Щёлкаем по отношению правой кнопкой и выбираем Преобразовать в слой GPX, начиная с первого участника
  3. Удаляем созданный слой в списке слоёв

English translation:

  1. Download Public Transport relation
  2. Right click on it and choose Convert to GPX layer
  3. Delete converted layer

What is the expected result?

Появление диалога удаления не сохранённого слоя.

English translation:
Display confirmation dialog of not saved layer

What happens instead?

JOSM полностью подвисает и не реагирует на любые кнопки. Через некоторое время появляется сообщение о сбое, но игнорирование ошибки ничем не помогает.

English translation:
JOSM completely hang and periodicaly show exception error. Ignoring error doesn't solve anything

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: 2019-12-01 23:10:15 +0100 (Sun, 01 Dec 2019)
Build-Date:2019-12-02 02:30:57
Revision:15553
Relative:URL: ^/trunk

Identification: JOSM/1.5 (15553 ru) Linux Gentoo Base System release 2.6
Memory Usage: 956 MB / 1820 MB (337 MB allocated, but free)
Java version: 1.8.0_222-b10, IcedTea, OpenJDK 64-Bit Server VM
Screen: :0.0 1920x1080
Maximum Screen Size: 1920x1080
Java package: icedtea-bin:!!! -e, --exact-name is now default.
!!! Use globbing to simulate the old behavior.
3.13.0
VM arguments: [-Dicedtea-web.bin.name=itweb-javaws, -Dicedtea-web.bin.location=/usr/bin/itweb-javaws, -Dawt.useSystemAAFontSettings=on]
Dataset consistency test: No problems found

Plugins:
+ ColorPlugin (1537115529)
+ Mapillary (1.5.20)
+ OpeningHoursEditor (35242)
+ apache-commons (35092)
+ apache-http (34908)
+ buildings_tools (35171)
+ imagery_offset_db (34908)
+ jaxb (35014)
+ jna (34908)
+ log4j (34908)
+ photo_geotagging (34908)
+ photoadjust (35236)
+ rasterfilters (34908)
+ reverter (35226)
+ routing (35039)
+ tageditor (34977)
+ turnlanes-tagging (281)
+ wikipedia (1.1.3)

Tagging presets:
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/RU.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Addr2&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Surveillance&zip=1
+ https://github.com/kendzi/Simple3dBuildingsPreset/releases/download/0.9_2018-05-08/s3db-preset.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/Community_Centre&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/contact(socialnetworks_IMs)&zip=1
+ https://raw.githubusercontent.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Drinks&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Payment_Method_RU&zip=1
+ https://raw.githubusercontent.com/ruosm-presets/literan-moscow/master/russian_shops.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Light_sources&zip=1

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/NewHighwayColors&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/light_source&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/AdvertisingStyle&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransportV2&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PriorityRoad&zip=1
- https://pasharm.github.io/New_basic_style_for_JOSM/New_basic_style.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Kerbs&zip=1
- https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss
- <josm.userdata>/labeled_building_levels.mapcss
- <josm.userdata>/Styles_Building_validator.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Postcode&zip=1

Validator rules:
+ https://raw.githubusercontent.com/zetx16/Josm-HnumbValidator/master/ru-housenumber.validator.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/OsmoseValidations&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Rules/KeepRight&zip=1

Last errors/warnings:
- E: Handled by bug report queue: java.lang.NullPointerException
- E: Handled by bug report queue: java.lang.NullPointerException
- E: Handled by bug report queue: java.lang.NullPointerException
- E: Handled by bug report queue: java.lang.NullPointerException
- E: Handled by bug report queue: java.lang.NullPointerException
- E: Handled by bug report queue: java.lang.NullPointerException
- E: Handled by bug report queue: java.lang.NullPointerException
- E: Handled by bug report queue: java.lang.NullPointerException
- E: Handled by bug report queue: java.lang.NullPointerException
- E: Handled by bug report queue: java.lang.NullPointerException


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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-1 (33) of JOSM
java.lang.NullPointerException
	at org.openstreetmap.josm.gui.io.SaveLayersTableColumnModel$RecommendedActionsTableCell.getTableCellRendererComponent(SaveLayersTableColumnModel.java:68)
	at javax.swing.JTable.prepareRenderer(JTable.java:5729)
	at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2108)
	at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2010)
	at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1806)
	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent(JComponent.java:771)
	at javax.swing.JComponent.paint(JComponent.java:1047)
	at javax.swing.JComponent.paintChildren(JComponent.java:880)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JViewport.paint(JViewport.java:728)
	at javax.swing.JComponent.paintChildren(JComponent.java:880)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintChildren(JComponent.java:880)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintChildren(JComponent.java:880)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
	at javax.swing.JComponent.paintChildren(JComponent.java:880)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5208)
	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent.paint(JComponent.java:1033)
	at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
	at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
	at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
	at java.awt.Container.paint(Container.java:1978)
	at java.awt.Window.paint(Window.java:3906)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:842)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.openstreetmap.josm.gui.bugreport.BugReportDialog.lambda$showFor$3(BugReportDialog.java:245)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.openstreetmap.josm.gui.io.SaveLayersDialog.saveUnsavedModifications(SaveLayersDialog.java:130)
	at org.openstreetmap.josm.gui.dialogs.layer.DeleteLayerAction.actionPerformed(DeleteLayerAction.java:46)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6539)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3315)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Attachments (1)

screen.png (455.3 KB ) - added by xangel1@… 5 years ago.
Screenshot of not accessible confirmation dialog

Download all attachments as: .zip

Change History (5)

by xangel1@…, 5 years ago

Attachment: screen.png added

Screenshot of not accessible confirmation dialog

comment:1 by xangel1@…, 5 years ago

Обнаружил, что диалог появляется, но не прорисовывается. Если средствами WM изменить размер, то возникает это исключение. Если его проигнорировать, то при проведении курсом по кнопкам они прорисовываются. Также заметил, что исключение появляется только если удалить преобразованный слой. Если удалить слой данных, то диалог появляется нормально и позволяет изменить размер.

English translation:
Discover that dialog is displayed, but not rendered and with exception. If you ignore that exception and mouse over buttons on dialog they rendered and active. If you change size of window by streching border then exception popout. Also that happening only when deleting converted layer. If you delete layer of OSM data then dialog is normally showed and allow streching border.

comment:2 by Don-vip, 5 years ago

Component: Core imageryCore
Keywords: layer added
Summary: Hung when deleting converted gpx-layerNPE at SaveLayersTableColumnModel$RecommendedActionsTableCell.getTableCellRendererComponent

comment:3 by Don-vip, 5 years ago

Milestone: 19.12
Owner: changed from team to Don-vip
Status: newassigned

comment:4 by Don-vip, 5 years ago

Resolution: fixed
Status: assignedclosed

In 15623/josm:

fix #18484 - NPE

Modify Ticket

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