Home Download Buy Blog Forum Support

Floating exception while starting on SLES10

Floating exception while starting on SLES10

Postby mamaisabantuy on Mon Nov 14, 2011 8:57 pm

I had some problems when I tried to run latest SublimeText Linux/x64 builds on SLES machines supported by our corporate IT (SLES10.3 WFIW).

1. There are plenty of packages missing from default SLES config:

Code: Select all
user/Sublime Text 2> ldd sublime_text
./sublime_text: /usr/lib64/libpng12.so.0: no version information available (required by ./sublime_text)
./sublime_text: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./sublime_text)
./sublime_text: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./sublime_text)
        linux-vdso.so.1 =>  (0x00002aaaaaac6000)
        libgtk-x11-2.0.so.0 => /opt/gnome/lib64/libgtk-x11-2.0.so.0 (0x00002aaaaabc7000)
        libgdk-x11-2.0.so.0 => /opt/gnome/lib64/libgdk-x11-2.0.so.0 (0x00002aaaab001000)
        libatk-1.0.so.0 => /opt/gnome/lib64/libatk-1.0.so.0 (0x00002aaaab198000)
        libgio-2.0.so.0 => not found
        libpangoft2-1.0.so.0 => /opt/gnome/lib64/libpangoft2-1.0.so.0 (0x00002aaaab2b7000)
        libpangocairo-1.0.so.0 => /opt/gnome/lib64/libpangocairo-1.0.so.0 (0x00002aaaab3df000)
        libgdk_pixbuf-2.0.so.0 => /opt/gnome/lib64/libgdk_pixbuf-2.0.so.0 (0x00002aaaab4e7000)
        libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00002aaaab5ff000)
        libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00002aaaab75a000)
        libpango-1.0.so.0 => /opt/gnome/lib64/libpango-1.0.so.0 (0x00002aaaab897000)
        ...


Fortunately I was able to resolve these missing packages via specially tweaked LD_LIBRARY_PATH, thanks to nice "common tools" mechanism our IT supports. And now there is no missing packages:

Code: Select all
[user@mssiag100:~/v/Sublime Text 2]> ldd sublime_text
        linux-vdso.so.1 =>  (0x00002aaaaaac6000)
        libgtk-x11-2.0.so.0 => /opt/gnome/lib64/libgtk-x11-2.0.so.0 (0x00002aaaaabc7000)
        libgdk-x11-2.0.so.0 => /opt/gnome/lib64/libgdk-x11-2.0.so.0 (0x00002aaaab001000)
        libatk-1.0.so.0 => /opt/gnome/lib64/libatk-1.0.so.0 (0x00002aaaab199000)
        libgio-2.0.so.0 => /usr/common-tools/pkgs/glib/2.24.2/lib64/libgio-2.0.so.0 (0x00002aaaab2b7000)
        libpangoft2-1.0.so.0 => /opt/gnome/lib64/libpangoft2-1.0.so.0 (0x00002aaaab466000)
        libpangocairo-1.0.so.0 => /opt/gnome/lib64/libpangocairo-1.0.so.0 (0x00002aaaab58f000)
        libgdk_pixbuf-2.0.so.0 => /opt/gnome/lib64/libgdk_pixbuf-2.0.so.0 (0x00002aaaab696000)
        libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00002aaaab7ae000)
        libpng12.so.0 => /usr/common-tools/pkgs/libpng/1.2.40-64/lib/libpng12.so.0 (0x00002aaaab90a000)
        ...


2. But here is another problem to come - this executable is not loaded by local ld, and producing SIGFPE:

Code: Select all
[user@mssiag100:~/v/Sublime Text 2]> ./sublime_text
Floating exception


if we load this under debugger we see that the problem is in the loader itself, not executable:
Code: Select all
Failed to read a valid object file image from memory.

Program received signal SIGFPE, Arithmetic exception.
0x00002aaaaaab368f in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
(gdb) bt
#0  0x00002aaaaaab368f in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
#1  0x00002aaaaaab3a77 in _dl_lookup_symbol_x () from /lib64/ld-linux-x86-64.so.2
#2  0x00002aaaaaab5028 in _dl_relocate_object () from /lib64/ld-linux-x86-64.so.2
#3  0x00002aaaaaaae633 in dl_main () from /lib64/ld-linux-x86-64.so.2
#4  0x00002aaaaaabcfc2 in _dl_sysdep_start () from /lib64/ld-linux-x86-64.so.2
#5  0x00002aaaaaaac247 in _dl_start () from /lib64/ld-linux-x86-64.so.2
#6  0x00002aaaaaaaba88 in _start () from /lib64/ld-linux-x86-64.so.2
#7  0x0000000000000001 in ?? ()
#8  0x00007fffffffdf1b in ?? ()
#9  0x0000000000000000 in ?? ()


I've googled around (https://www.google.com/search?q=SIGFPE+do_lookup_x) and apparently the trick is in using linker option to use both styles of hash sections via
Code: Select all
-Wl,--hash-style=both
.

Could you please rebuild execuables apprpriately and publish new build? Thanks!
mamaisabantuy
 
Posts: 2
Joined: Mon Nov 14, 2011 1:42 pm

Re: Floating exception while starting on SLES10

Postby mamaisabantuy on Sat Jan 28, 2012 9:12 pm

No reaction?
mamaisabantuy
 
Posts: 2
Joined: Mon Nov 14, 2011 1:42 pm

Re: Floating exception while starting on SLES10

Postby jps on Mon Jan 30, 2012 2:51 am

I'll add the flag for the next dev build
jps
Site Admin
 
Posts: 3067
Joined: Wed Mar 19, 2008 12:33 pm

Re: Floating exception while starting on SLES10

Postby ecerulm on Fri Feb 03, 2012 6:13 pm

Same problem here. It would be great also to have a statically linked version of the linux executable. I'm also on SLED10 and I had to manually install/upgrade in my $HOME/local the following libraries/tools:


autoconf-2.62
automake-1.11
libtool-2.2
m4-1.4.11
pkgconfig-0.18
gettext-0.17
gcc-4.6.2 (to get libstdc++)
gmp-4-1-4
mpfr-2.4.2
mpc-0.9.0
binutils-2.22
glibc-2.11.3
libpng-1.2.46

Only to get the floating point exception !. A statically linked version would save the trouble for a lot of people!
ecerulm
 
Posts: 1
Joined: Fri Feb 03, 2012 6:08 pm


Return to Technical Support

Who is online

Users browsing this forum: Google [Bot] and 30 guests