Skip to Main Content

Infrastructure Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ldd crashes with SIGSEGV SEGV_ACCERR on libfreeimage.so

807567Feb 24 2006 — edited Feb 26 2006
I built FreeImage library on Solaris 7 using gcc 3.4.2. When I do ldd on it it crashes with message:

ldd: libfreeimage.so: execution failed due to signal 11 (core dumped)

When I did truss on the ldd command here's what I got:

...
lots of sys calls from ldd, forks lddstub, opens and mmaps all libs ok up to libdl.so
...
6940: open("/usr/lib/libdl.so.1", O_RDONLY) = 5
6940: fstat(5, 0xFFBEF484) = 0
6940: d=0x00800006 i=36634 m=0100755 l=1 u=2 g=2 sz=4568
6940: at = Feb 24 04:06:47 EST 2006 [ 1140772007 ]
6940: mt = Aug 12 08:15:01 EDT 1999 [ 934460101 ]
6940: ct = Oct 10 13:11:29 EDT 2001 [ 1002733889 ]
6940: bsz=8192 blks=10 fs=ufs
6940: mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0xFF390000
libdl.so.1 => /usr/lib/libdl.so.1
6940: write(1, "\t l i b d l . s o . 1 ".., 36) = 36
6940: close(5) = 0
6940: Incurred fault #6, FLTBOUNDS %pc = 0xFF3C59A8
6940: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF135E00
6940: Received signal #11, SIGSEGV [default]
6940: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF135E00
6940: *** process killed ***
6939: wait() = 6940 [0x008B]
6939: open("/usr/lib/locale//en_US/LC_MESSAGES/SUNW_OST_SGS.mo", O_RDONLY) Err#2 ENOENT
6939: sigfillset(0xFF33A368) = 0
6939: sigmask = 0xFFFFFFFF 0x00001FFF 0 0
6939: sigprocmask(SIG_BLOCK, 0xFFBEED98, 0x00000000) = 0
6939: set = 0x00000002 0 0 0
6939: sigprocmask(SIG_BLOCK, 0xFFBEED98, 0x00000000) = 0
6939: set = 0x00000004 0 0 0
6939: sigprocmask(SIG_BLOCK, 0xFFBEED98, 0x00000000) = 0
6939: set = 0x00004000 0 0 0
6939: sigprocmask(SIG_UNBLOCK, 0xFFBEED98, 0x00000000) = 0
6939: set = 0x00004000 0 0 0
6939: sigprocmask(SIG_UNBLOCK, 0xFFBEED98, 0x00000000) = 0
6939: set = 0x00000004 0 0 0
6939: sigprocmask(SIG_UNBLOCK, 0xFFBEED98, 0x00000000) = 0
6939: set = 0x00000002 0 0 0
ldd6939: write(2, " l d d", 3) = 3
: 6939: write(2, " : ", 2) = 2
libfreeimage.so6939: write(2, " l i b f r e e i m a g e".., 15) = 15
: execution failed 6939: write(2, " : e x e c u t i o n ".., 19) = 19
due to signal 6939: write(2, " d u e t o s i g n a".., 14) = 14
11 6939: write(2, " 1 1 ", 3) = 3
(core dumped)6939: write(2, " ( c o r e d u m p e d".., 13) = 13

6939: write(2, "\n", 1) = 1
6939: munmap(0xFEF80000, 2621908) = 0
6939: close(3) = 0
6939: llseek(0, 0, SEEK_CUR) = 60074
6939: _exit(1)

When I did the same on another lib that works ok and has almost same dependencies as this one I noticed that the call that follows the place where the crash occurs is mprotect call, similar to this:

mprotect(0xFF310000, 405618, PROT_READ|PROT_WRITE|PROT_EXEC) = 0

The values here are from another lib, of course.
Does anyone have any ideas as to why this call would fail with that error? Has anyone had a similar problem running ldd?

Regards,
Dimitrije
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 26 2006
Added on Feb 24 2006
2 comments
734 views