|
Posted by GreyBox
at Sep 28, 2024, 5:58:34 PM
|
Weird java.lang.OutOfMemoryError
First - big thanks for the nice program! Maybe no help actually needed here
I have two laptop with Ubuntu 22.04.4 LTS and and 24.04 LTS (both KDE) SweetHome3D 64bit v7.4 (and v7.5 now), on both laptops SweetHome folders are identical (main folder and .eteks) - copied them with rsync.
The file has size ~12.3M, it was created on U22.04 and later copied to U24.04 where I added more levels and more furniture. Now it has size ~14.1M. I copied it back to U22.04 and tried to open. SH3D doesn't show any errors, after processing it shows just the same new empty file.
I tried to remove .eteks folder so SH3D didn't have any plugins and additional furniture - it didn't help.
On U24.04 SH3D has standard -Xmx2g in the script and it can open the file without any issues. Initially I tried to increase memory limit on U22.04, even set 8g - it didn't help. Upgraded to v7.5 - didn't help too. And lucky I decided to try the last time to adjust memory limit before post here "plzz help111". So I set 16g and finally it was able to open the file.
Weird that when I set 16g and opened the file - in About it shows: Java 1.8.0_202 - 64bit - 0,1 / 14,2 GB so as far as I understand it says that used just ~100M of memory.
In console I can see following errors (8g limit):
~/.local/opt/SweetHome3D$ ./run.sh Picked up JAVA_TOOL_OPTIONS: -Dcom.eteks.sweethome3d.j3d.useOffScreen3DView=true DynamicPluginLoader: plugin.classpath property not set DynamicPluginLoader: plugin.classpath property not set Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space at javax.media.j3d.ImageComponentRetained$ImageData.<init>(ImageComponentRetained.java:2255) at javax.media.j3d.ImageComponentRetained.createRenderedImageDataObject(ImageComponentRetained.java:848 ) at javax.media.j3d.ImageComponentRetained.createRenderedImageDataObject(ImageComponentRetained.java:870 ) at javax.media.j3d.ImageComponent2DRetained.set(ImageComponent2DRetained.java:156) at javax.media.j3d.ImageComponent2D.<init>(ImageComponent2D.java:219) at com.sun.j3d.exp.swing.JCanvas3D.createOffScreenBuffer(JCanvas3D.java:342) at com.sun.j3d.exp.swing.JCanvas3D.createCanvas(JCanvas3D.java:326) at com.sun.j3d.exp.swing.JCanvas3D.setBounds(JCanvas3D.java:542) at com.eteks.sweethome3d.swing.HomeComponent3D$4.layoutContainer(Unknown Source) at java.awt.Container.layout(Container.java:1513) at java.awt.Container.doLayout(Container.java:1502) at java.awt.Container.validateTree(Container.java:1698) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validate(Container.java:1633) at java.awt.Container.validateUnconditionally(Container.java:1670) at java.awt.Window.pack(Window.java:818) at com.eteks.sweethome3d.HomeFramePane.computeFrameBounds(Unknown Source) at com.eteks.sweethome3d.HomeFramePane.displayView(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.viewcontroller.HomeController$31.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
Just to let you know.
And another question - a bit annoying thing, in Task Switcher I see not one SH3D window but many windows and just one of them can be displayed / switched. Sometimes it more than 10 windows. So when SH3D opened it's imposible to use ALT+Tab to switch tasks - too many "empty" windows to scroll. I didn't find if it can be fixed somehow
|