[Home]

Summary:ASTERISK-03635: fewer extra debugging information under 2.6.x
Reporter:paradise (paradise)Labels:
Date Opened:2005-03-06 04:27:19.000-0600Date Closed:2011-06-07 14:10:21
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:"hope that this is really a bug!" god saves my karma ;)
just found that when i enable THREAD_DEBUG and compile my * under kernel 2.4, everything is OK in gdb.
but when i do it under 2.6 (2.6.9 my box) no extra information is found in gdb. my kernel is a fresh one.
i've also tested it on FC2 default kernel.
it seems that under kernel 2.6 somethings can't be debugged.


****** ADDITIONAL INFORMATION ******

all i've done is:
- uncomment -DTHREAD_DEBUG in Makefile
- make clean
- make valgrind

in 2.4.x kernel:
(gdb) thread apply all bt

Thread 16 (Thread 15375 (LWP 3916)):
#0  0x420b4c81 in nanosleep () from /lib/i686/libc.so.6
#1  0x420b4b01 in sleep () from /lib/i686/libc.so.6
#2  0x41faa4c1 in qcall (ignore=0x0) at app_qcall.c:167
#3  0x4003afaf in pthread_start_thread () from /lib/i686/libpthread.so.0

Thread 15 (Thread 14350 (LWP 3915)):
#0  0x420b4c81 in nanosleep () from /lib/i686/libc.so.6
#1  0x420b4b01 in sleep () from /lib/i686/libc.so.6
#2  0x419382ea in scan_thread (unused=0x0) at pbx_spool.c:325
#3  0x4003afaf in pthread_start_thread () from /lib/i686/libpthread.so.0

Thread 14 (Thread 13325 (LWP 3913)):
#0  0x420e0187 in poll () from /lib/i686/libc.so.6
#1  0x409f41a5 in autodial (ignore=0x0) at pbx_wilcalu.c:83
#2  0x4003afaf in pthread_start_thread () from /lib/i686/libpthread.so.0

Thread 13 (Thread 12300 (LWP 3912)):
#0  0x420e0187 in poll () from /lib/i686/libc.so.6
#1  0x418f6c5a in do_monitor (data=0x0) at chan_zap.c:5792
#2  0x4003afaf in pthread_start_thread () from /lib/i686/libpthread.so.0

Thread 12 (Thread 11275 (LWP 3911)):
#0  0x420e19ee in select () from /lib/i686/libc.so.6
#1  0x416ddbf4 in __dso_handle () from /usr/lib/asterisk/modules/chan_phone.so
#2  0x416d9d43 in do_monitor (data=0x0) at chan_phone.c:903
#3  0x4003afaf in pthread_start_thread () from /lib/i686/libpthread.so.0

....

Thread 1 (Thread 1024 (LWP 3894)):
#0  0x420e0187 in poll () from /lib/i686/libc.so.6
#1  0x080a02b3 in main (argc=2, argv=0xbfffe344) at asterisk.c:1929
#2  0x42017589 in __libc_start_main () from /lib/i686/libc.so.6
#0  0x420e0187 in poll () from /lib/i686/libc.so.6

in 2.6.x kernel:

(gdb) thread apply all bt

Thread 14 (Thread -150676560 (LWP 12661)):
#0  0x007bd402 in ?? ()
#1  0x009cda27 in poll () from /lib/tls/libc.so.6
#2  0x0809c5f1 in listener (unused=0x0) at asterisk.c:333
#3  0x00c1498c in start_thread () from /lib/tls/libpthread.so.0
#4  0x009d716a in clone () from /lib/tls/libc.so.6

Thread 13 (Thread -152822864 (LWP 12662)):
#0  0x007bd402 in ?? ()
#1  0x009cfe61 in ___newselect_nocancel () from /lib/tls/libc.so.6
#2  0x00b12f22 in ast_select (nfds=0, rfds=0xf6e41a10, wfds=0x0,
   efds=0xf6e41990, tvp=0x0) at channel.h:843
#3  0x00b1124d in do_monitor (data=0x0) at chan_modem.c:636
#4  0x00c1498c in start_thread () from /lib/tls/libpthread.so.0
ASTERISK-1  0x009d716a in clone () from /lib/tls/libc.so.6

Thread 12 (Thread -154932304 (LWP 12663)):
#0  0x007bd402 in ?? ()
#1  0x009a2446 in __nanosleep_nocancel () from /lib/tls/libc.so.6
#2  0x009d073a in usleep () from /lib/tls/libc.so.6
#3  0x00ab1d76 in monmp3thread (data=0x999b5a0) at res_musiconhold.c:319
#4  0x00c1498c in start_thread () from /lib/tls/libpthread.so.0
ASTERISK-1  0x009d716a in clone () from /lib/tls/libc.so.6

Thread 11 (Thread -157049936 (LWP 12665)):
#0  0x007bd402 in ?? ()
#1  0x009cfe61 in ___newselect_nocancel () from /lib/tls/libc.so.6
#2  0x00bf138b in ast_select (nfds=0, rfds=0xf6a39970, wfds=0x0,
   efds=0xf6a398f0, tvp=0x0) at channel.h:843
#3  0x00befb4d in do_parking_thread (ignore=0x0) at res_features.c:666
#4  0x00c1498c in start_thread () from /lib/tls/libpthread.so.0
ASTERISK-1  0x009d716a in clone () from /lib/tls/libc.so.6

....

Thread 1 (Thread -150658944 (LWP 12659)):
#0  0x007bd402 in ?? ()
#1  0x009cda27 in poll () from /lib/tls/libc.so.6
#2  0x080a0c5d in main (argc=2, argv=0xfefa5c54) at asterisk.c:1929
#0  0x007bd402 in ?? ()
Comments:By: Mark Spencer (markster) 2005-03-06 12:30:46.000-0600

The backtrace does not look different with a DEBUG_THREADS setup.  It's about the diagnostics you can interactively perform with gdb in terms of deciding *who* locked a lock (again, must be compiled with "make valgrind")