Print at Jan 28, 2026, 8:44:25 AM

Posted by JosLouis at Jan 23, 2026, 6:59:51 PM
confused   Null Pointer Exception from Linux Debian version
I installed SW3D from the latest website version. I tried fom the desktop icon and the terminal and got a Null Pointer Exception (see output below).

I was running version 7.5 on the same machine under Debian_MX-Linux 21 with XFCE without problem.
I tried the snap version from the Ubuntu repository. It works but is outdated version 6.6 and does not open correctly models created with version 7.5. The flatpak version 7.5 found here https://flathub.org/en/apps/com.sweethome3d.Sweethome3d doesn't work either (files not found and null pointer exception).

Any suggestions?


Platform:
Operating System: Kubuntu 24.04
KDE Plasma Version: 5.27.12
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.13
Kernel Version: 6.14.0-37-generic (64-bit)
Graphics Platform: X11
Processors: 2 × AMD Athlon Silver 3050U with Radeon Graphics
Memory: 3.2 Gio of RAM
Graphics Processor: AMD Radeon Graphics
Manufacturer: Dell Inc.
Product Name: Inspiron 3505
System Version: 1.34.0

java -version:
openjdk version "21.0.9" 2025-10-21
OpenJDK Runtime Environment (build 21.0.9+10-Ubuntu-124.04)
OpenJDK 64-Bit Server VM (build 21.0.9+10-Ubuntu-124.04, mixed mode, sharing)

Command from icon or terminal
/home/michel/SweetHome3D-7.5/SweetHome3D

Try ===========================================================================
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at sun.awt.X11FontManager.getFileNameFromPlatformName(X11FontManager.java:174)
at sun.font.SunFontManager.initCompositeFonts(SunFontManager.java:3481)
at sun.font.SunFontManager.access$700(SunFontManager.java:65)
at sun.font.SunFontManager$2.run(SunFontManager.java:545)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.<init>(SunFontManager.java:376)
at sun.awt.FcFontManager.<init>(FcFontManager.java:35)
at sun.awt.X11FontManager.<init>(X11FontManager.java:57)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at sun.font.SunFontManager.getInstance(SunFontManager.java:250)
at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:264)
at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1113)
at javax.swing.JComponent.getFontMetrics(JComponent.java:1626)
at javax.swing.plaf.basic.BasicLabelUI.getPreferredSize(BasicLabelUI.java:245)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1662)
at javax.swing.tree.DefaultTreeCellRenderer.getPreferredSize(DefaultTreeCellRenderer.java:565)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2815)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1360)
at javax.swing.tree.VariableHeightLayoutCache.rebuild(VariableHeightLayoutCache.java:738)
at javax.swing.tree.VariableHeightLayoutCache.setModel(VariableHeightLayoutCache.java:109)
at javax.swing.plaf.basic.BasicTreeUI.setModel(BasicTreeUI.java:412)
at javax.swing.plaf.basic.BasicTreeUI$Handler.propertyChange(BasicTreeUI.java:3414)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at java.awt.Component.firePropertyChange(Component.java:8434)
at javax.swing.JTree.setModel(JTree.java:885)
at javax.swing.JTree.<init>(JTree.java:673)
at javax.swing.JTree.<init>(JTree.java:569)
at com.eteks.sweethome3d.swing.FurnitureCatalogTree.<init>(Unknown Source)
at com.eteks.sweethome3d.swing.SwingViewFactory.createFurnitureCatalogView(Unknown Source)
at com.eteks.sweethome3d.viewcontroller.FurnitureCatalogController.getView(Unknown Source)
at com.eteks.sweethome3d.swing.HomePane.createCatalogFurniturePane(Unknown Source)
at com.eteks.sweethome3d.swing.HomePane.createMainPane(Unknown Source)
at com.eteks.sweethome3d.swing.HomePane.<init>(Unknown Source)
at com.eteks.sweethome3d.swing.SwingViewFactory.createHomeView(Unknown Source)
at com.eteks.sweethome3d.viewcontroller.HomeController.getView(Unknown Source)
at com.eteks.sweethome3d.HomeFramePane.<init>(Unknown Source)
at com.eteks.sweethome3d.HomeFrameController.getView(Unknown Source)
at com.eteks.sweethome3d.HomeFrameController.displayView(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D$4.collectionChanged(Unknown Source)
at com.eteks.sweethome3d.model.CollectionChangeSupport.fireCollectionChanged(Unknown Source)
at com.eteks.sweethome3d.model.HomeApplication.addHome(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.showDefaultHomeFrame(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.start(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D$5.run(Unknown Source)
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.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)
X11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 1/1, reusable (open, marked uncloseable): 0, pending (open in creation order): 1)
X11Util: Open X11 Display Connections: 1
X11Util: Open[0]: NamedX11Display[:0, 0x723d2c032a50, refCount 1, unCloseable false]