[f]statvfs (was Re: bug in statfs)
Pierre A. Humblet
Sun Dec 7 02:56:00 GMT 2003
At 09:48 PM 12/6/2003 -0500, Christopher Faylor wrote:
>On Sat, Dec 06, 2003 at 09:21:38PM -0500, Pierre A. Humblet wrote:
>>At 12:16 PM 12/6/2003 -0500, Christopher Faylor wrote:
>>>On Sat, Dec 06, 2003 at 12:01:00PM -0500, Pierre A. Humblet wrote:
>>>>Actually I am making some progress. As noted before all I get is a pop
>>>>up about a fault in cygwin1.dll After trying numerous times in gdb, I
>>>>captured something useful. Apparently the problem happens during
>>>>DLL_THREAD_DETACH when few threads are still alive. A threadinfo
>>>>linked list appears to be screwed up. Now let me reboot...
>>>This particular problem should have been fixed in CVS around 5:29 GMT.
>>>It was pretty easy to duplicate using the technique I'd previously
>>>advocated of debugging a bash which was running a script that was
>>>known to fail -- at least on WinXP/2003. I don't know why WinME
>>>would be any different in this regard.
>>That's the technique I used, it just takes some patience.
>>I had rebuilt at around 3:00 GMT on 12/6 and I had you 12/5 ChangeLog
>>entry, thus that change was already included.
>>The critical section you added this afternoon seems to help a lot.
>>I had a look at the code and noticed a few things that may or may not
>>- it seems possible to return from _threadinfo::remove () without having
>> left the critical section.
>Fixed, but this obviously was not the cause of the reported problem
>especially since in the current code this should be an extremely
>unlikely (if not impossible) occurrence.
>>- shouldn't the critical section be used in find_tls()? It's going
>> to misbehave if a list element is deleted while it walks the list.
>I'll change that. Again, this is an unlikely, if not impossible,
>occurrence in bash, though.
>So, are you saying the problem is gone now? I don't know how the
>critical section would have solved this since it wasn't even intended
>for that purpose.
I did my debugging with sh (not bash), FWIW.
Since rebuilding with your afternoon changes I can build cygwin and exim
without pesky popups.
However I have seen an stty failure, called from my .bash_profile. That must
be another problem.
I obviously don't know the code well, but don't the cygthreads put themselves
on the list and remove themselves soon after (the remove() in the stubs2)?
More information about the Cygwin-developers