From: Carsten Mattner <carstenmattner@googlemail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Emacs developers <emacs-devel@gnu.org>
Subject: Re: C-g crash in C-x C-f (OSX Lion)
Date: Sat, 17 Dec 2011 16:49:22 +0100 [thread overview]
Message-ID: <CACY+HvqxAVMa0vi3j8XZHDdUDCpD8ibjmAntHyczHbeaz_HkDw@mail.gmail.com> (raw)
In-Reply-To: <CACY+Hvq6D1jdaxxAj_OnuT2bBkjZ90xJ+Yh=-f3vGvTKpECo7g@mail.gmail.com>
On Sat, Dec 17, 2011 at 4:39 PM, Carsten Mattner
<carstenmattner@googlemail.com> wrote:
> On Sat, Dec 17, 2011 at 9:32 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>>> From: Andreas Schwab <schwab@linux-m68k.org>
>>> Cc: Carsten Mattner <carstenmattner@googlemail.com>, emacs-devel@gnu.org
>>> Date: Fri, 16 Dec 2011 22:24:26 +0100
>>>
>>> Eli Zaretskii <eliz@gnu.org> writes:
>>>
>>> > 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??
>>>
>>> Because Fx_own_selection_internal put it there.
>>>
>>> (Get your barf bag ready!)
>>
>> Thanks for the heads-up, I needed that bag.
>>
>> So the question now is why that string comes out as NULL. This
>> happens in this code in x-own-selection-internal:
>>
>> pb =[NSPasteboard pasteboardWithName: symbol_to_nsstring (selection_name)];
>>
>> and the value of pb gets later put into the event's x member:
>>
>> /* XXX An evil hack, but a necessary one I fear XXX */
>> {
>> struct input_event ev;
>> ev.kind = SELECTION_REQUEST_EVENT;
>> ev.modifiers = 0;
>> ev.code = 0;
>> *(EMACS_INT*)(&(ev.x)) = (EMACS_INT)pb; // FIXME: BIG UGLY HACK!!
>> *(EMACS_INT*)(&(ev.y)) = (EMACS_INT)NSStringPboardType;
>> ns_handle_selection_request (&ev);
>> }
>>
>> Now, this part of the backtrace:
>>
>> #4 0x00285202 in Fx_own_selection_internal (selection_name=27744162,
>> selection_value=39954401) at nsselect.m:425
>> ev = {
>> kind = SELECTION_REQUEST_EVENT,
>> code = 0,
>> part = 1771886,
>> modifiers = 0,
>> x = 0,
>> y = -1396380776,
>> timestamp = 1,
>> padding = {0x4, 0x1a6ba22},
>> frame_or_window = 27783754,
>> arg = 27703842
>> }
>> pb = (id) 0x0
>>
>> indicates that pb comes out as NULL and gets put into ev.x as zero.
>> So the question is: what is selection_name, whose value is 27744162,
>> and which caused symbol_to_nsstring to return NULL?
>>
>> Carsten, if you still have the crashed session, please go to the stack
>> frame showing the call to Fx_own_selection_internal (in the above
>> case, this is frame #4), by typing "frame N" at the GDB prompt (where
>> N is the number of the frame), and then type these commands:
>>
>> (gdb) p selection_name
>> (gdb) xtype
>>
>> I expect the last command to say "Lisp_Symbol", in which case please
>> type
>>
>> (gdb) xsymbol
>>
>> to show what symbol is that.
>>
>> If the crashed session is no longer available, make it crash as soon
>> as possible and then do the above.
>
> New session same #4 for that call
> (gdb) frame 4
> #4 0x00285202 in Fx_own_selection_internal (selection_name=27744162,
> selection_value=78814449) at nsselect.m:425
> 425 ns_handle_selection_request (&ev);
> Current language: auto; currently objective-c
> (gdb) p selection_name
> $1 = 27744162
> (gdb) xtype
> Undefined command: "xtype". Try "help".
> (gdb) xsymbol
> Undefined command: "xsymbol". Try "help".
> (gdb)
>
> Could gdb be too old for xsymbol/xtype commands? Are those aliases?
> GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Mon Aug 8 20:32:45 UTC 2011)
> Copyright 2004 Free Software Foundation, Inc.
>
> Apple prefers lldb and I have that ready and also could build
> lldb from svn trunk if there's a reason to do so.
This is with Xcode's lldb:
Process 486 stopped
* thread #1: tid = 0x1f07, 0x9adc5d50 libsystem_c.dylib`strlen + 16,
stop reason = EXC_BAD_ACCESS (code=2, address=0x0)
frame #0: 0x9adc5d50 libsystem_c.dylib`strlen + 16
(lldb) bt
* thread #1: tid = 0x1f07, 0x9adc5d50 libsystem_c.dylib`strlen + 16,
stop reason = EXC_BAD_ACCESS (code=2, address=0x0)
frame #0: 0x9adc5d50 libsystem_c.dylib`strlen + 16
frame #1: 0x001e7601 Emacs`intern + 33 at lread.c:3707
frame #2: 0x00283efb Emacs`ns_string_to_symbol + 459 at nsselect.m:86
frame #3: 0x002847ab Emacs`ns_handle_selection_request + 75 at
nsselect.m:247
frame #4: 0x00285202 Emacs`Fx_own_selection_internal + 370 at nsselect.m:425
frame #5: 0x001b025b Emacs`Ffuncall + 1147 at eval.c:2989
frame #6: 0x0020e3b1 Emacs`exec_byte_code + 3329 at bytecode.c:785
frame #7: 0x001b0e01 Emacs`funcall_lambda + 1185 at eval.c:3217
frame #8: 0x001b04a0 Emacs`Ffuncall + 1728 at eval.c:3035
frame #9: 0x001af8e4 Emacs`call2 + 68 at eval.c:2770
frame #10: 0x000f7a33 Emacs`command_loop_1 + 3779 at keyboard.c:1656
frame #11: 0x001ac5d6 Emacs`internal_condition_case + 294 at eval.c:1499
frame #12: 0x000f66cd Emacs`command_loop_2 + 61 at keyboard.c:1159
frame #13: 0x001abebf Emacs`internal_catch + 223 at eval.c:1256
frame #14: 0x000f664b Emacs`command_loop + 203 at keyboard.c:1138
frame #15: 0x000f5b95 Emacs`recursive_edit_1 + 181 at keyboard.c:758
frame #16: 0x000f5d86 Emacs`Frecursive_edit + 326 at keyboard.c:822
frame #17: 0x000f3b6a Emacs`main + 6442 at emacs.c:1709
(lldb) frame 4
invalid command 'frame 4'
(lldb) frame
Available completions:
info
select
variable
(lldb) frame select 4
frame #4: 0x00285202 Emacs`Fx_own_selection_internal + 370 at nsselect.m:425
422 ev.code = 0;
423 *(EMACS_INT*)(&(ev.x)) = (EMACS_INT)pb; // FIXME: BIG UGLY HACK!!
424 *(EMACS_INT*)(&(ev.y)) = (EMACS_INT)NSStringPboardType;
-> 425 ns_handle_selection_request (&ev);
426 }
427 return selection_value;
428 }
(lldb) p selection_name
(Lisp_Object) $0 = 27744162
(lldb)
next prev parent reply other threads:[~2011-12-17 15:49 UTC|newest]
Thread overview: 156+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-12 13:11 C-g crash in C-x C-f (OSX Lion) Carsten Mattner
2011-12-14 17:56 ` chad
2011-12-14 20:50 ` Jan Djärv
2011-12-14 21:45 ` Carsten Mattner
2011-12-15 6:08 ` Eli Zaretskii
2011-12-15 20:42 ` Carsten Mattner
2011-12-15 20:47 ` Eli Zaretskii
2011-12-15 21:22 ` Carsten Mattner
2011-12-15 21:24 ` Carsten Mattner
2011-12-16 12:46 ` Carsten Mattner
2011-12-16 13:33 ` Jan D.
2011-12-16 14:21 ` Carsten Mattner
2011-12-16 14:32 ` Eli Zaretskii
2011-12-16 19:00 ` Carsten Mattner
2011-12-16 19:02 ` Carsten Mattner
2011-12-16 20:11 ` Carsten Mattner
2011-12-16 20:14 ` Carsten Mattner
2011-12-16 20:19 ` Carsten Mattner
2011-12-16 20:21 ` Carsten Mattner
2011-12-16 21:12 ` Eli Zaretskii
2011-12-16 21:21 ` Carsten Mattner
2011-12-16 21:11 ` Eli Zaretskii
2011-12-16 21:22 ` Carsten Mattner
2011-12-17 8:33 ` Eli Zaretskii
2011-12-16 21:24 ` Andreas Schwab
2011-12-17 3:41 ` Stephen J. Turnbull
2011-12-17 4:36 ` Óscar Fuentes
2011-12-17 8:32 ` Eli Zaretskii
2011-12-17 9:46 ` Jan Djärv
2011-12-17 12:03 ` Eli Zaretskii
2011-12-17 13:50 ` Jan Djärv
2011-12-17 15:39 ` Carsten Mattner
2011-12-17 15:49 ` Carsten Mattner [this message]
2011-12-17 16:08 ` Eli Zaretskii
2011-12-17 16:09 ` Jan Djärv
2011-12-17 16:20 ` Carsten Mattner
2011-12-17 16:47 ` Carsten Mattner
2011-12-17 17:15 ` Jan Djärv
2011-12-17 17:19 ` Carsten Mattner
2011-12-17 17:46 ` Jan Djärv
2011-12-17 18:06 ` Carsten Mattner
2011-12-17 18:18 ` Jan Djärv
2011-12-17 18:20 ` Carsten Mattner
2011-12-19 8:40 ` Stephen J. Turnbull
2011-12-19 10:59 ` Carsten Mattner
2011-12-19 11:20 ` Eli Zaretskii
2011-12-19 11:51 ` Carsten Mattner
2011-12-19 14:04 ` Eli Zaretskii
2011-12-19 11:53 ` Stephen J. Turnbull
2011-12-17 9:27 ` Jan Djärv
2011-12-16 21:49 ` Carsten Mattner
2011-12-17 8:13 ` Eli Zaretskii
2011-12-17 0:22 ` Paul Eggert
2011-12-17 9:14 ` Jan Djärv
2011-12-17 17:30 ` Adrian Robert
2011-12-17 17:53 ` Jan Djärv
2011-12-17 18:19 ` Paul Eggert
2011-12-19 18:18 ` Jan Djärv
2011-12-19 21:31 ` Paul Eggert
2011-12-19 9:00 ` René Kyllingstad
2011-12-19 11:00 ` Carsten Mattner
2011-12-19 15:53 ` Jan D.
2011-12-19 16:52 ` Carsten Mattner
2011-12-19 17:04 ` chad
2011-12-19 17:25 ` René Kyllingstad
2011-12-19 17:47 ` Carsten Mattner
2011-12-19 22:27 ` Dan Nicolaescu
2011-12-19 22:29 ` Carsten Mattner
2011-12-19 23:42 ` chad
2011-12-20 0:03 ` chad
2011-12-20 1:12 ` YAMAMOTO Mitsuharu
2011-12-20 1:28 ` YAMAMOTO Mitsuharu
2011-12-20 1:40 ` chad
2011-12-20 2:14 ` Glenn Morris
2011-12-20 2:32 ` YAMAMOTO Mitsuharu
2011-12-20 9:24 ` YAMAMOTO Mitsuharu
2011-12-20 18:33 ` Carsten Mattner
2011-12-21 0:38 ` YAMAMOTO Mitsuharu
2011-12-21 10:42 ` Carsten Mattner
2011-12-22 0:34 ` YAMAMOTO Mitsuharu
2011-12-22 11:23 ` Carsten Mattner
2011-12-22 0:42 ` YAMAMOTO Mitsuharu
2011-12-22 11:28 ` Carsten Mattner
2011-12-23 1:28 ` YAMAMOTO Mitsuharu
2011-12-23 8:09 ` Jan Djärv
2011-12-24 1:54 ` YAMAMOTO Mitsuharu
2011-12-26 15:31 ` Jan Djärv
2011-12-26 15:46 ` David Reitter
2011-12-26 16:26 ` Carsten Mattner
2011-12-26 16:41 ` Stephen J. Turnbull
2011-12-27 1:28 ` YAMAMOTO Mitsuharu
2011-12-27 1:14 ` YAMAMOTO Mitsuharu
2011-12-23 13:26 ` Ted Zlatanov
2011-12-23 15:05 ` Stephen J. Turnbull
2011-12-27 15:52 ` Ted Zlatanov
2011-12-28 4:50 ` Stephen J. Turnbull
2011-12-28 7:36 ` YAMAMOTO Mitsuharu
2011-12-28 10:42 ` Stefan Monnier
2011-12-28 13:44 ` Jan Djärv
2011-12-29 0:18 ` Ted Zlatanov
2011-12-29 0:57 ` YAMAMOTO Mitsuharu
2011-12-29 15:15 ` Ted Zlatanov
2011-12-30 0:34 ` YAMAMOTO Mitsuharu
2011-12-30 14:52 ` Ted Zlatanov
2011-12-30 22:12 ` YAMAMOTO Mitsuharu
2011-12-31 13:22 ` Mac OS-compatible ports (was: C-g crash in C-x C-f (OSX Lion)) Ted Zlatanov
2011-12-31 14:27 ` Mac OS-compatible ports Jan D.
2012-01-01 1:54 ` YAMAMOTO Mitsuharu
2012-01-01 10:48 ` Jan Djärv
2012-01-01 15:31 ` Adrian Robert
2012-01-02 0:13 ` YAMAMOTO Mitsuharu
2012-01-01 1:47 ` Mac OS-compatible ports (was: C-g crash in C-x C-f (OSX Lion)) YAMAMOTO Mitsuharu
2012-01-01 7:02 ` YAMAMOTO Mitsuharu
2012-01-01 21:18 ` Mac OS-compatible ports David De La Harpe Golden
2012-01-02 6:04 ` YAMAMOTO Mitsuharu
2012-01-01 10:50 ` Mac OS-compatible ports (was: C-g crash in C-x C-f (OSX Lion)) Carsten Mattner
2012-01-01 14:06 ` Mac OS-compatible ports Ted Zlatanov
2012-01-02 0:43 ` YAMAMOTO Mitsuharu
2012-01-01 6:26 ` Leo
2012-01-01 10:36 ` Jan Djärv
2012-01-01 10:48 ` Carsten Mattner
2012-01-02 10:08 ` Christian Lynbech
2012-01-07 13:09 ` Dimitri Fontaine
2012-01-08 1:07 ` Dave Abrahams
2012-01-08 1:10 ` Dave Abrahams
2012-01-08 1:28 ` chad
2012-01-08 8:37 ` Dimitri Fontaine
2012-01-01 13:24 ` Ted Zlatanov
2012-01-01 19:22 ` chad
2011-12-20 1:57 ` C-g crash in C-x C-f (OSX Lion) Leo
2011-12-20 7:29 ` YAMAMOTO Mitsuharu
2011-12-19 18:15 ` Harald Hanche-Olsen
2011-12-19 18:50 ` Carsten Mattner
2011-12-19 19:40 ` Harald Hanche-Olsen
2011-12-19 20:16 ` Jan Djärv
2011-12-19 20:46 ` Carsten Mattner
2011-12-20 17:34 ` Adrian Robert
2011-12-17 18:26 ` Richard Stallman
2011-12-17 18:30 ` Carsten Mattner
[not found] ` <CACY+HvrywuKjP8-TtONhaX-D6hK7WPKFhe2gqWA9BkjkpZ_uAg@mail.gmail.com>
2011-12-18 10:22 ` Carsten Mattner
2011-12-18 13:52 ` Jan Djärv
2011-12-18 14:35 ` Carsten Mattner
2011-12-18 15:09 ` Jan Djärv
2011-12-18 17:58 ` Carsten Mattner
2011-12-19 6:32 ` Jan Djärv
2011-12-19 11:04 ` Carsten Mattner
2011-12-19 13:33 ` Carsten Mattner
2011-12-19 15:55 ` Jan D.
2011-12-19 16:53 ` Carsten Mattner
2011-12-19 17:48 ` Jan Djärv
2011-12-19 18:51 ` Carsten Mattner
2011-12-19 20:16 ` Jan Djärv
2011-12-18 16:54 ` Eli Zaretskii
2011-12-18 17:11 ` Carsten Mattner
2011-12-19 2:51 ` Richard Stallman
2011-12-19 11:10 ` Carsten Mattner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CACY+HvqxAVMa0vi3j8XZHDdUDCpD8ibjmAntHyczHbeaz_HkDw@mail.gmail.com \
--to=carstenmattner@googlemail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.