Hi Jeff,
Apache segfaults right way on the first attempt to
connect to the database.
Note that the oracle library works correctly
from /usr/bin/perl - the fault occurs only when run
within Apache.
Also, a coworker has verified that, on Fedora Core 6,
this fault does not occur, even within Apache.
I agree that it is strange for this library to call
_dl_make_stack_executable, and i don't think that
it does. objdump --dynamic-syms on the oracle
library does not show any reference to _make_stack_executable.
So it could be that the stack trace we see has been corrupted.
I don't know what sort of stack frame magic ld-linux may employ,
or if gdb can interpret a 'trampoline' correctly, so i'm uncertain on
this point.
I thought that ld-linux.so may have thought it necessary
to make this call. Apache originally had the elf header
$readelf -l /usr/sbin/apache | grep STACK
GNU_STACK 0x00 0x 0x 0x0 0x0 RW 0x4
whereas libclntsh.so lacks the GNU_STACK header.
So, that seemed like a reason why ld-linux might call
_dl_make_stack_executable.
However, editing /usr/sbin/apache to change the
GNU_STACK permissions to RWE, so that the stack
would be executable from the start, did not change
the fault.
My Ubuntu system's glibc was built on 2006-10-10:
$ /lib/libc-2.4.so
...
Compiled on a Linux 2.6.17-10 system on 2006-10-10.
As this is not the most recent build, I will try to update to
the January build to see if the fault is still present.
-SEan
On Jan 24, 2007, at 6:38 AM, Jeff Bailey wrote:
It's hard to tell without the code in hand, but my best guess is that
the oracle library is handing in a bad pointer to some function.
I'm a bit surprised to see a call right from kpummfpg into
_dl_make_stack_executable. Does it segfault reasonably quickly, or
does
it have to run for a while?
--
ld-linux.so.2 segfaults in _dl_make_stack_executable
https://launchpad.net/bugs/81232
--
ld-linux.so.2 segfaults in _dl_make_stack_executable
https://launchpad.net/bugs/81232
--
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs