bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lock up in ext2fs?


From: David Walter
Subject: Re: lock up in ext2fs?
Date: Mon, 10 Jun 2002 23:45:59 -0400
User-agent: Gnus/5.090007 (Oort Gnus v0.07) XEmacs/21.4 (Common Lisp, i386-debian-linux)

David Walter<dwalter@syr.edu> writes:

> Roland McGrath <roland@frob.com> writes:
>
>>> I  think that   I  have  found  a   repeatable assertion   failure, 
>>
>> But you haven't said how to repeat it.
>
> One way is to run something similar.

Ouch, that didn't come out right.

> I am not sure if this is a process creation / threading problem, or if
> it is something to do with the number of queued requests for writes.
>
> i=0; 
> while [ $i -lt 200 ] ; 
> do 
>       mail -s TEST david@localhost < .emacs ; 
>       i=`expr $i + 1`; 
>       echo $i iterations; 
> done


Let's see if I can make any progress with explaining.

the sub-Hurd boots with the command:

#!/bin/bash
settrans -fg /mnt /hurd/ext2fs --readonly /dev/hd0s12
boot -d -D /mnt -I /mnt/boot/servers.boot /dev/hd0s12

Running the loop:

i=0; 
while [ $i -lt 100 ]; 
do 
        echo $i iterations; 
        mail -s TEST david@localhost < /etc/fstab;
        i=`expr $i + 1`; 
        sleep 5;
done

completes successfully.

Running 

i=0; 
while [ $i -lt 100 ]; 
do 
        echo $i iterations; 
        mail -s TEST david@localhost < /etc/fstab;
        i=`expr $i + 1`; 
done

Hangs.

Attaching to the process in gdb gives the following information.

Note - threads > 4  seem to have the  same state information as thread
4.

The process is locked at this point. 

If  there   is   additional information  that   would   be helpful  or
suggestions about debugging this, I'd appreciate them.

Thanks.

(gdb) thread 1
[Switching to thread 1 (thread 135.1)]#0  0x080a46bc in _hurd_check_ids ()
(gdb) where
#0  0x080a46bc in _hurd_check_ids ()
#1  0x08079ef2 in _hurd_init ()
#2  0x0806da72 in cthread_body (self=0x8154fa0)
    at ../../hurd-src/libthreads/cthreads.c:295
#3  0x0806df28 in cthread_init () at ../../hurd-src/libthreads/cthreads.c:388
#4  0x0806f52e in ports_resume_port_rpcs (portstruct=0x0)
    at /include/machine-lock.h:52
#5  0x0804aafe in block_getblk (node=0x7, block=0, nr=130988,
    create=134512842, zero=135222028, new_block=0, result=0x1ff58)
    at ../../hurd-src/ext2fs/ext2fs.h:343
#6  0x08084efc in __dcigettext ()

(gdb) thread 2
[Switching to thread 2 (thread 135.2)]#0  0x080818d3 in hurd_safe_memmove ()
(gdb) where
#0  0x080818d3 in hurd_safe_memmove ()
#1  0x080eb0a1 in crash_dump_task ()
#2  0x080eb0a1 in crash_dump_task ()
#3  0x0805ecbb in diskfs_S_file_get_translator (cred=0x2821c, trans=0x2d6,
    translen=0x3) at ../../hurd-src/libdiskfs/file-get-trans.c:29
#4  0x0805683c in _Xfile_syncfs (InHeadP=0x2821c, OutHeadP=0x0)
    at ../../hurd-src/libdiskfs/diskfs.h:796
#5  0x08058194 in _Xfsys_get_options (InHeadP=0x6008, OutHeadP=0x2821c)
    at fsysServer.c:879
#6  0x08055dce in _Xfile_exec (InHeadP=0x2821c, OutHeadP=0x0) at fsServer.c:171
#7  0x08070597 in ports_do_mach_notify_no_senders (port=179836, count=188028)
    at ../../hurd-src/libports/notify-no-senders.c:30
#8  0x0807a184 in _hurd_proc_init ()
#9  0x08070350 in _Xmach_notify_msg_accepted (InHeadP=0x6008, OutHeadP=0x1)
    at notifyServer.c:124
#10 0x0807068b in ihash_add (ht=0x3, id=134569364, item=0x0, locp=0x0)
    at ../../hurd-src/libihash/ihash.c:148
#11 0x0805923d in _Xio_restrict_auth (InHeadP=0x1, OutHeadP=0x0)
    at ../../hurd-src/libdiskfs/diskfs.h:786
#12 0x0806f097 in thread_function.1 () at /include/machine-lock.h:42

(gdb) thread 3
[Switching to thread 3 (thread 135.3)]#0  0x080a46bc in _hurd_check_ids ()
(gdb) where
#0  0x080a46bc in _hurd_check_ids ()
#1  0x08079ef2 in _hurd_init ()
#2  0x0807a14d in _hurd_proc_init ()
#3  0x08070350 in _Xmach_notify_msg_accepted (InHeadP=0x0, OutHeadP=0x1)
    at notifyServer.c:124
#4  0x0807068b in ihash_add (ht=0x0, id=134628768, item=0x0, locp=0x0)
    at ../../hurd-src/libihash/ihash.c:148
#5  0x080514ae in diskfs_startup_diskfs (bootstrap=0, flags=0)
    at ../../hurd-src/libdiskfs/init-startup.c:49
#6  0x0806f097 in thread_function.1 () at /include/machine-lock.h:42

(gdb) thread 4
[Switching to thread 4 (thread 135.4)]#0  0x080a46bc in _hurd_check_ids ()
(gdb) where
#0  0x080a46bc in _hurd_check_ids ()
#1  0x08079ef2 in _hurd_init ()
#2  0x0807a14d in _hurd_proc_init ()
#3  0x08070350 in _Xmach_notify_msg_accepted (InHeadP=0x0, OutHeadP=0x0)
    at notifyServer.c:124
#4  0x0806f097 in thread_function.1 () at /include/machine-lock.h:42
(gdb) thread 5
[Switching to thread 5 (thread 135.5)]#0  0x080a46bc in _hurd_check_ids ()
(gdb) where
#0  0x080a46bc in _hurd_check_ids ()
#1  0x08079ef2 in _hurd_init ()
#2  0x0807a14d in _hurd_proc_init ()
#3  0x08070350 in _Xmach_notify_msg_accepted (InHeadP=0x0, OutHeadP=0x0)
    at notifyServer.c:124
#4  0x0806f097 in thread_function.1 () at /include/machine-lock.h:42



-- 
Hope springs eternal!

/^\
\ /     ASCII RIBBON CAMPAIGN
 X        AGAINST HTML MAIL
/ \



reply via email to

[Prev in Thread] Current Thread [Next in Thread]