1.7.10s 20110729 - problem listing services in /proc

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Sat Jul 30 20:14:00 GMT 2011

On Sat, Jul 30, 2011 at 10:21:30AM +0200, Corinna Vinschen wrote:
>On Jul 30 14:44, jojelino wrote:
>> Breakpoint 2, fhandler_registry::close (this=0x612cba5c)
>>     at /tmp/winsup/winsup/cygwin/fhandler_registry.cc:856
>> 856           cfree (value_name);
>> 10: this->value_name = 0x612cb374 L"services"
>> (gdb)
>> Continuing.
>> 0x612cba5c->value_name = 0
>> 0x612cb124_2->value_name = 0x612cba5c->value_name = 0x612cb374
>> L"services" (quadruple-freed but known as not freed)
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x7c80bef7 in RaiseException () from
>> /cygdrive/c/WINDOWS/system32/kernel32.dll
>> In brief, same address quadruple-freed. because of dangling pointer.
>> Regards.
>It turned out that I could reproduce the problem, I just didn't notice
>it.  I expected an error message but find died silently, so I took that
>as "it works".  Serves me right for looking into Cygwin bug reports too
>late at night.

Funny.  I did exactly the same thing maybe for the same reason.  If I
had run the command under strace, I would have seen that it failed.

The snapshot bisection + jojelino's debugging did point at the reason
for the problem, though.  I changed the way dup() worked slightly back
in May and that tickled a nascent problem in fhandler_registry::dup.

Thanks to everyone who contributed debugging details.


Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list