Subject: Re: bug#21965: 24.5; Emacs freezes when canceling at open file

From: John Wiegley <[email-masked]>
Date: Mon, 23 Nov 2015 14:17:17 -0800

>>>>> Maneesh Yadav <[email-masked]> writes:

> Flog me if I am not doing this right. Seems that +debug on macports is the
> easy to make debug compiles (an old thread seemed to suggest that macports
> rejected this idea...but I guess it was eventually accepted). So installed
> emacs +debug and reproduced the crash, attached to emacs via lldb and got
> this backtrace (which looks a lot like the previous, can I provide better
> info somehow?):

We're still missing file and line numbers for the Emacs code, which is odd.
But not terribly important, since the lockup is happening inside glib, it
appears.

>     frame #3: 0x00000001009db284
>     libglib-2.0.0.dylib`g_main_context_acquire + 42

So, here's that function, more or less:

    gboolean 
    g_main_context_acquire (GMainContext *context)
    {
      gboolean result = FALSE;
      GThread *self = G_THREAD_SELF;
    
      if (context == NULL)
        context = g_main_context_default ();
      
      LOCK_CONTEXT (context);
      /* ... */
    }

We're blocked waiting on the context. The question then being: who else has
that context? Is it another Emacs thread?

Eli, does this ring any bells?

John