Bug 1236

Summary: SIGFPE during System.load of linux-i586/libgluegen-rt.so seen on Asus EEEPC 900 using libc-2.3.6
Product: [JogAmp] General Reporter: Xerxes Rånby <xerxes>
Component: buildsAssignee: Sven Gothel <sgothel>
Status: RESOLVED INVALID    
Severity: enhancement    
Priority: ---    
Version: 2.4.0   
Hardware: pc_x86_32   
OS: linux   
Type: FEATURE SCM Refs:
Workaround: ---
Bug Depends on: 1235    
Bug Blocks:    
Attachments: hs_err_pid10326.log

Description Xerxes Rånby 2015-09-28 11:35:09 CEST
Created attachment 750 [details]
hs_err_pid10326.log

ASUS EEEPC 900 shipped with xandros linux and java 6 runs into a SIGFPE when loading libgluegen-rt.so caused by incompatible glibc version.

JogAmp currently only support the latest long term support LTS releases thus this is an enhancement if we can strech compatibility to make the jogamp natives work on old linux glibc systems.

JNILibLoaderBase: addNativeJarLibsImpl: fat: jogamp-fat.jar -> jar:file:/home/user/jogamp-fat.jar!/
JNILibLoaderBase: addNativeJarLibsImpl.X: jogamp-fat.jar / jogamp-fat-natives-linux-i586.jar -> ok: true; duration: now 2988 ms, total 2988 ms (count 1, avrg 2988,000 ms)
JNILibLoaderBase: addNativeJarLibsWhenInitialized: count 1, ok true
NativeLibrary.findLibrary(<gluegen-rt>) (TempJarCache): /tmp/jogamp_0000/file_cache/jln5214761878862563236/jln4879413580749614497/natives/linux-i586/libgluegen-rt.so
JNILibLoaderBase: loadLibraryInternal(gluegen-rt), TempJarCache: /tmp/jogamp_0000/file_cache/jln5214761878862563236/jln4879413580749614497/natives/linux-i586/libgluegen-rt.so
JNILibLoaderBase: System.load(/tmp/jogamp_0000/file_cache/jln5214761878862563236/jln4879413580749614497/natives/linux-i586/libgluegen-rt.so) - mode 2
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGFPE (0x8) at pc=0xb7f09745, pid=10326, tid=3075062704
#
# JRE version: 6.0_21-b06
# Java VM: Java HotSpot(TM) Client VM (17.0-b16 mixed mode, sharing linux-x86 )
# Problematic frame:
# C  [ld-linux.so.2+0x7745]
#
# An error report file with more information is saved as:
# /home/user/hs_err_pid10326.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Avbruten (SIGABRT)

/home/user> uname -a 
Linux asus-1444316945 2.6.21.4-eeepc #6 Mon May 5 11:38:34 EDT 2008 i686 GNU/Linux

/home/user> ldd /tmp/jogamp_0000/file_cache/jln5214761878862563236/jln4879413580749614497/natives/linux-i586/libgluegen-rt.so
        linux-gate.so.1 =>  (0xb7fda000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7e95000)
        /lib/ld-linux.so.2 (0x80000000)

/home/user> ls -la /lib/tls/libc*
-rw-r--r-- 1 root root 1241392 2007-02-21 16:13 /lib/tls/libc-2.3.6.so
-rw-r--r-- 1 root root  185780 2007-02-21 16:13 /lib/tls/libcidn-2.3.6.so
lrwxrwxrwx 1 root root      16 2008-05-10 01:11 /lib/tls/libcidn.so.1 -> libcidn-2.3.6.so
-rw-r--r-- 1 root root   21868 2007-02-21 16:13 /lib/tls/libcrypt-2.3.6.so
lrwxrwxrwx 1 root root      17 2008-05-10 01:11 /lib/tls/libcrypt.so.1 -> libcrypt-2.3.6.so
lrwxrwxrwx 1 root root      13 2008-05-10 01:11 /lib/tls/libc.so.6 -> libc-2.3.6.so
Comment 1 Xerxes Rånby 2015-09-28 11:37:57 CEST
The Asus EEEPC 900 is a linux 2.6 system thus Bug 1235 is a way to fix this glibc incompatibility.
/home/user> uname -a 
Linux asus-1444316945 2.6.21.4-eeepc #6 Mon May 5 11:38:34 EDT 2008 i686 GNU/Linux
Comment 2 Sven Gothel 2019-03-29 14:06:25 CET
Our builds simply cannot support all old systems.

But we may consider specifying the [glibc] compatibility of our builds,
which is generally a good idea.
Today, the baseline would be Debian 9'sh.