FS#64140 - [sweethome3d] not starting

Attached to Project: Community Packages
Opened by Mauricio López Coria (damonh) - Tuesday, 15 October 2019, 23:35 GMT
Last edited by Muflone (muflone) - Friday, 01 May 2020, 18:59 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Muflone (muflone)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:

Package sweethome3d isn't working right after installing it.

Steps to reproduce:
1.- Install yay -S sweethome3d sweethome3d-furniture-library --noconfirm
2.- Start the program

Error messages:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/usr/lib/sweethome3d/java3d-1.6/j3dcore.jar) to method sun.awt.AppContext.getAppContext()
WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/share/java/sweethome3d/natives/linux-amd64//libnativewindow_awt.so
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2630)
at java.base/java.lang.Runtime.load0(Runtime.java:744)
at java.base/java.lang.System.load(System.java:1870)
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:624)
at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:63)
at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:106)
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:487)
at jogamp.nativewindow.NWJNILibLoader.access$000(NWJNILibLoader.java:39)
at jogamp.nativewindow.NWJNILibLoader$1.run(NWJNILibLoader.java:49)
at jogamp.nativewindow.NWJNILibLoader$1.run(NWJNILibLoader.java:41)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at jogamp.nativewindow.NWJNILibLoader.loadNativeWindow(NWJNILibLoader.java:41)
at jogamp.nativewindow.jawt.JAWTUtil.<clinit>(JAWTUtil.java:336)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:416)
at com.jogamp.nativewindow.NativeWindowFactory$3.run(NativeWindowFactory.java:344)
at com.jogamp.nativewindow.NativeWindowFactory$3.run(NativeWindowFactory.java:340)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at com.jogamp.nativewindow.NativeWindowFactory.initSingleton(NativeWindowFactory.java:340)
at com.jogamp.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1721)
at com.jogamp.opengl.GLProfile.access$000(GLProfile.java:80)
at com.jogamp.opengl.GLProfile$1.run(GLProfile.java:230)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at com.jogamp.opengl.GLProfile.initSingleton(GLProfile.java:216)
at com.jogamp.opengl.GLProfile.getProfileMap(GLProfile.java:2297)
at com.jogamp.opengl.GLProfile.get(GLProfile.java:1021)
at com.jogamp.opengl.GLProfile.get(GLProfile.java:1050)
at com.jogamp.opengl.GLProfile.getMaxFixedFunc(GLProfile.java:803)
at javax.media.j3d.JoglPipeline.initialize(JoglPipeline.java:131)
at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:92)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:858)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:267)
at javax.media.j3d.GraphicsConfigTemplate3D.isGraphicsConfigSupported(GraphicsConfigTemplate3D.java:348)
at com.eteks.sweethome3d.j3d.Component3DManager.createGraphicsConfigurationTemplate3D(Unknown Source)
at com.eteks.sweethome3d.j3d.Component3DManager.<init>(Unknown Source)
at com.eteks.sweethome3d.j3d.Component3DManager.getInstance(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.addComponent3DRenderingErrorObserver(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.init(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.main(Unknown Source)
This task depends upon

Closed by  Muflone (muflone)
Friday, 01 May 2020, 18:59 GMT
Reason for closing:  Fixed
Additional comments about closing:  changed default Java 3D from 1.6 to 1.5
Comment by Michael (tenthousand) - Wednesday, 16 October 2019, 18:13 GMT
I have this issues as well.

1. Installed with sudo pacman -S sweethome3d (didn't install furniture pack)
2. Tried both jre-openjdk (at this time is v.13) and jre11-openjdk
3. Installation goes well
4. Start Sweethome3D
5. Sweethome3D errors and doesn't fully start (splash screen shows for a split second before disappearing)

Terminal error message
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/usr/lib/sweethome3d/java3d-1.6/j3dcore.jar) to method sun.awt.AppContext.getAppContext()
WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!



Comment by Philipp Klein (kleinph) - Saturday, 02 November 2019, 16:56 GMT
I had this issue as well, but setting default Java environment to Java 8 solved it (via `sudo archlinux-java set java-8-openjdk`).
Comment by Muflone (muflone) - Sunday, 03 November 2019, 17:31 GMT
What GPU drivers are you using? NVIDIA users should use: SWEETHOME3D_JAVA3D=1.5 sweethome3d
Comment by Michael (tenthousand) - Sunday, 03 November 2019, 23:38 GMT
lspci -v =
VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Barts PRO [Radeon HD 6850] (prog-if 00 [VGA controller])
Subsystem: Hightech Information System Ltd. Barts PRO [Radeon HD 6850]
Flags: bus master, fast devsel, latency 0, IRQ 31
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at fbac0000 (64-bit, non-prefetchable) [size=128K]
I/O ports at be00 [size=256]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: radeon
Kernel modules: radeon
Comment by Muflone (muflone) - Tuesday, 05 November 2019, 22:07 GMT
Unfortunately I've no ATI cards to test it.
did you tried switching to java3d 1.5?
Comment by Michael (tenthousand) - Wednesday, 06 November 2019, 00:27 GMT
Sorry I don't know how to do that.
What are the steps to switch to java3d 1.5?
Comment by Muflone (muflone) - Wednesday, 06 November 2019, 03:09 GMT
Launch from a terminal:
SWEETHOME3D_JAVA3D=1.5 sweethome3d
Comment by Michael (tenthousand) - Thursday, 07 November 2019, 19:14 GMT
I used SWEETHOME3D_JAVA3D=1.5 sweethome3d and it started up OK for me.
Comment by Muflone (muflone) - Friday, 08 November 2019, 22:59 GMT
Unfortunately there's nothing I can do, it's a know incompatibility with Java3D with some GPU.
Actually when you install sweethome3d the following message is shown

If the application claims there's no graphic support for 3D rendering
you can switch to Java3D 1.5 by using:
SWEETHOME3D_JAVA3D=1.5 sweethome3d
or set the SWEETHOME3D_JAVA3D environment variable in your profile

I think I'll further clarity the message, for application crashing during the startup, due to Java3D 1.6
Comment by Michael (tenthousand) - Wednesday, 20 November 2019, 17:53 GMT
Thanks for all your help!
Comment by Christian González (nerdoc) - Tuesday, 28 January 2020, 19:29 GMT
Would it be a solution to use that line ("SWEETHOME3D_JAVA3D=1.5 sweethome3d") at least in the bundled .desktop file? So in graphical user interfaces (GNOME, KDE, etc) it would at least start?
Comment by Grzegorz Wierzowiecki (gwpl) - Thursday, 30 April 2020, 20:43 GMT
In my case I had to install https://aur.archlinux.org/packages/java3d/ to make it work. Maybe should be considered as dependency?
Comment by Muflone (muflone) - Friday, 01 May 2020, 18:58 GMT
Since version 6.3-1 the default Java 3D version is changed to 1.5 instead of the shipped 1.6, incompatible with many GPU drivers.

I was hoping the message already shown on every package install and upgrade would be enough for the users with issues with 1.6, but I was wrong.

To revert to Java 3D 1.6 you can use:

SWEETHOME3D_JAVA3D=1.6 sweethome3d

Loading...