Public bug reported: Steps to reproduce: 1. Run simplyhtml command
Expected results: simplyhtml opens without crashing Actual results: simplyhtml shows a splash screen, emits a java.lang.NullPointerException error, and hangs indefinitely. This appears to be the upstream bug, which is fixed in simplyhtml version 1.19.11+dfsg1-1: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1104088 Package version: $ apt-cache policy simplyhtml simplyhtml: Installed: 0.17.3+dfsg1-1 Candidate: 0.17.3+dfsg1-1 Version table: *** 0.17.3+dfsg1-1 500 500 http://us.archive.ubuntu.com/ubuntu noble/universe amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu noble/universe i386 Packages 100 /var/lib/dpkg/status Ubuntu version: $ lsb_release -rd Description: Ubuntu 24.04.4 LTS Release: 24.04 Full backtrace: java.lang.reflect.InvocationTargetException at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1371) at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1346) at com.lightdev.app.shtm.FrmMain.start(FrmMain.java:68) at com.lightdev.app.shtm.FrmMain.run(FrmMain.java:116) at com.lightdev.app.shtm.App.main(App.java:67) Caused by: java.lang.NullPointerException: Cannot invoke "javax.swing.text.AttributeSet.getAttribute(Object)" because "a" is null at com.lightdev.app.shtm.ScaledStyleSheet.getFontScaleFactor(ScaledStyleSheet.java:54) at com.lightdev.app.shtm.ScaledStyleSheet.getFontScaleFactor(ScaledStyleSheet.java:67) at com.lightdev.app.shtm.ScaledStyleSheet.getFontScaleFactor(ScaledStyleSheet.java:67) at com.lightdev.app.shtm.ScaledStyleSheet.getFontScaleFactor(ScaledStyleSheet.java:67) at com.lightdev.app.shtm.ScaledStyleSheet.getFontScaleFactor(ScaledStyleSheet.java:67) at com.lightdev.app.shtm.ScaledStyleSheet.getFont(ScaledStyleSheet.java:38) at java.desktop/javax.swing.text.DefaultStyledDocument.getFont(DefaultStyledDocument.java:959) at java.desktop/javax.swing.text.LabelView.setPropertiesFromAttributes(LabelView.java:145) at java.desktop/javax.swing.text.html.InlineView.setPropertiesFromAttributes(InlineView.java:187) at java.desktop/javax.swing.text.LabelView.sync(LabelView.java:56) at java.desktop/javax.swing.text.LabelView.getFont(LabelView.java:209) at java.desktop/javax.swing.text.GlyphPainter1.sync(GlyphPainter1.java:224) at java.desktop/javax.swing.text.GlyphPainter1.getSpan(GlyphPainter1.java:59) at java.desktop/javax.swing.text.GlyphView.getPreferredSpan(GlyphView.java:585) at java.desktop/javax.swing.text.FlowView$LogicalView.getPreferredSpan(FlowView.java:753) at java.desktop/javax.swing.text.FlowView.calculateMinorAxisRequirements(FlowView.java:241) at java.desktop/javax.swing.text.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:709) 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.setSpanOnAxis(BoxView.java:344) at java.desktop/javax.swing.text.BoxView.layout(BoxView.java:709) at java.desktop/javax.swing.text.BoxView.setSize(BoxView.java:398) at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1839) at java.desktop/javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:964) at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1734) at java.desktop/javax.swing.JEditorPane.getPreferredSize(JEditorPane.java:1392) at java.desktop/javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:799) at java.desktop/java.awt.Container.layout(Container.java:1541) at java.desktop/java.awt.Container.doLayout(Container.java:1530) at java.desktop/java.awt.Container.validateTree(Container.java:1725) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validate(Container.java:1660) at java.desktop/java.awt.Container.validateUnconditionally(Container.java:1697) at java.desktop/java.awt.Window.pack(Window.java:840) at com.lightdev.app.shtm.FrmMain$1.run(FrmMain.java:74) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) 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) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "javax.swing.text.AttributeSet.getAttribute(Object)" because "a" is null at com.lightdev.app.shtm.ScaledStyleSheet.getFontScaleFactor(ScaledStyleSheet.java:54) at com.lightdev.app.shtm.ScaledStyleSheet.getFontScaleFactor(ScaledStyleSheet.java:67) at com.lightdev.app.shtm.ScaledStyleSheet.getFontScaleFactor(ScaledStyleSheet.java:67) at com.lightdev.app.shtm.ScaledStyleSheet.getFontScaleFactor(ScaledStyleSheet.java:67) at com.lightdev.app.shtm.ScaledStyleSheet.getFontScaleFactor(ScaledStyleSheet.java:67) at com.lightdev.app.shtm.ScaledStyleSheet.getFont(ScaledStyleSheet.java:38) at java.desktop/javax.swing.text.DefaultStyledDocument.getFont(DefaultStyledDocument.java:959) at java.desktop/javax.swing.text.LabelView.setPropertiesFromAttributes(LabelView.java:145) at java.desktop/javax.swing.text.html.InlineView.setPropertiesFromAttributes(InlineView.java:187) at java.desktop/javax.swing.text.LabelView.sync(LabelView.java:56) at java.desktop/javax.swing.text.LabelView.getFont(LabelView.java:209) at java.desktop/javax.swing.text.GlyphPainter1.sync(GlyphPainter1.java:224) at java.desktop/javax.swing.text.GlyphPainter1.getSpan(GlyphPainter1.java:59) at java.desktop/javax.swing.text.GlyphView.getPreferredSpan(GlyphView.java:585) at java.desktop/javax.swing.text.FlowView$LogicalView.getPreferredSpan(FlowView.java:753) at java.desktop/javax.swing.text.FlowView.calculateMinorAxisRequirements(FlowView.java:241) at java.desktop/javax.swing.text.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:709) 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.setSpanOnAxis(BoxView.java:344) at java.desktop/javax.swing.text.BoxView.layout(BoxView.java:709) at java.desktop/javax.swing.text.BoxView.setSize(BoxView.java:398) at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1839) at java.desktop/javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:964) at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1734) at java.desktop/javax.swing.JEditorPane.getPreferredSize(JEditorPane.java:1392) at java.desktop/javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:799) at java.desktop/java.awt.Container.layout(Container.java:1541) at java.desktop/java.awt.Container.doLayout(Container.java:1530) at java.desktop/java.awt.Container.validateTree(Container.java:1725) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validateTree(Container.java:1734) at java.desktop/java.awt.Container.validate(Container.java:1660) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2778) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) 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) ** Affects: simplyhtml (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2165181 Title: simplyhtml crashes with java.lang.NullPointerException To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/simplyhtml/+bug/2165181/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
