Modify

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#20332 closed defect (fixed)

Ubuntu packages does not declare all required dependencies

Reported by: mdk Owned by: mdk
Priority: normal Milestone: 21.02
Component: Ubuntu package Version:
Keywords: template_report linux font Cc:

Description

What steps will reproduce the problem?

  1. Try to upload data
  2. Validator dialog is show - press "continue upload"

What is the expected result?

The upload dialog is shown.

What happens instead?

NPE.

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

This happens when I work with a fresh JOSM instance. After I press "ignore this error", I could upload the data in a second try.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-12-30 11:52:34 +0100 (Wed, 30 Dec 2020)
Revision:17429
Build-Date:2020-12-31 02:30:51
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (17429 en) Linux Ubuntu 20.10
Memory Usage: 1204 MB / 1980 MB (779 MB allocated, but free)
Java version: 14.0.2+12-Ubuntu-1, Private Build, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 3840×2160 (scaling 2.00×2.00)
Maximum Screen Size: 3840×2160
Best cursor sizes: 16×16→16×16, 32×32→32×32
Desktop environment: ubuntu:GNOME
Java ATK Wrapper package: libatk-wrapper-java:all-0.38.0-1
Environment variable LANG: de_CH.UTF-8
libcommons-compress-java: libcommons-compress-java:all-1.20-1
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:-
VM arguments: [--add-modules=java.scripting,java.sql, -Djosm.restart=true, -Djosm.dir.name=JOSM-latest, -Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ FastDraw (35640)
+ HouseNumberTaggingTool (35640)
+ OpeningHoursEditor (35640)
+ RoadSigns (35640)
+ SimplifyArea (35640)
+ buildings_tools (35669)
+ contourmerge (v0.1.6)
+ imagery-xml-bounds (35640)
+ imagery_offset_db (35640)
+ pbf (35650)
+ poly (35640)
+ public_transport (35640)
+ reltoolbox (35640)
+ reverter (35640)
+ terracer (35640)
+ turnrestrictions (35640)
+ utilsplugin2 (35674)
+ wikipedia (1.1.4)

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

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&style&zip=1

Last errors/warnings:
- 07349.227 W: No Wikidata ID found for: Vatovavy Fitovinany
- 07396.121 W: No Wikidata ID found for: Vatovavy Fitovinany
- 07434.046 W: No Wikidata ID found for: Vatovavy Fitovinany
- 07789.279 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-0 (20) of main
java.lang.NullPointerException
	at java.desktop/sun.font.SunFontManager.findFont2D(SunFontManager.java:1943)
	at java.desktop/sun.font.SunFontManager.getDefaultPhysicalFont(SunFontManager.java:1085)
	at java.desktop/sun.font.SunFontManager.findFont2D(SunFontManager.java:2269)
	at java.desktop/sun.font.CompositeFont.doDeferredInitialisation(CompositeFont.java:305)
	at java.desktop/sun.font.CompositeFont.getSlotFont(CompositeFont.java:376)
	at java.desktop/sun.font.CompositeGlyphMapper.getSlotMapper(CompositeGlyphMapper.java:114)
	at java.desktop/sun.font.CompositeGlyphMapper.convertToGlyph(CompositeGlyphMapper.java:124)
	at java.desktop/sun.font.CompositeGlyphMapper.charToGlyph(CompositeGlyphMapper.java:162)
	at java.desktop/sun.font.CompositeStrike.getCodePointAdvance(CompositeStrike.java:160)
	at java.desktop/sun.font.FontDesignMetrics.handleCharWidth(FontDesignMetrics.java:413)
	at java.desktop/sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:510)
	at java.desktop/sun.swing.SwingUtilities2.getFontCharsWidth(SwingUtilities2.java:962)
	at java.desktop/javax.swing.text.Utilities.getTabbedTextWidth(Utilities.java:360)
	at java.desktop/javax.swing.text.Utilities.getTabbedTextWidth(Utilities.java:282)
	at java.desktop/javax.swing.text.GlyphPainter1.getSpan(GlyphPainter1.java:63)
	at java.desktop/javax.swing.text.GlyphView.getPreferredSpan(GlyphView.java:585)
	at java.desktop/javax.swing.text.FlowView$LogicalView.getPreferredSpan(FlowView.java:748)
	at java.desktop/javax.swing.text.FlowView.calculateMinorAxisRequirements(FlowView.java:241)
	at java.desktop/javax.swing.text.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:710)
	at java.desktop/javax.swing.text.html.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:162)
	at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
	at java.desktop/javax.swing.text.BoxView.getMinimumSpan(BoxView.java:569)
	at java.desktop/javax.swing.text.html.ParagraphView.getMinimumSpan(ParagraphView.java:275)
	at java.desktop/javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:904)
	at java.desktop/javax.swing.text.html.BlockView.calculateMinorAxisRequirements(BlockView.java:146)
	at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
	at java.desktop/javax.swing.text.BoxView.getMinimumSpan(BoxView.java:569)
	at java.desktop/javax.swing.text.html.BlockView.getMinimumSpan(BlockView.java:378)
	at java.desktop/javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:904)
	at java.desktop/javax.swing.text.html.BlockView.calculateMinorAxisRequirements(BlockView.java:146)
	at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
	at java.desktop/javax.swing.text.BoxView.getPreferredSpan(BoxView.java:546)
	at java.desktop/javax.swing.text.html.BlockView.getPreferredSpan(BlockView.java:362)
	at java.desktop/javax.swing.plaf.basic.BasicHTML$Renderer.<init>(BasicHTML.java:425)
	at java.desktop/javax.swing.plaf.basic.BasicHTML.createHTMLView(BasicHTML.java:72)
	at java.desktop/javax.swing.plaf.basic.BasicHTML.updateRenderer(BasicHTML.java:219)
	at java.desktop/javax.swing.plaf.basic.BasicLabelUI.propertyChange(BasicLabelUI.java:487)
	at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:341)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:333)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:266)
	at java.desktop/java.awt.Component.firePropertyChange(Component.java:8732)
	at java.desktop/javax.swing.JLabel.setText(JLabel.java:323)
	at org.openstreetmap.josm.gui.io.UploadTextComponentValidator.feedbackValid(UploadTextComponentValidator.java:38)
	at org.openstreetmap.josm.gui.io.UploadTextComponentValidator$UploadCommentValidator.validate(UploadTextComponentValidator.java:101)
	at org.openstreetmap.josm.gui.widgets.AbstractTextComponentValidator.insertUpdate(AbstractTextComponentValidator.java:201)
	at java.desktop/javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:203)
	at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:757)
	at java.desktop/javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:716)
	at java.desktop/javax.swing.text.PlainDocument.insertString(PlainDocument.java:131)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox$AutoCompletingComboBoxDocument.insertString(AutoCompletingComboBox.java:118)
	at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:675)
	at java.desktop/javax.swing.text.JTextComponent.setText(JTextComponent.java:1729)
	at java.desktop/javax.swing.plaf.metal.MetalComboBoxEditor$1.setText(MetalComboBoxEditor.java:65)
	at java.desktop/javax.swing.plaf.basic.BasicComboBoxEditor.setItem(BasicComboBoxEditor.java:93)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox.configureEditor(AutoCompletingComboBox.java:253)
	at java.desktop/javax.swing.plaf.basic.BasicComboBoxUI$Handler.contentsChanged(BasicComboBoxUI.java:1928)
	at java.desktop/javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:123)
	at java.desktop/javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:94)
	at org.openstreetmap.josm.gui.widgets.ComboBoxHistory.addElement(ComboBoxHistory.java:62)
	at org.openstreetmap.josm.gui.widgets.ComboBoxHistory.addElement(ComboBoxHistory.java:16)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox.setPossibleItems(AutoCompletingComboBox.java:308)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox.setPossibleItemsTopDown(AutoCompletingComboBox.java:323)
	at org.openstreetmap.josm.gui.io.BasicUploadSettingsPanel.populateHistoryComboBox(BasicUploadSettingsPanel.java:179)
	at org.openstreetmap.josm.gui.io.BasicUploadSettingsPanel.buildUploadCommentPanel(BasicUploadSettingsPanel.java:95)
	at org.openstreetmap.josm.gui.io.BasicUploadSettingsPanel.build(BasicUploadSettingsPanel.java:211)
	at org.openstreetmap.josm.gui.io.BasicUploadSettingsPanel.<init>(BasicUploadSettingsPanel.java:242)
	at org.openstreetmap.josm.gui.io.UploadDialog.buildContentPanel(UploadDialog.java:140)
	at org.openstreetmap.josm.gui.io.UploadDialog.build(UploadDialog.java:196)
	at org.openstreetmap.josm.gui.io.UploadDialog.<init>(UploadDialog.java:103)
	at org.openstreetmap.josm.gui.io.UploadDialog.getUploadDialog(UploadDialog.java:114)
	at org.openstreetmap.josm.actions.UploadAction.uploadData(UploadAction.java:241)
	at org.openstreetmap.josm.actions.UploadAction.actionPerformed(UploadAction.java:292)
	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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6636)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6401)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5012)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4919)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4548)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4489)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2764)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
	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(AccessController.java:391)
	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(AccessController.java:391)
	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 (16)

