From: <da...@2g...> - 2003-04-03 06:50:39
|
Quoting Jeremy Fitzhardinge <je...@go...>: > On Wed, 2003-04-02 at 10:28, David Eriksson wrote: > > > Strace stops in poll, and if I attach to the server process with gdb I > > get this stacktrace: > > > > (gdb) bt > > #0 0x40183272 in vgPlain_do_syscall () from > > /usr/local/lib/valgrind/valgrind.so > > #1 0x4023c4d0 in __JCR_LIST__ () from /usr/lib/libglib-1.2.so.0 > > #2 0x40170c97 in poll (__fds=0x4223bf3c, __nfds=0x2, __timeout=0xea60) > > at vg_intercept.c:194 > > #3 0x4022a3cb in g_main_poll () from /usr/lib/libglib-1.2.so.0 > > #4 0x40229c95 in g_main_iterate () from /usr/lib/libglib-1.2.so.0 > > #5 0x4022a0f4 in g_main_run () from /usr/lib/libglib-1.2.so.0 > > #6 0x0804c671 in main (argc=0x0, argv=0xbfffe8e4) at smaccd.c:616 > > #7 0x403d3907 in __libc_start_main () from /lib/libc.so.6 > > Hm, looks like the vg_intercept stuff isn't working - it's catching > poll, but it isn't passing it into the threads library properly. What > does ldd <your program> say? What is in /proc/<pid>/maps when you run > it? What does the link command line look like? ldd says this: libgthread-1.2.so.0 => /usr/lib/libgthread-1.2.so.0 (0x4002a000) libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x4002e000) libpthread.so.0 => /lib/libpthread.so.0 (0x40054000) libldap_r.so.2 => /usr/lib/libldap_r.so.2 (0x400a6000) liblber.so.2 => /usr/lib/liblber.so.2 (0x400d4000) libradiusclient.so.0 => /usr/local/radiusclient/lib/libradiusclient.so.0 (0x400df000) libssl.so.2 => /lib/libssl.so.2 (0x400e8000) libcrypto.so.2 => /lib/libcrypto.so.2 (0x40119000) libresolv.so.2 => /lib/libresolv.so.2 (0x401ed000) libc.so.6 => /lib/libc.so.6 (0x401ff000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libsasl.so.7 => /usr/lib/libsasl.so.7 (0x4033c000) libdl.so.2 => /lib/libdl.so.2 (0x40347000) libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x4034a000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x40352000) libpam.so.0 => /lib/libpam.so.0 (0x4037f000) The output from /proc/<pid>/maps is attached. The (short version) of the linking is simply like this: gcc -o server <OBJECTS> `glib-config --libs gthread` <LIBRARIES> > Did you manage to get a small standalone program to reproduce the > problem? Not yet. \David |