Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jun 2008 11:27:53 +0200
From:      Kris Kennaway <kris@FreeBSD.org>
To:        Martin Cracauer <cracauer@cons.org>
Cc:        freebsd-fs@FreeBSD.ORG, cracauer@FreeBSD.ORG, freebsd-stable@FreeBSD.ORG, maxim@FreeBSD.ORG
Subject:   Re: infinite loop when copying to ext2fs
Message-ID:  <48563219.9070306@FreeBSD.org>
In-Reply-To: <20080616034258.GA94873@cons.org>
References:  <20080118120140.2a8170a0@dev> <47921931.9050606@FreeBSD.org> <47921AE2.1060004@FreeBSD.org> <20080301220924.72bf355d@dev.citybikes.cz> <47C9C912.1020700@FreeBSD.org> <20080616034258.GA94873@cons.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Martin Cracauer wrote:
> Kris Kennaway wrote on Sat, Mar 01, 2008 at 10:22:26PM +0100: 
>> Jakub Siroky wrote:
>>> I've just confirmed the same situation on 6.2-RELEASE amd64/GENERIC. I
>>> did not noticed it before because I started using ext2fs extensively
>>> some months ago.
>>>
>>> Regards,
>>> Jakub
>>>
>>> On Sat, 19 Jan 2008 16:44:34 +0100
>>> Kris Kennaway <kris@FreeBSD.org> wrote:
>>>
>>>> Kris Kennaway wrote:
>>>>> Jakub Siroky wrote:
>>>>>> I have two large ext2fs partitions (368 and 313GB) to hold data
>>>>>> shared between several OSes. While there were no problems on
>>>>>> 6-STABLE branch I was quite disappointed after upgrade to
>>>>>> 7-STABLE. Whenever I copy/write to ext2fs partition the system
>>>>>> freezes totally without crashdump. So I set debugging settings to
>>>>>> kernel config (DEBUG,WITNESS,..) and in console I reproduced error
>>>>>> situation ending with full screen of unstoppable running text with
>>>>>> lot of memory addresses and a few recognisable words: 'new block
>>>>>> bit set for ext already' - again with no crashdump. Then I have
>>>>>> formatted 1GB partition with ext2fs and the problem on this small
>>>>>> partition appears only sometimes. 
>>>>> OK, I am able to reproduce this.
>>>>>
>>>>> Kris
>>>>>
>>>> Is anyone able to look at this?  I could not spot a candidate change 
>>>> that has not been merged to 6.x.
>>>>
>>>> Kris
>>>
>> Sounds like it may have been broken by the change to ext2_bitops.h by 
>> cracauer.  Can you confirm whether backing out 1.2.2.1 fixes it?
> 
> I don't think my change can cause a new endless loop.
> 
> I only reversed the order of tests to ensure we don't overrun a page
> bounddary (into possibly unmapped space).
> 
> -       while(*p == ~0U && ofs < sz) {
> +       while(ofs < sz && *p == ~0U) {
> 
> It is, however, likely that the code was buggy in the first place.
> Linux has replaced all this (the allocation code).
> 
> Also note that the code I fixed is amd64 only.  If the endless loop
> appears on i386 it's something else.
> 
> Martin

It is amd64 only.  I am able to reproduce using the method in the 
original mails, can you?

Kris




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