Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jan 2002 17:11:14 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Emiel Kollof <coolvibe@hackerheaven.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Netatalk broken in current? Lock order reversal?
Message-ID:  <XFMail.020115171114.jhb@FreeBSD.org>
In-Reply-To: <20020116010414.GA425@laptop.hackerheaven.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 16-Jan-02 Emiel Kollof wrote:
> * John Baldwin (jhb@FreeBSD.org) wrote:
>> 
>> > lock order reversal 1st 0xc185e934 filedesc structure @
>> > /usr/src/sys/kern/kern_descrip.c:925
>> > 2nd 0xc0419b00 Giant @ /usr/src/sys/kern/kern_descrip.c:959
>> 
>> This one is due to not releasing the filedesc lock when grabbing Giant to
>> free
>> oldofile in fdalloc().
> 
> Is that going to cause data loss? I also saw messages like these:
> 
> /var: lost blocks 62 files 8

No, that's softupdates stuff.  I think releasing filedesc is ok this case,
but usually I would recode it to move malloc's and free's around to avoid
having to drop and reacquire locks.

>> Having the actual panic messages would be very helpful here.
> 
> It crashed very reproducable with this panic (hand copied):
> 
> exclusive (sleep mutex) Giant (0xc0462c00) locked @
> /usr/src/sys/i386/i386/trap.c:1102
> panic: system call pwrite returning with mutex(s) held

Hmm, erm, go kick Alfred really hard. :)  This function locks Giant and then
doesn't ever unlock it.  This looks to be breakage from his fget() changes
perhaps.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.020115171114.jhb>