emacs-devel
[Top][All Lists]
Advanced

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

Re: C-g crash in C-x C-f (OSX Lion)


From: Eli Zaretskii
Subject: Re: C-g crash in C-x C-f (OSX Lion)
Date: Fri, 16 Dec 2011 23:11:19 +0200

> Date: Fri, 16 Dec 2011 21:19:19 +0100
> From: Carsten Mattner <address@hidden>
> Cc: address@hidden
> 
> > #0  0x9adc5d50 in strlen ()
> > #1  0x001e7601 in intern (str=0x0) at lread.c:3707
> > #2  0x00283efb in ns_string_to_symbol (t=0x0) at nsselect.m:86
> > #3  0x002847ab in ns_handle_selection_request (event=0xbfffef88) at
> > nsselect.m:247
> >
> > vs the below with with the terminal frontend.
> >
> > Next I will not load evil-mode and see what happens.
> 
> Can these crashes happen due to enabled assertions?

No.  Emacs crashes because it tries to compute the length of a string
specified by a NULL pointer.  It looks like this happens due to a
selection request, but when that request is handled, Emacs tries to
intern a name that is a NULL string.

I don't know enough about the NS build and the code in nsselect.m to
reason why this could happen.  In particular, I don't understand this
portion of the code:

  static void
  ns_handle_selection_request (struct input_event *event)
  {
    // FIXME: BIG UGLY HACK!!!
    id pb = (id)*(EMACS_INT*)&(event->x);
    ...
    selection_name = ns_string_to_symbol ([(NSPasteboard *)pb name]);

How come the x coordinate of an event could be passed to
ns_string_to_symbol as a string, no matter how it is type-cast??

This certainly isn't related to enabled assertions.




reply via email to

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