in reply to:  description comment:1 by Don-vip, 3 years ago

Owner: changed from team to mdk
Status: newneedinfo

Replying to mdk:

Java version: 14.0.2+12-Ubuntu-1, Private Build, OpenJDK 64-Bit Server VM

Java 14 is no longer supported, please update to Java 15 to see if it fixes the issue.

comment:2 by mdk, 3 years ago

Also happens with Java 15.

Java 15 has more details for NPE: Cannot invoke "String.toLowerCase(java.util.Locale)" because "name" is null

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-01-06 16:47:43 +0100 (Wed, 06 Jan 2021)
Revision:17446
Build-Date:2021-01-07 02:30:51
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (17446 en) Linux Ubuntu 20.10
Memory Usage: 1255 MB / 1980 MB (460 MB allocated, but free)
Java version: 15+36-Ubuntu-1, Private Build, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 3840×2160 (scaling 2.00×2.00)
Maximum Screen Size: 3840×2160
Best cursor sizes: 16×16→16×16, 32×32→32×32
Desktop environment: ubuntu:GNOME
Java ATK Wrapper package: libatk-wrapper-java:all-0.38.0-1
Environment variable LANG: de_CH.UTF-8
libcommons-compress-java: libcommons-compress-java:all-1.20-1
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:-
VM arguments: [--add-modules=java.scripting,java.sql, -Djosm.restart=true, -Djosm.dir.name=JOSM-latest, -Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ FastDraw (35640)
+ HouseNumberTaggingTool (35640)
+ OpeningHoursEditor (35640)
+ RoadSigns (35640)
+ SimplifyArea (35640)
+ buildings_tools (35669)
+ contourmerge (v0.1.6)
+ imagery-xml-bounds (35640)
+ imagery_offset_db (35640)
+ pbf (35650)
+ poly (35640)
+ public_transport (35640)
+ reltoolbox (35640)
+ reverter (35640)
+ terracer (35640)
+ turnrestrictions (35640)
+ utilsplugin2 (35674)
+ wikipedia (1.1.4)

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

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&style&zip=1

Last errors/warnings:
- 00068.408 E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm>
- 00068.422 E: Bad Request - <html>The OSM server 'api.openstreetmap.org' reported a bad request.<br><br>The area you tried to download is too big or your request was too large.<br>Either request a smaller area or use an export file provided by the OSM community.</html>
- 05594.485 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "String.toLowerCase(java.util.Locale)" because "name" is null



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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (20) of main
java.lang.NullPointerException: Cannot invoke "String.toLowerCase(java.util.Locale)" because "name" is null
	at java.desktop/sun.font.SunFontManager.findFont2D(SunFontManager.java:1891)
	at java.desktop/sun.font.SunFontManager.getDefaultPhysicalFont(SunFontManager.java:1036)
	at java.desktop/sun.font.SunFontManager.findFont2D(SunFontManager.java:2190)
	at java.desktop/sun.font.CompositeFont.doDeferredInitialisation(CompositeFont.java:305)
	at java.desktop/sun.font.CompositeFont.getSlotFont(CompositeFont.java:376)
	at java.desktop/sun.font.CompositeGlyphMapper.getSlotMapper(CompositeGlyphMapper.java:114)
	at java.desktop/sun.font.CompositeGlyphMapper.convertToGlyph(CompositeGlyphMapper.java:124)
	at java.desktop/sun.font.CompositeGlyphMapper.charToGlyph(CompositeGlyphMapper.java:162)
	at java.desktop/sun.font.CompositeStrike.getCodePointAdvance(CompositeStrike.java:160)
	at java.desktop/sun.font.FontDesignMetrics.handleCharWidth(FontDesignMetrics.java:413)
	at java.desktop/sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:510)
	at java.desktop/sun.swing.SwingUtilities2.getFontCharsWidth(SwingUtilities2.java:962)
	at java.desktop/javax.swing.text.Utilities.getTabbedTextWidth(Utilities.java:360)
	at java.desktop/javax.swing.text.Utilities.getTabbedTextWidth(Utilities.java:282)
	at java.desktop/javax.swing.text.GlyphPainter1.getSpan(GlyphPainter1.java:63)
	at java.desktop/javax.swing.text.GlyphView.getPreferredSpan(GlyphView.java:585)
	at java.desktop/javax.swing.text.FlowView$LogicalView.getPreferredSpan(FlowView.java:748)
	at java.desktop/javax.swing.text.FlowView.calculateMinorAxisRequirements(FlowView.java:241)
	at java.desktop/javax.swing.text.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:710)
	at java.desktop/javax.swing.text.html.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:162)
	at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
	at java.desktop/javax.swing.text.BoxView.getMinimumSpan(BoxView.java:569)
	at java.desktop/javax.swing.text.html.ParagraphView.getMinimumSpan(ParagraphView.java:275)
	at java.desktop/javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:904)
	at java.desktop/javax.swing.text.html.BlockView.calculateMinorAxisRequirements(BlockView.java:146)
	at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
	at java.desktop/javax.swing.text.BoxView.getMinimumSpan(BoxView.java:569)
	at java.desktop/javax.swing.text.html.BlockView.getMinimumSpan(BlockView.java:378)
	at java.desktop/javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:904)
	at java.desktop/javax.swing.text.html.BlockView.calculateMinorAxisRequirements(BlockView.java:146)
	at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
	at java.desktop/javax.swing.text.BoxView.getPreferredSpan(BoxView.java:546)
	at java.desktop/javax.swing.text.html.BlockView.getPreferredSpan(BlockView.java:362)
	at java.desktop/javax.swing.plaf.basic.BasicHTML$Renderer.<init>(BasicHTML.java:425)
	at java.desktop/javax.swing.plaf.basic.BasicHTML.createHTMLView(BasicHTML.java:72)
	at java.desktop/javax.swing.plaf.basic.BasicHTML.updateRenderer(BasicHTML.java:219)
	at java.desktop/javax.swing.plaf.basic.BasicLabelUI.propertyChange(BasicLabelUI.java:487)
	at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:341)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:333)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:266)
	at java.desktop/java.awt.Component.firePropertyChange(Component.java:8710)
	at java.desktop/javax.swing.JLabel.setText(JLabel.java:323)
	at org.openstreetmap.josm.gui.io.UploadTextComponentValidator.feedbackValid(UploadTextComponentValidator.java:38)
	at org.openstreetmap.josm.gui.io.UploadTextComponentValidator$UploadCommentValidator.validate(UploadTextComponentValidator.java:101)
	at org.openstreetmap.josm.gui.widgets.AbstractTextComponentValidator.insertUpdate(AbstractTextComponentValidator.java:201)
	at java.desktop/javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:203)
	at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:757)
	at java.desktop/javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:716)
	at java.desktop/javax.swing.text.PlainDocument.insertString(PlainDocument.java:131)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox$AutoCompletingComboBoxDocument.insertString(AutoCompletingComboBox.java:118)
	at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:675)
	at java.desktop/javax.swing.text.JTextComponent.setText(JTextComponent.java:1729)
	at java.desktop/javax.swing.plaf.metal.MetalComboBoxEditor$1.setText(MetalComboBoxEditor.java:65)
	at java.desktop/javax.swing.plaf.basic.BasicComboBoxEditor.setItem(BasicComboBoxEditor.java:93)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox.configureEditor(AutoCompletingComboBox.java:253)
	at java.desktop/javax.swing.plaf.basic.BasicComboBoxUI$Handler.contentsChanged(BasicComboBoxUI.java:1940)
	at java.desktop/javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:123)
	at java.desktop/javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:94)
	at org.openstreetmap.josm.gui.widgets.ComboBoxHistory.addElement(ComboBoxHistory.java:62)
	at org.openstreetmap.josm.gui.widgets.ComboBoxHistory.addElement(ComboBoxHistory.java:16)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox.setPossibleItems(AutoCompletingComboBox.java:308)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox.setPossibleItemsTopDown(AutoCompletingComboBox.java:323)
	at org.openstreetmap.josm.gui.io.BasicUploadSettingsPanel.populateHistoryComboBox(BasicUploadSettingsPanel.java:179)
	at org.openstreetmap.josm.gui.io.BasicUploadSettingsPanel.buildUploadCommentPanel(BasicUploadSettingsPanel.java:95)
	at org.openstreetmap.josm.gui.io.BasicUploadSettingsPanel.build(BasicUploadSettingsPanel.java:211)
	at org.openstreetmap.josm.gui.io.BasicUploadSettingsPanel.<init>(BasicUploadSettingsPanel.java:242)
	at org.openstreetmap.josm.gui.io.UploadDialog.buildContentPanel(UploadDialog.java:140)
	at org.openstreetmap.josm.gui.io.UploadDialog.build(UploadDialog.java:196)
	at org.openstreetmap.josm.gui.io.UploadDialog.<init>(UploadDialog.java:103)
	at org.openstreetmap.josm.gui.io.UploadDialog.getUploadDialog(UploadDialog.java:114)
	at org.openstreetmap.josm.actions.UploadAction.uploadData(UploadAction.java:241)
	at org.openstreetmap.josm.actions.UploadAction.actionPerformed(UploadAction.java:292)
	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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6614)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6379)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4990)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4919)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4548)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4489)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2769)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
	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(AccessController.java:391)
	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(AccessController.java:391)
	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)

