guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guile 2.0.9 build on mingw


From: Eli Zaretskii
Subject: Re: guile 2.0.9 build on mingw
Date: Sun, 09 Jun 2013 20:10:38 +0300

> Date: Fri, 07 Jun 2013 17:59:57 +0300
> From: Eli Zaretskii <address@hidden>
> Cc: address@hidden
> 
> > > What's more, after this backtrace is displayed, guile hangs here:
> > >
> > >      void
> > >      scm_i_close_signal_pipe()
> > >      {
> > >        /* SIGNAL_DELIVERY_THREAD_MUTEX is only locked while the signal 
> > > delivery
> > >     thread is being launched.  The thread that calls this function is
> > >     already holding the thread admin mutex, so if the delivery thread 
> > > hasn't
> > >     been launched at this point, it never will be before shutdown.  */
> > >  >>>>> scm_i_pthread_mutex_lock (&signal_delivery_thread_mutex);
> > >
> > >      #if SCM_USE_PTHREAD_THREADS
> > >        if (scm_i_signal_delivery_thread != NULL)
> > >    close (signal_pipe[1]);
> > >      #endif
> > >
> > >        scm_i_pthread_mutex_unlock (&signal_delivery_thread_mutex);
> > >      }
> > 
> > Can you run ‘thread apply all bt’ in gdb once it’s hang, and send the
> > tip of the C backtraces for all the threads?
> 
> I'll try.

There's only one thread at this point, its backtrace is below.
Actually, I don't see more than this one thread during the entire run
(GDB doesn't announce any thread birth or death, and Process Explorer
shows a single thread in the process at all times).  Note that we are
talking about a child guile process -- it's that one that prints the
weird traceback and hangs.  The parent just waits for the child to
finish.

Here's the backtrace with some context info:

     GNU gdb (GDB) 7.6
     Copyright (C) 2013 Free Software Foundation, Inc.
     License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
     This is free software: you are free to change and redistribute it.
     There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
     and "show warranty" for details.
     This GDB was configured as "i686-pc-mingw32".
     For bug reporting instructions, please see:
     <http://www.gnu.org/software/gdb/bugs/>.
     Attaching to process 5864
     [New Thread 5864.0x15cc]
     [New Thread 5864.0x1dc4]
     Reading symbols from 
d:\usr\eli\utils\guile-2.0.9\libguile\.libs\guile.exe...done.
     (gdb) info threads
       Id   Target Id         Frame
     * 2    Thread 5864.0x1dc4 0x77c4000d in ntdll!DbgBreakPoint ()
        from C:\Windows\SysWOW64\ntdll.dll
       1    Thread 5864.0x15cc vm_regular_engine (vm=0xf65c80, program=0xfa0f98,
         argv=0x0, nargs=0) at vm-i-system.c:779
     (gdb) bre
     break        break-range
     (gdb) break scmsi
     scmsigs.c  scmsigs.x
     (gdb) break scmsigs.c:662
     Breakpoint 1 at 0x43671b: file scmsigs.c, line 662.
     (gdb) c
     Continuing.
     [Thread 5864.0x1dc4 exited with code 0]
     [Switching to Thread 5864.0x15cc]

     Breakpoint 1, scm_i_close_signal_pipe () at scmsigs.c:662
     662       scm_i_pthread_mutex_lock (&signal_delivery_thread_mutex);
     (gdb) bt
     #0  scm_i_close_signal_pipe () at scmsigs.c:662
     #1  0x00431ee9 in on_thread_exit (v=0xef0f00) at threads.c:777
     #2  0x62481f14 in ptw32_callUserDestroyRoutines ()
        from d:\usr\bin\pthreadGC2.dll
     #3  0x624855a1 in pthread_win32_thread_detach_np ()
        from d:\usr\bin\pthreadGC2.dll
     #4  0x62485a45 in address@hidden () from d:\usr\bin\pthreadGC2.dll
     #5  0x624810ed in address@hidden () from d:\usr\bin\pthreadGC2.dll
     #6  0x77c69950 in ntdll!RtlQueryEnvironmentVariable ()
        from C:\Windows\SysWOW64\ntdll.dll
     #7  0x62480000 in ?? ()
     #8  0x77c7d6b2 in ntdll!LdrShutdownProcess ()
        from C:\Windows\SysWOW64\ntdll.dll
     #9  0x624810c0 in __dll_exit () from d:\usr\bin\pthreadGC2.dll
     #10 0x77c7d554 in ntdll!RtlExitUserProcess ()
        from C:\Windows\SysWOW64\ntdll.dll
     #11 0x75e97a0d in KERNEL32!ExitProcess ()
        from C:\Windows\syswow64\kernel32.dll
     #12 0x00000000 in ?? ()
     (gdb) info threads
       Id   Target Id         Frame
     * 1    Thread 5864.0x15cc scm_i_close_signal_pipe () at scmsigs.c:662




reply via email to

[Prev in Thread] Current Thread [Next in Thread]