Re: [2.6.21.1] totally hanging altough not crashed

Folkert van Heusden
2007-07-20T20:55:37Z

> > One of my systems running 2.6.21.1 on a P4 with HT and 2GB of ram
> > occasionally crashes. Not with an oops or panic, it just suddenly stops
> > doing anything. It still lets you ping and it still forwards ip traffic
> > but you can't login: not via ssh and not on the console - pressing enter
> > brings the cursor to the next line and that's it. It is NOT swapping at
> > all, in fact alt+sysrq+m says that there's still plenty of memory and
> > swap available:
> Lots of processes are in uninterruptible wait at
> start_this_handle+0x208/0x365. Can you find out what line of code
> that matches? (There are a few of those waits in that function.)

I hope I follow the correct procedure but in any case gdb tells me this:

0 root@muur:/usr/src/linux$ gdb ./vmlinux
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-slackware-linux"...l *Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) l *c10c23a0
No symbol "c10c23a0" in current context.
(gdb) p start_this_handle
$1 = {int (journal_t *, handle_t *)} 0xc10c7614 <start_this_handle>
(gdb) l *0xC10C7979
0xc10c7979 is in new_handle (fs/jbd/transaction.c:238).
233 return ret;
234 }
235
236 /* Allocate a new handle. This should probably be in a slab... */
237 static handle_t *new_handle(int nblocks)
238 {
239 handle_t *handle = jbd_alloc_handle(GFP_NOFS);
240 if (!handle)
241 return NULL;
242 memset(handle, 0, sizeof(*handle));
(gdb) l *0xC10C781C
0xc10c781c is in start_this_handle (fs/jbd/transaction.c:155).
150
151 prepare_to_wait(&journal->j_wait_transaction_locked,
152 &wait, TASK_UNINTERRUPTIBLE);
153 spin_unlock(&journal->j_state_lock);
154 schedule();
155 finish_wait(&journal->j_wait_transaction_locked, &wait);
156 goto repeat;
157 }
158
159 /*
(gdb)

Folkert van Heusden

--
www.vanheusden.com/multitail - win een vlaai van multivlaai! zorg
ervoor dat multitail opgenomen wordt in Fedora Core, AIX, Solaris of
HP/UX en win een vlaai naar keuze