comment:3 by mdk, 3 years ago

The reason could be a missing font. My installation is old and I recently cleanup old packages using Synaptic "installed (auto removal)".

comment:4 by Don-vip, 3 years ago

Keywords: linux font added
Summary: NPE when try to upload dataNPE with missing fonts on Linux

Yes, Java fails to locate its default font. Nothing we can do from JOSM.

comment:5 by mdk, 3 years ago

Is there any hint which font is missing? Or which packages must be installed in Ubuntu?

comment:6 by Don-vip, 3 years ago

Difficult to tell without debugging. Do you have the possibility to launch JOSM from a Java debugger and set a breakpoint at inside SunFontManager.getDefaultPhysicalFont?

Version 0, edited 3 years ago by Don-vip (next)

in reply to:  description comment:7 by skyper, 3 years ago

Replying to mdk:

fonts-noto: fonts-noto:-

How about this font. Does installing help.

comment:8 by mdk, 3 years ago

I already get some noto fonts installed.
I now installed the fonts-noto meta package which add
fonts-noto-cjk-extra (1:20190410+repack1-2)
fonts-noto-core (20200323-1build1)
fonts-noto-extra (20200323-1build1)
fonts-noto-ui-core (20200323-1build1)
fonts-noto-ui-extra (20200323-1build1)
fonts-noto-unhinted (20200323-1build1)

