• Bug#1104088: simplyhtml: Does not work on Debian Trixie

    From William Desportes@21:1/5 to All on Fri Apr 25 13:50:01 2025
    Package: simplyhtml
    Version: 0.17.3+dfsg1-1
    Severity: serious
    Tags: sid, trixie

    I installed the package in Debian Trixie and the splash screen shows for
    a second and then the terminal says:
    $ simplyhtml
    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:1823)
    at java.desktop/javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:948)
    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:1823)
    at java.desktop/javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:948)
    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)

    Same error on a second run. It managed to create the user preferences
    folder.

    --
    William Desportes

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)