bug-gnats
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnats/439: dlerror returns junk string


From: Ken . Shirriff
Subject: gnats/439: dlerror returns junk string
Date: Tue, 26 Nov 2002 21:02:54 -0500

>Number:         439
>Notify-List:    
>Category:       gnats
>Synopsis:       dlerror returns junk string
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Nov 26 21:02:54 -0500 2002
>Originator:     Ken Shirriff
>Release:        glibc-devel-2.2.4-24
>Organization:

>Environment:
Red Hat 7.2 OS installation on i386
# uname -a
Linux scam2.eng.sun.com 2.4.9-31enterprise #1 SMP vie jun 7 12:56:14 PDT 2002 
i686 unknown
glibc-devel-2.2.4-24
glibc-2.2.4-24

>Description:
I have a simple program:
        p = dlopen("./dlpi", RTLD_LAZY);
        if (p == 0) {
                fprintf(stderr, "%s\n", dlerror());
        } 

Most files passed to dlopen work okay, but this particular
file causes dlerror to return random garbage:
8@8@H@H@P@P@X@X@`@`@h@h@p@p@x@x@@@@@@@@@ @ 
@¨@¨@°@°@¸@¸@À@À@È@È@Ð@Ð@Ø@Ø@à@à@è@è@ð@ð@ø@ø@: shared object not open

The shared objects I'm opening are fairly large, but I can
send it on request.

If I do setenv LD_DEBUG "libs files", I don't see any
obvious problems before the problem happens
...
24771: file=/lib/libpthread.so.0;  needed by ./cl_comm (relocation dependency)
24771:
24771:
24771: closing file=/lib/libpthread.so.0; opencount == 3
24771:
24771: closing file=/lib/libpthread.so.0; opencount == 2
8@8@H@H@P@P@X@X@`@`@h@h@p@p@x@x@@@@@@@@@ @ 
@¨@¨@°@°@¸@¸@À@À@È@È@Ð@Ð@Ø@Ø@à@à@è@è@ð@ð@ø@ø@: shared object not open

Here's the relevant ldd output:
>ldd dlpi
       libpthread.so.0 => /lib/libpthread.so.0 (0x40021000)
       cl_runtime => ./cl_runtime (0x40038000)
       cl_comm => ./cl_comm (0x4004b000)
       libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 
(0x4058d000)
       libm.so.6 => /lib/libm.so.6 (0x405d0000)
       libc.so.6 => /lib/libc.so.6 (0x405f2000)
       libnsl.so.1 => /lib/libnsl.so.1 (0x40728000)
       librt.so.1 => /lib/librt.so.1 (0x4073f000)
       libdl.so.2 => /lib/libdl.so.2 (0x40751000)
       libmd5.so.0 => /usr/lib/libmd5.so.0 (0x40755000)
       /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
       libz.so.1 => /usr/lib/libz.so.1 (0x40759000)
> ldd cl_comm
       libnsl.so.1 => /lib/libnsl.so.1 (0x40543000)
       libdl.so.2 => /lib/libdl.so.2 (0x4055a000)
       libmd5.so.0 => /usr/lib/libmd5.so.0 (0x4055e000)
       cl_runtime => ./cl_runtime (0x40561000)
       libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 
(0x40575000)
       libm.so.6 => /lib/libm.so.6 (0x405b7000)
       libc.so.6 => /lib/libc.so.6 (0x405d9000)
       libz.so.1 => /usr/lib/libz.so.1 (0x4070f000)
       libpthread.so.0 => /lib/libpthread.so.0 (0x4071d000)
       librt.so.1 => /lib/librt.so.1 (0x40734000)
       /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
> ldd cl_runtime
       libnsl.so.1 => /lib/libnsl.so.1 (0x40014000)
       libpthread.so.0 => /lib/libpthread.so.0 (0x4002b000)
       librt.so.1 => /lib/librt.so.1 (0x40042000)
       libdl.so.2 => /lib/libdl.so.2 (0x40054000)
       libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 
(0x40059000)
       libm.so.6 => /lib/libm.so.6 (0x4009b000)
       libc.so.6 => /lib/libc.so.6 (0x400bd000)
       /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

(The underlying problem is that dlopen is failing, and
I don't know how to resolve that, but without a useful
error message from dlerror, I'm blocked.)

I haven't used the GNATS bug reporter before, so apologies
in advance for my errors in usage.
>How-To-Repeat:

>Fix:
Unknown
>Unformatted:




reply via email to

[Prev in Thread] Current Thread [Next in Thread]