GNU bug report logs -
#14569
24.3.50; bootstrap fails on Cygwin
Previous Next
Reported by: Katsumi Yamaoka <yamaoka <at> jpl.org>
Date: Fri, 7 Jun 2013 00:17:01 UTC
Severity: important
Found in version 24.3.50
Done: Ken Brown <kbrown <at> cornell.edu>
Bug is archived. No further changes may be made.
Full log
Message #35 received at submit <at> debbugs.gnu.org (full text, mbox):
Hello.
10 jun 2013 kl. 20:56 skrev Angelo Graziosi <angelo.graziosi <at> alice.it>:
> Il 10/06/2013 18.27, Jan Djärv ha scritto:
>> Hello.
>>
>> This sounds like a bug in GLib. Put a breakpoint at g_thread_abort to get a useful backtrace.
>
> I am afraid but GDB is not for me... :(
The error is not even consistent, it only occurs sometimes. There seems to be a random memory corruption going on. Sometimes bootstrap fails with a core dump, sometimes with
GLib (gthread-posix.c): Unexpected error from C library during 'pthread_setspecific': Invalid argument. Aborting.
And this is while compiling .el-files. It is not crashing in the same .el-file, many files compile just fine before the crash happens (if it happens). Redoing the make after a crash usually produces an Emacs executable. It seems to run fine, but I haven't run it for a very long time. Maybe the bug manifests itself only in bootstrap-emacs when using GLib?
I got one backtrace for the setspecific error:
Breakpoint 1, 0x610dcd26 in abort () from /usr/bin/cygwin1.dll
(gdb) bt
#0 0x610dcd26 in abort () from /usr/bin/cygwin1.dll
#1 0x6a90d066 in g_spawn_close_pid () from /usr/bin/cygglib-2.0-0.dll
#2 0x6a908e8c in g_private_set () from /usr/bin/cygglib-2.0-0.dll
#3 0x6a8f06ce in g_thread_self () from /usr/bin/cygglib-2.0-0.dll
#4 0x6a8ce250 in g_main_context_iteration () from /usr/bin/cygglib-2.0-0.dll
#5 0x6a8ce2aa in g_main_context_iteration () from /usr/bin/cygglib-2.0-0.dll
#6 0x6a8f017d in g_thread_proxy () from /usr/bin/cygglib-2.0-0.dll
#7 0x610ffe1a in pthread::thread_init_wrapper(void*) ()
from /usr/bin/cygwin1.dll
#8 0x6108974c in thread_wrapper(void*) () from /usr/bin/cygwin1.dll
This is in a separate thread, Emacs is executing in another thread:
(gdb) info threads
Id Target Id Frame
* 3 Thread 1564.0x2d4 0x610dcd26 in abort () from /usr/bin/cygwin1.dll
2 Thread 1564.0xfd0 0x7c90e514 in ntdll!KiFastSystemCallRet ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
1 Thread 1564.0xa8c 0x0054b2d5 in oblookup (obarray=<optimized out>,
ptr=<optimized out>, size=10, size_byte=<optimized out>) at lread.c:3905
(gdb) thr 1
[Switching to thread 1 (Thread 1564.0xa8c)]
#0 0x0054b2d5 in oblookup (obarray=<optimized out>, ptr=<optimized out>,
size=10, size_byte=<optimized out>) at lread.c:3905
3905 if (SBYTES (SYMBOL_NAME (tail)) == size_byte
(gdb) thr 1
[Switching to thread 1 (Thread 1564.0xa8c)]
#0 0x0054b2d5 in oblookup (obarray=<optimized out>, ptr=<optimized out>,
size=10, size_byte=<optimized out>) at lread.c:3905
3905 if (SBYTES (SYMBOL_NAME (tail)) == size_byte
(gdb) bt
#0 0x0054b2d5 in oblookup (obarray=<optimized out>, ptr=<optimized out>,
size=10, size_byte=<optimized out>) at lread.c:3905
#1 0x0054b678 in intern_c_string_1 (
str=0x779503 <targets.14003+4547> ":keepalive", len=10) at lread.c:3715
#2 0x0056b76b in intern_c_string (
str=0x779503 <targets.14003+4547> ":keepalive") at lisp.h:3332
#3 init_process_emacs () at process.c:7144
#4 0x004bf335 in main (argc=<optimized out>, argv=0x22abc0) at emacs.c:1464
(gdb) fr3
Undefined command: "fr3". Try "help".
(gdb) fr 3
#3 init_process_emacs () at process.c:7144
7144 subfeatures = pure_cons (intern_c_string (sopt->name), subfeatures);
As there seems to be no good memory debuggers for Cygwin, this will be hard to find. I still think it is an GLib/Cygwin error.
Jan D.
This bug report was last modified 11 years and 314 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.