Print at Dec 15, 2025, 7:31:44 PM

Posted by Belvedere2022 at Apr 7, 2023, 12:21:17 PM
Furniture .obj import crash and workaround (SH3D 7.1)
I ran into the known bug that crashes SH3D on some systems while trying to import a furniture .obj

Trying the workaround of manually running the SH3D .jar - either via the GUI or from the console did not work for me. I tried this on both java versions that are installed on my system. Console output below:

administrator@kallisti:/usr/local/src/SweetHome3D-7.1/lib$ /usr/lib/jvm/java-8-oracle/bin/java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
administrator@kallisti:/usr/local/src/SweetHome3D-7.1/lib$ /usr/lib/jvm/java-8-oracle/bin/java -jar SweetHome3D.jar
Error: Invalid or corrupt jarfile SweetHome3D.jar

administrator@kallisti:/usr/local/src/SweetHome3D-7.1/lib$ /usr/lib/jvm/java-11-openjdk-amd64/bin/java -version
openjdk version "11.0.18" 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Ubuntu-0ubuntu120.04.1)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Ubuntu-0ubuntu120.04.1, mixed mode, sharing)
administrator@kallisti:/usr/local/src/SweetHome3D-7.1/lib$ /usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar SweetHome3D.jar
Error: Invalid or corrupt jarfile SweetHome3D.jar


However, with the java-11-openjdk-amd64 version, I was able to run the furniture library editor from the console, successfully import the .obj and save it as a new library. I can now import the library in the main program. Note that this does NOT work when using the GUI.

administrator@kallisti:/usr/local/src/SweetHome3D-7.1/lib$ /usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar FurnitureLibraryEditor-1.31.jar


Using java-8-oracle gives me a segfault:

administrator@kallisti:/usr/local/src/SweetHome3D-7.1/lib$ /usr/lib/jvm/java-8-oracle/bin/java -jar FurnitureLibraryEditor-1.31.jar
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f71752fc028, pid=373764, tid=0x00007f7137a65700
#
# JRE version: Java(TM) SE Runtime Environment (8.0_144-b01) (build 1.8.0_144-b01)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.144-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libawt_xawt.so+0x42028] ReadRegionsInList+0x3b8
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /usr/local/src/SweetHome3D-7.1/lib/hs_err_pid373764.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted (core dumped)


I can provide the logfile in a DM if needed.