nRedHat Linux ships a crash utility which can map a process and provide a kernel stack trace (usually more useful than gdb):
n
ulinux# crash
u
ucrash 4.0-2.30
u
...
ucrash> ps | fgrep dt
21490 20426 0 c21021b0
UN 0.1 2596 812 dt
crash> set pid 21490
set: invalid task or pid value: pid
PID: 21490
COMMAND: "dt"
TASK: c21021b0 [THREAD_INFO: d5229000]
CPU: 1
STATE: TASK_UNINTERRUPTIBLE
crash> bt
PID: 21490 TASK: c21021b0 CPU: 1 COMMAND:
"dt"
#0 [d5229e50] schedule at c02d25c9
#1 [d5229eb4] log_wait_commit at f88da65c
#2 [d5229f0c] journal_stop at f88d66c8
#3 [d5229f2c] journal_force_commit at f88d6712
#4 [d5229f30] ext3_force_commit at f89b0843
#5 [d5229f34] write_inode at c0177263
#6 [d5229f40] __sync_single_inode at c01772d8
#7 [d5229f60] sync_inode at c0177a69
#8 [d5229f6c] ext3_sync_file at f89a6e91
#9 [d5229fa8] sys_fsync at c015c468
#10 [d5229fc0] system_call at c02d46fc
EAX: 00000076 EBX: 00000003 ECX:
00000000 EDX: f9c00000
DS: 007b ESI:
ffffffff ES: 007b EDI: 06400000
SS: 007b ESP:
bff257f8 EBP: bff25828
CS: 0073 EIP:
00ab17a2 ERR: 00000076 EFLAGS: 00000246
ucrash>
u
nNote: kernel debug symbols must be loaded or crash will not
start.