public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: <=2.4.17 deadlock (RedHat 7.2, SMP, ext3 related?) (2)
@ 2001-12-24 20:17 Manfred Spraul
  2001-12-24 20:56 ` Frank van Maarseveen
  0 siblings, 1 reply; 5+ messages in thread
From: Manfred Spraul @ 2001-12-24 20:17 UTC (permalink / raw)
  To: Frank van Maarseveen; +Cc: linux-kernel

Frank,
could you open your vmlinux file with gdb, and figure out where the 2
stext_lock references lead to?
stext_lock+1c82 just means that it spins trying to acquire a spinlock,
but which one?
IIRC
gdb vmlinux
    $x/30i 0xc03fe0a0
    $x/30i 0xc0403050
should be enough.

>>EIP; c03fe0ba <stext_lock+1c82/e9ac>   <=====
Trace; c0140134 <chrdev_open+28/124>
Trace; c013eba2 <dentry_open+e6/194>
Trace; c013eab2 <filp_open+52/5c>
Trace; c013ee23 <sys_open+4b/140>
Trace; c01076cb <system_call+33/38>

Probably this cpu is spinning in get_chrfops(), trying to acquire the big kernel
lock.

>>EIP; c0403068 <stext_lock+6c30/e9ac>   <=====
    Trace; c016d320 <ext3_delete_inode+0/270>
Trace; c028ee04 <ppp_ioctl+33c/d84>
    Trace; c0159e01 <iput+2c5/2f0>
    Trace; c0156e68 <d_delete+dc/20c>
    Trace; c013f063 <filp_close+133/140>
Trace; c0150bc6 <sys_ioctl+24a/2e4>
    Trace; c028eac8 <ppp_ioctl+0/d84>
Trace; c01076cb <system_call+33/38>

I think the call chain is
system_call
-> calls sys_ioctl.
    acquires the big kernel lock.
    puts ppp_ioctl on the stack (+0: it's a function pointer, not a return value.)
-> calls ppp_ioctl
    and that one locks up.
The references to close/iput/delete_inode are just stale stack values from a previous
syscall.

Please check where stext_lock+6c30 leads: I think the deadlock is somewhere within
ppp_ioctl, and then the system locks up because the big kernel lock is blocked.

--
    Manfred


^ permalink raw reply	[flat|nested] 5+ messages in thread
* <=2.4.17 deadlock (RedHat 7.2, SMP)
@ 2001-12-23 22:53 Frank van Maarseveen
  2001-12-24 19:48 ` <=2.4.17 deadlock (RedHat 7.2, SMP, ext3 related?) (2) Frank van Maarseveen
  0 siblings, 1 reply; 5+ messages in thread
From: Frank van Maarseveen @ 2001-12-23 22:53 UTC (permalink / raw)
  To: linux-kernel

The problem occurs only when I disconnect a PPP dialup to an ISP. It
results in a box which only listens to alt-sysrq or a power cycle. The
userland setup is a bit complicated (two pppd instances, a zebra routing
daemon) but below there should be a clue about the cause.  This is all
on a RedHat 7.2 distro running on a dual PIII box. My brain decoded the
following JPEG picture I took from the screen after typing alt-sysrq-p
3 times:

Pid: 5613, comm                 pppd
EIP: 0010: [<c0403068>] CPU: 1 EFLAGS 00000286  not tainted
Call Trace: c0273cae c028ee04 c0293ac8 c0155879 c013f063
   c0150bc6 c028eac8 c01076cb

Pid: 5613, comm                 pppd
EIP: 0010: [<c040306f>] CPU: 1 EFLAGS 00000286  not tainted 
Call Trace: c0273cae c028ee04 c0293ac8 c0155879 c013f063
   c0150bc6 c028eac8 c01076cb

Pid: 18, comm                   kjournald
EIP: 0010: [<c03fca5b>] CPU: 0 EFLAGS 00000286  not tainted
Call Trace: c02ad897 c011f1ea c0140af5 c0179dde c011560c
   c017ca4d c017c7e0 c010590f

cat /proc/version says:
Linux version 2.4.17-b65 (fvm@iapetus.localdomain) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 SMP Sun Dec 23 22:16:27 CET 2001

ksymoops says:
ksymoops 2.4.1 on i686 2.4.17-b65.  Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.17-b65/ (default)
     -m /boot/System.map-2.4.17-b65 (default)

Warning: You did not tell me where to find symbol information.  I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc.  ksymoops -h explains the options.

No modules in ksyms, skipping objects
Warning (read_lsmod): no symbols in lsmod, is /proc/modules a valid lsmod file?
EIP: 0010: [<c0403068>] CPU: 1 EFLAGS 00000286  not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
Call Trace: c0273cae c028ee04 c0293ac8 c0155879 c013f063
   c0150bc6 c028eac8 c01076cb
EIP: 0010: [<c040306f>] CPU: 1 EFLAGS 00000286  not tainted
Call Trace: c0273cae c028ee04 c0293ac8 c0155879 c013f063
   c0150bc6 c028eac8 c01076cb
EIP: 0010: [<c03fca5b>] CPU: 0 EFLAGS 00000286  not tainted
Call Trace: c02ad897 c011f1ea c0140af5 c0179dde c011560c
   c017ca4d c017c7e0 c010590f
Warning (Oops_read): Code line not seen, dumping what data is available

>>EIP; c0403068 <stext_lock+6c30/e9ac>   <=====
Trace; c0273cae <rs_wait_until_sent+b6/c4>
Trace; c028ee04 <ppp_ioctl+33c/d84>
Trace; c0293ac8 <ppp_destroy_channel+1bc/1c4>
Trace; c0155879 <dput+19/214>
Trace; c013f063 <filp_close+133/140>
>>EIP; c040306f <stext_lock+6c37/e9ac>   <=====
Trace; c0273cae <rs_wait_until_sent+b6/c4>
Trace; c028ee04 <ppp_ioctl+33c/d84>
Trace; c0293ac8 <ppp_destroy_channel+1bc/1c4>
Trace; c0155879 <dput+19/214>
Trace; c013f063 <filp_close+133/140>
>>EIP; c03fca5b <stext_lock+623/e9ac>   <=====
Trace; c02ad897 <do_ide_request+f/14>
Trace; c011f1ea <__run_task_queue+d2/e0>
Trace; c0140af5 <__wait_on_buffer+55/9c>
Trace; c0179dde <journal_commit_transaction+114a/181c>
Trace; c011560c <schedule+640/818>


3 warnings issued.  Results may not be reliable.

-- 
Frank

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2001-12-25 12:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-12-24 20:17 <=2.4.17 deadlock (RedHat 7.2, SMP, ext3 related?) (2) Manfred Spraul
2001-12-24 20:56 ` Frank van Maarseveen
2001-12-24 21:22   ` Manfred Spraul
     [not found]   ` <005c01c18cc3$305283f0$010411ac@local>
2001-12-25 12:42     ` Frank van Maarseveen
  -- strict thread matches above, loose matches on Subject: below --
2001-12-23 22:53 <=2.4.17 deadlock (RedHat 7.2, SMP) Frank van Maarseveen
2001-12-24 19:48 ` <=2.4.17 deadlock (RedHat 7.2, SMP, ext3 related?) (2) Frank van Maarseveen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox