Modify

Opened 4 months ago

Closed 3 months ago

Last modified 2 months 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)

comment:1 in reply to:  description Changed 3 months ago by Don-vip

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 Changed 3 months ago by mdk

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 Changed 3 months ago by mdk

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

comment:4 Changed 3 months ago by Don-vip

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 Changed 3 months ago by mdk

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

comment:6 Changed 3 months ago by Don-vip

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 months ago by Don-vip (next)

comment:7 in reply to:  description Changed 3 months ago by skyper

Replying to mdk:

fonts-noto: fonts-noto:-

How about this font. Does installing help.

comment:8 Changed 3 months ago by mdk

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 Changed 3 months ago by Don-vip

Resolution: worksforme
Status: needinfoclosed

comment:10 Changed 3 months ago by mdk

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 months ago by mdk (previous) (diff)

comment:11 in reply to:  10 Changed 3 months ago by Don-vip

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 Changed 3 months ago by Don-vip

I was sure it was already done...

comment:13 Changed 3 months ago by Don-vip

Resolution: fixed
Status: reopenedclosed

In 17463/josm:

fix #20332 - add required fonts-noto ubuntu package

comment:14 Changed 3 months ago by mdk

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 Changed 3 months ago by Don-vip

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

comment:16 Changed 2 months ago by stoecker

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.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.