Subject: Re: 26.0.91; unknown crash on macos

From: Aaron Jensen <[email-masked]>
Date: Tue, 13 Mar 2018 09:36:40 -0700

I was able to get more information, though this trace is different.

I believe this crash has to do with child frames as my repro involves
using flycheck-posframe. For what it's worth, my repro is as follows:

1. Start emacs w/ my config
2. Open a typescript file
3. Cause a flycheck error by deleting a character from an identifier
4. Put the point on the error and move it off several times to see the
child frame w/ the error appear and disappear
5. Click away from emacs
6. Click back in
7. split-window-right
8. Sometimes this is enough to crash it, sometimes I hit a binding
that uses find-file-existing to open my init.el and that crashes it.

On emacs-26 (e4b73abd38)

I'll leave the debugger running in case anyone has any questions about
its state.

Here is the crash:

* thread #1, queue = 'com.apple.main-thread', stop reason =
EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00000001003aadcb emacs`-[EmacsApp
sendEvent:](self=0x0000000101739740, _cmd="sendEvent:",
theEvent=0x00000001119c7cf0) at nsterm.m:5449
   5446   if (represented_filename != nil && represented_frame)
   5447     {
   5448       NSString *fstr = represented_filename;
-> 5449       NSView *view = FRAME_NS_VIEW (represented_frame);
   5450 #ifdef NS_IMPL_COCOA
   5451       /* work around a bug observed on 10.3 and later where
   5452          setTitleWithRepresentedFilename does not clear out
previous state
Target 0: (emacs) stopped.

(lldb) thread backtrace
* thread #1, queue = 'com.apple.main-thread', stop reason =
EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x00000001003aadcb emacs`-[EmacsApp
sendEvent:](self=0x0000000101739740, _cmd="sendEvent:",
theEvent=0x00000001119c7cf0) at nsterm.m:5449
    frame #1: 0x00007fff50c29d9d AppKit`-[NSApplication run] + 812
    frame #2: 0x00000001003aaaca emacs`-[EmacsApp
run](self=0x0000000101739740, _cmd="run") at nsterm.m:5374
    frame #3: 0x00000001003bf7b1
emacs`ns_read_socket(terminal=0x0000000102830830,
hold_quit=0x00007ffeefbfdf68) at nsterm.m:4401
    frame #4: 0x000000010017d208 emacs`gobble_input at keyboard.c:6909
    frame #5: 0x000000010018385f emacs`get_input_pending(flags=1) at
keyboard.c:6830
    frame #6: 0x00000001001803b6
emacs`detect_input_pending_run_timers(do_display=false) at
keyboard.c:9951
    frame #7: 0x000000010017e0c6 emacs`read_char(commandflag=1,
map=4657228643, prev_event=0, used_mouse_menu=0x00007ffeefbfe967,
end_time=0x0000000000000000) at keyboard.c:2469
    frame #8: 0x000000010017a1a0
emacs`read_key_sequence(keybuf=0x00007ffeefbfec80, bufsize=30,
prompt=0, dont_downcase_last=false, can_return_switch_frame=true,
fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9147
    frame #9: 0x0000000100178d52 emacs`command_loop_1 at keyboard.c:1368
    frame #10: 0x000000010028b0ef
emacs`internal_condition_case(bfun=(emacs`command_loop_1 at
keyboard.c:1259), handlers=18672, hfun=(emacs`cmd_error at
keyboard.c:938)) at eval.c:1332
    frame #11: 0x000000010018e30c emacs`command_loop_2(ignore=0) at
keyboard.c:1110
    frame #12: 0x000000010028a8a8 emacs`internal_catch(tag=47520,
func=(emacs`command_loop_2 at keyboard.c:1106), arg=0) at eval.c:1097
    frame #13: 0x0000000100177d08 emacs`command_loop at keyboard.c:1089
    frame #14: 0x0000000100177b70 emacs`recursive_edit_1 at keyboard.c:695
    frame #15: 0x0000000100177ea8 emacs`Frecursive_edit at keyboard.c:766
    frame #16: 0x0000000100175b03 emacs`main(argc=1,
argv=0x00007ffeefbff2e8) at emacs.c:1713
    frame #17: 0x00007fff7af69115 libdyld.dylib`start + 1
    frame #18: 0x00007fff7af69115 libdyld.dylib`start + 1

(lldb) thread list
Process 92691 stopped
* thread #1: tid = 0x25ef22, 0x00000001003aadcb emacs`-[EmacsApp
sendEvent:](self=0x0000000101739740, _cmd="sendEvent:",
theEvent=0x00000001119c7cf0) at nsterm.m:5449, queue =
'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1,
address=0x0)
  thread #2: tid = 0x25ef50, 0x00007fff7b0b9562
libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #3: tid = 0x25ef51, 0x00007fff7b1f3c40
libsystem_pthread.dylib`start_wqthread
  thread #4: tid = 0x25ef59, 0x00007fff7b0b8fca
libsystem_kernel.dylib`__select + 10, name = 'gmain'
  thread #6: tid = 0x25ef60, 0x00007fff7b0b8fca
libsystem_kernel.dylib`__select + 10
  thread #8: tid = 0x25ef6a, 0x00007fff7b0af7c2
libsystem_kernel.dylib`mach_msg_trap + 10, name =
'com.apple.NSEventThread'
  thread #9: tid = 0x25ef70, 0x00007fff7b0b9562
libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #13: tid = 0x25ef74, 0x00007fff7b0b9562
libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #14: tid = 0x25effd, 0x00007fff7b0b9562
libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #15: tid = 0x25effe, 0x00007fff7b0af7c2
libsystem_kernel.dylib`mach_msg_trap + 10, queue =
'NSCGSDisableUpdates'
  thread #16: tid = 0x25efff, 0x00007fff7b0b9562
libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #17: tid = 0x25f000, 0x00007fff7b0b9562
libsystem_kernel.dylib`__workq_kernreturn + 10