Now the problem is gone!

comment:9 by Don-vip, 3 years ago

Resolution: worksforme
Status: needinfoclosed

comment:10 by mdk, 3 years ago

Maybe it would make sense to declare the fonts-noto package as a dependency for JOSM. This way the fonts will be automatically installed when you install JOSM and you can't clean up the fonts because it's not used by another package.

Actually the Ubuntu package requires Java 8 or 11 and proj-data.
I would suggest to add fonts-noto and java 15.

Last edited 3 years ago by mdk (previous) (diff)

in reply to:  10 comment:11 by Don-vip, 3 years ago

Component: CoreUbuntu package
Milestone: 21.01
Resolution: worksforme
Status: closedreopened
Summary: NPE with missing fonts on LinuxUbuntu packages does not declare all required dependencies

comment:12 by Don-vip, 3 years ago

I was sure it was already done...

comment:13 by Don-vip, 3 years ago

Resolution: fixed
Status: reopenedclosed

In 17463/josm:

fix #20332 - add required fonts-noto ubuntu package

comment:14 by mdk, 3 years ago

Why not extending

Depends: openjdk-11-jre | java11-runtime | openjdk-8-jre | java8-runtime,

to

Depends: openjdk-11-jre | java11-runtime | openjdk-15-jre | java15-runtime | openjdk-8-jre | java8-runtime,

comment:15 by Don-vip, 3 years ago

javaXX-runtime are virtual packages. I think we could event keep only java8-runtime, see https://packages.ubuntu.com/hirsute/java8-runtime

comment:16 by stoecker, 3 years ago

Milestone: 21.0121.02

Milestone renamed

Modify Ticket

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