FS#29961 - [eclipse] Crash in libpng12.so provided by nxclient
Attached to Project:
Arch Linux
Opened by mrxx (mrxx) - Sunday, 20 May 2012, 21:12 GMT
Last edited by Andreas Radke (AndyRTR) - Saturday, 23 June 2012, 13:26 GMT
Opened by mrxx (mrxx) - Sunday, 20 May 2012, 21:12 GMT
Last edited by Andreas Radke (AndyRTR) - Saturday, 23 June 2012, 13:26 GMT
|
Details
Description:
When starting Eclipse, the JRE crashes. The crash occurs after Eclipse's splash screen, when loading libpng12.so from /usr/lib/nx/lib/ # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f74e89fce30, pid=12907, tid=140141216528128 # # JRE version: 6.0_31-b04 # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.6-b01 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libpng12.so.0+0x31e30] png_set_progressive_read_fn+0x0 # # An error report file with more information is saved as: # /home/mrxx/hs_err_pid12907.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. Additional info: extra/eclipse 3.7.2-3 extra/nxclient 3.5.0.7-2 AUR/jre6 6u31-b04 After uninstalling nxclient, Eclipse starts normally. |
This task depends upon
Closed by Andreas Radke (AndyRTR)
Saturday, 23 June 2012, 13:26 GMT
Reason for closing: Fixed
Additional comments about closing: fixed with nxclient 3.5.0.7-3 using a wrapper
Saturday, 23 June 2012, 13:26 GMT
Reason for closing: Fixed
Additional comments about closing: fixed with nxclient 3.5.0.7-3 using a wrapper
FS#24932that now comes back again?# JRE version: 7.0_04-b20
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.0-b21 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libpng12.so.0+0x31e30] png_set_progressive_read_fn+0x0
The crash seems to happen whenever I mouse over a class name, where Eclipse would normally show a tooltip.
Is there any fix/workaround for this?
This really is a horrendous bug. I'm not going to be able to continue to use Eclipse as an IDE if I can't find a way around this.
TIA!
But it seems to me that nxclient is the cause of the problem here, not Eclipse, and so it's the nxclient package that needs to be fixed. If nxclient happens to supply its own, old version of libpng, that shouldn't get put on the main system library load path where it can interfere with other apps.
Is there not any way to get rid of /etc/ld.so.conf.d/nxclient.conf, and then just have nxclient add /usr/lib/nx/lib/ onto its library path when it launches?
Or, alternately, perhaps it's possible to have nxclient use either libpng (1.5.11) or libpng12 (1.2.49) which are available in the repos?
1. Remove the file /etc/ld.so.conf.d/nxclient.conf from the nxclient package (which is stupid anyway, because it adds the libraries packaged with nxclient to the global library search path
2. Fix nxclient to use it's library path without having it global (e.g. wrap the nxclient executable with a script, which adds /usr/lib/nx/lib to the LD_LIBRARY_PATH variable.
This is something the packager of nxclient should do, please.
Until that the workaround is, to manually delete the above mentioned file:
sudo rm /etc/ld.so.conf.d/nxclient.conf
Reload the cache
sudo ldconfig
And if you want to start NX-Client do it with:
LD_LIBRARY_PATH=/usr/lib/nx/lib:$LD_LIBRARY_PATH /usr/lib/nx/bin/nxclient
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/nx/lib:$LD_LIBRARY_PATH /usr/lib/nx/bin/nxclient
That't doesn't work because nxclient presets some vars in /etc/profile.d/nxclient.sh. A simple "nxclient" (it's in $PATH
before /usr/bin) call or the menu entries will call /usr/lib/nx/bin/nxclient directly. That fails because linpng12 cannot be found.
[root@laptop64 andyrtr]# grep -iR bin /usr/share/applications/nxclient*.desktop
/usr/share/applications/nxclient-admin.desktop:Exec=/usr/lib/nx/bin/nxclient -admin
/usr/share/applications/nxclient-wizard.desktop:Exec=/usr/lib/nx/bin/nxclient -wizard
/usr/share/applications/nxclient.desktop:Exec=/usr/lib/nx/bin/nxclient
Any idea?
What is this profile.d anyway? And how can it be that an interactive bash-session works, but the same line as script doesn't ?
libraries in an unusual directory.
I'm still wondering how eclipse is built that it fails here. The bug is in eclipse pkg and adding a wrapper to nxclient would be only workaround.
The bug should also be triggered when user install libpng12 from AUR I guess.
su -
# Step 1 - remove nx libs from global linker path
rm /etc/ld.so.conf.d/nxclient.conf
ldconfig
# Step 2 - replace nxclient binary with the wrapper script
cd /usr/lib/nx/bin
mv nxclient nxclientx
cat <<EOF >nxclient
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/nx/lib:$LD_LIBRARY_PATH /usr/lib/nx/bin/nxclientx
EOF
chmod 755 nxclient
nxclient starts from command line as well as from the menu entries, and Eclipse is not troubled any more.