FS#58319 - [sweethome3d] Doesn't start
Attached to Project:
Community Packages
Opened by Robert Richter (archinoha) - Monday, 23 April 2018, 16:58 GMT
Last edited by Muflone (muflone) - Sunday, 28 April 2019, 11:17 GMT
Opened by Robert Richter (archinoha) - Monday, 23 April 2018, 16:58 GMT
Last edited by Muflone (muflone) - Sunday, 28 April 2019, 11:17 GMT
|
Details
Description:
Start of sweethome3d under gnomeshell/wayland stopped after loading splash-screen. I can it start with sudo with following error log: Additional info: * package version(s) : community/sweethome3d 5.7-1 * config and/or log files etc. shell error log with 'sweethome3d &> error.log': 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.InternalError: XXX0 profile[1]: GL3bc -> profileImpl GL4bc !!! not mapped at com.jogamp.opengl.GLProfile.computeProfileMap(GLProfile.java:2071) at com.jogamp.opengl.GLProfile.initProfilesForDeviceCritical(GLProfile.java:1924) at com.jogamp.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1875) at com.jogamp.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1843) 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(Native Method) 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.getBestConfiguration(GraphicsConfigTemplate3D.java:317) at java.desktop/java.awt.GraphicsDevice.getBestConfiguration(GraphicsDevice.java:205) 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) --- archlinux-java status: Available Java environments: java-10-openjdk (default) java-8-openjdk java-8-openjdk-jetbrains java-9-openjdk Steps to reproduce: - install 'pacman -S sweethome3d' - type to desktop search 'swe' under gnome-shell - stoped at splash-screen |
This task depends upon
Closed by Muflone (muflone)
Sunday, 28 April 2019, 11:17 GMT
Reason for closing: Not a bug
Additional comments about closing: incompatible GPU drivers with java3d 1.6
Sunday, 28 April 2019, 11:17 GMT
Reason for closing: Not a bug
Additional comments about closing: incompatible GPU drivers with java3d 1.6
the issue seems related to the openjdk 10.
try to switch to java-8-openjdk with sudo archlinux-java set java-8-openjdk
Since it already depends on >=8 I'm not sure how that works if someone has jre7 and jre10 installed, but not jre8 or jre9...
I own two Arch Linux installations and SweetHome3D works fine for both with any issue, using OpenJDK JRE 8, 9 and 10 and Java3D 1.6.
If someone can track the source of the issue, I could try to fix it.
java-8-openjdk
java3d 1.5.2-9
Could it be an amd gpu problem?
I used the GPU on the AMD A12-9800 APU. (IGPU VRAM on ASUS UEFI is set to automatic)
I'm happy to help debug this in any way. If you'd like, we can even jump on a screenshare or something and debug in real time. I'm not knowledgeable enough on how the pieces fit together to be able to debug on my own though.
I downloaded the original install archive (SweetHome3D-5.7-linux-x64.tgz) from sweethome3d.com.
It runs with the "SweetHome3D-Java3D-1_5_2" bash script, which used Java3D 1.5.2.
If anybody find the opposite:
Installed on /usr/bin/sweethome3d
##shell script
#!/bin/sh
APP_CLASSPATH=""
JAVA_EXEC=""
JAVA_OPTS="${JAVA_OPTS} -Xmx1024m"
if [ -n "${JAVA_HOME}" ]
then
if [ -x "${JAVA_HOME}/bin/java" ]
then
JAVA_EXEC="${JAVA_HOME}/bin/java"
fi
else
JAVA_EXEC="$(which java)"
fi
if [ -z "${JAVA_EXEC}" ]
then
echo "No 'java' executable can be found, please set JAVA_HOME variable or"
echo "use the 'archlinux-java' script to set the Java version."
exit 1
fi
# Build classpath
APP_CLASSPATH="SweetHome3D.jar:Furniture.jar:Textures.jar:Help.jar:iText-2.1.7.jar:freehep-vectorgraphics-svg-2.1.1b.jar:sunflow-0.07.3i.jar:jmf.jar:batik-svgpathparser-1.7.jar"
if [ "${SWEETHOME3D_JAVA3D}" = "1.5" ]
then
JAVA_OPTS="${JAVA_OPTS} -Djava.library.path=/usr/lib/sweethome3d/java3d-1.5"
APP_CLASSPATH="${APP_CLASSPATH}:/usr/lib/sweethome3d/java3d-1.5/j3dcore.jar:/usr/lib/sweethome3d/java3d-1.5/j3dutils.jar:/usr/lib/sweethome3d/java3d-1.5/vecmath.jar"
else
JAVA_OPTS="${JAVA_OPTS} -Djava.library.path=/usr/lib/sweethome3d/java3d-1.5 -Djogamp.gluegen.UseTempJarCache=false"
APP_CLASSPATH="${APP_CLASSPATH}:/usr/lib/sweethome3d/java3d-1.5/j3dcore.jar:/usr/lib/sweethome3d/java3d-1.6/j3dutils.jar:/usr/lib/sweethome3d/java3d-1.6/vecmath.jar:/usr/lib/sweethome3d/java3d-1.6/gluegen-rt.jar:/usr/lib/sweethome3d/java3d-1.6/jogl-java3d.jar"
fi
APP_CLASSPATH="${APP_CLASSPATH}:javaws.jar"
cd "/usr/share/java/sweethome3d"
exec "${JAVA_EXEC}" \
-classpath "${APP_CLASSPATH}" \
${JAVA_OPTS} \
-Dcom.eteks.sweethome3d.applicationId=SweetHome3D#Installer \
com.eteks.sweethome3d.SweetHome3D \
-open "$1"
##tpircs llehs
And now the script in the downloaded file from the producer site (SweetHome3D-Java3D-1_5_2):
##shell script
#!/bin/sh
# Retrieve Sweet Home 3D directory
PROGRAM=`readlink "$0"`
if [ "$PROGRAM" = "" ]; then
PROGRAM=$0
fi
PROGRAM_DIR=`dirname "$PROGRAM"`
# Run Sweet Home 3D
exec "$PROGRAM_DIR"/jre8/bin/java -Xmx1024m -classpath "$PROGRAM_DIR"/lib/SweetHome3D.jar:"$PROGRAM_DIR"/lib/Furniture.jar:"$PROGRAM_DIR"/lib/Textures.jar:"$PROGRAM_DIR"/lib/Examples.jar:"$PROGRAM_DIR"/lib/Help.jar:"$PROGRAM_DIR"/lib/iText-2.1.7.jar:"$PROGRAM_DIR"/lib/freehep-vectorgraphics-svg-2.1.1b.jar:"$PROGRAM_DIR"/lib/sunflow-0.07.3i.jar:"$PROGRAM_DIR"/lib/jmf.jar:"$PROGRAM_DIR"/lib/batik-svgpathparser-1.7.jar:"$PROGRAM_DIR"/lib/j3dcore.jar:"$PROGRAM_DIR"/lib/j3dutils.jar:"$PROGRAM_DIR"/lib/vecmath.jar:"$PROGRAM_DIR"/jre8/lib/javaws.jar -Djava.library.path="$PROGRAM_DIR"/lib -Dcom.eteks.sweethome3d.applicationId=SweetHome3D#Installer com.eteks.sweethome3d.SweetHome3D -open "$1"
##tpircs llehs
SWEETHOME3D_JAVA3D=1.5 sweethome3d
If this works you can set the variable globally by putting SWEETHOME3D_JAVA3D=1.5 in /etc/profile
@muflone:
The 1st in the bash console works fine.
But the 2nd option: I wrote it in /etc/profile, it starts, but without the 3D view.
When I insert the SWEETHOME3D_JAVA3D="1.5" (with "") on the top in the /usr/bin/sweethome3d bash script, it runs successfully.
/etc/lightdm/Xsession contains
# Load profile
for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
if [ -f "$file" ]; then
echo "Loading profile from $file";
. "$file"
fi
done
It is surprising that would not source /etc/profile.
As another alternative you could use pam_env