unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
@ 2017-10-01 15:43 Kevin Lin
  2017-10-01 19:33 ` Alan Third
  0 siblings, 1 reply; 12+ messages in thread
From: Kevin Lin @ 2017-10-01 15:43 UTC (permalink / raw)
  To: 28661

Dear Emacs maintainers,

Without any init files, I

1. start up Emacs from the Finder

2. open a second frame

3. make either frame fullscreen (by clicking on the
   green button in the title bar or running
   TOGGLE-FRAME-FULLSCREEN)

4. close the frame, either by clicking the red button
   or running DELETE-FRAME

On my machine, this causes Emacs to crash.

My copy of Emacs is the latest release from
https://emacsformacosx.com.  I have also tried this on
the latest nightly ("GNU Emacs 26.0.50 (build 1,
x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version
10.9.5 (Build 13F1911)) of 2017-06-11") from that
site.  The behavior appears to be identical.

I just upgraded to macOS 10.13.  This did not happen
in 10.12.  I do not really view this behavior as a bug
in Emacs, per se, and more as a problem in High
Sierra, but am hoping a work-around can be found in
Emacs more quickly than getting Apple to fix this.

Thanks!




In GNU Emacs 25.3.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21
Version 10.9.5 (Build 13F1911))
 of 2017-09-12 built on builder10-9.local
Windowing system distributor 'Apple', version 10.3.1561
Configured using:
 'configure --with-ns '--enable-locallisppath=/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp' --with-modules'

Configured features:
NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode easymenu
cl-loaddefs pcase cl-lib mail-prsvr mail-utils time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel ns-win ucs-normalize term/common-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote kqueue cocoa ns multi-tty
make-network-process emacs)

Memory information:
((conses 16 195903 6959)
 (symbols 48 19499 0)
 (miscs 40 77 164)
 (strings 32 14910 5147)
 (string-bytes 1 432258)
 (vectors 16 32840)
 (vector-slots 8 649682 4354)
 (floats 8 160 52)
 (intervals 56 196 0)
 (buffers 976 19))





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-01 15:43 bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash Kevin Lin
@ 2017-10-01 19:33 ` Alan Third
  2017-10-01 22:07   ` Kevin Lin
  2017-10-01 22:56   ` John Mastro
  0 siblings, 2 replies; 12+ messages in thread
From: Alan Third @ 2017-10-01 19:33 UTC (permalink / raw)
  To: Kevin Lin; +Cc: 28661

On Sun, Oct 01, 2017 at 08:43:23AM -0700, Kevin Lin wrote:
> Dear Emacs maintainers,
> 
> Without any init files, I
> 
> 1. start up Emacs from the Finder
> 
> 2. open a second frame
> 
> 3. make either frame fullscreen (by clicking on the
>    green button in the title bar or running
>    TOGGLE-FRAME-FULLSCREEN)
> 
> 4. close the frame, either by clicking the red button
>    or running DELETE-FRAME
> 
> On my machine, this causes Emacs to crash.

Hmm, we had this exact issue before and it disappeared when I did some
work on undecorated frames, etc.

> My copy of Emacs is the latest release from
> https://emacsformacosx.com.  I have also tried this on
> the latest nightly ("GNU Emacs 26.0.50 (build 1,
> x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version
> 10.9.5 (Build 13F1911)) of 2017-06-11") from that
> site.  The behavior appears to be identical.

Is it possible for you to try building a newer version? If you use
homebrew I think you can do so with:

    $ brew install emacs --HEAD

Alternatively, is there anyone else out there using 10.13 and a recent
version of Emacs who can confirm? I’m still on 10.12 and will be for
the foreseeable future.

-- 
Alan Third





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-01 19:33 ` Alan Third
@ 2017-10-01 22:07   ` Kevin Lin
  2017-10-01 22:56   ` John Mastro
  1 sibling, 0 replies; 12+ messages in thread
From: Kevin Lin @ 2017-10-01 22:07 UTC (permalink / raw)
  To: Alan Third; +Cc: 28661

Hi,

Thanks for the quick response!

> Is it possible for you to try building a newer version? If you use
> homebrew I think you can do so with:
>
>     $ brew install emacs --HEAD

I tried, but my installation of homebrew is broken right now (probably
because of the 10.13 upgrade), and I don't have time to fix it right
at this moment.  I'll try building emacs on 10.13 in the next day or
two.

I did find that if I turned off fullscreen before deleting a frame,
then I don't get a crash.  Not that I'm proposing this as a solution
(though it can be automated via delete-frame-functions, as I have
done), but perhaps the information is useful.

Cheers,
Kevin





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-01 19:33 ` Alan Third
  2017-10-01 22:07   ` Kevin Lin
@ 2017-10-01 22:56   ` John Mastro
  2017-10-01 23:01     ` Alan Third
  1 sibling, 1 reply; 12+ messages in thread
From: John Mastro @ 2017-10-01 22:56 UTC (permalink / raw)
  To: Alan Third; +Cc: 28661, Kevin Lin

Alan Third <alan@idiocy.org> wrote:
> On Sun, Oct 01, 2017 at 08:43:23AM -0700, Kevin Lin wrote:
>> Dear Emacs maintainers,
>>
>> Without any init files, I
>>
>> 1. start up Emacs from the Finder
>>
>> 2. open a second frame
>>
>> 3. make either frame fullscreen (by clicking on the
>>    green button in the title bar or running
>>    TOGGLE-FRAME-FULLSCREEN)
>>
>> 4. close the frame, either by clicking the red button
>>    or running DELETE-FRAME
>>
>> On my machine, this causes Emacs to crash.

[snip]

> Alternatively, is there anyone else out there using 10.13 and a recent
> version of Emacs who can confirm? I’m still on 10.12 and will be for
> the foreseeable future.

I see the crash on 10.13 at commit ee3024c (today)

        John





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-01 22:56   ` John Mastro
@ 2017-10-01 23:01     ` Alan Third
  2017-10-02 21:27       ` John Mastro
  0 siblings, 1 reply; 12+ messages in thread
From: Alan Third @ 2017-10-01 23:01 UTC (permalink / raw)
  To: John Mastro; +Cc: 28661, Kevin Lin

On Sun, Oct 01, 2017 at 03:56:31PM -0700, John Mastro wrote:
> Alan Third <alan@idiocy.org> wrote:
> > Alternatively, is there anyone else out there using 10.13 and a recent
> > version of Emacs who can confirm? I’m still on 10.12 and will be for
> > the foreseeable future.
> 
> I see the crash on 10.13 at commit ee3024c (today)

Thanks.

Are either of you able to provide a backtrace from a debugger?
-- 
Alan Third





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-01 23:01     ` Alan Third
@ 2017-10-02 21:27       ` John Mastro
  2017-10-02 22:34         ` Alan Third
  0 siblings, 1 reply; 12+ messages in thread
From: John Mastro @ 2017-10-02 21:27 UTC (permalink / raw)
  To: Alan Third; +Cc: 28661, Kevin Lin

[-- Attachment #1: Type: text/plain, Size: 572 bytes --]

Alan Third <alan@idiocy.org> wrote:
> On Sun, Oct 01, 2017 at 03:56:31PM -0700, John Mastro wrote:
>> Alan Third <alan@idiocy.org> wrote:
>> > Alternatively, is there anyone else out there using 10.13 and a recent
>> > version of Emacs who can confirm? I’m still on 10.12 and will be for
>> > the foreseeable future.
>>
>> I see the crash on 10.13 at commit ee3024c (today)
>
> Thanks.
>
> Are either of you able to provide a backtrace from a debugger?

Sure, I've attached a backtrace from lldb. Let me know if any other
info would help.

        John

[-- Attachment #2: backtrace.txt --]
[-- Type: text/plain, Size: 10848 bytes --]

jbm@nebula:~/src/emacs/> lldb nextstep/Emacs.app/Contents/MacOS/Emacs
(lldb) target create "nextstep/Emacs.app/Contents/MacOS/Emacs"
Current executable set to 'nextstep/Emacs.app/Contents/MacOS/Emacs' (x86_64).
(lldb) r -Q
Process 24517 launched: '/Users/jbm/src/emacs/nextstep/Emacs.app/Contents/MacOS/Emacs' (x86_64)
2017-10-02 14:22:45.260803-0700 Emacs[24517:949423] MessageTracer: load_domain_whitelist_search_tree:73: Search tree file's format version number (0) is not supported
2017-10-02 14:22:45.260834-0700 Emacs[24517:949423] MessageTracer: Falling back to default whitelist
Emacs was compiled with optimization - stepping may behave oddly; variables may not be available.
Process 24517 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00000001001b629d Emacs`-[EmacsView windowWillResize:toSize:](self=0x000000010c33a700, _cmd=<unavailable>, sender=<unavailable>, frameSize=(width = 1280, height = 800)) at nsterm.m:6912 [opt]
   6909
   6910	  if (! [self isFullscreen])
   6911	    {
-> 6912	      extra = FRAME_NS_TITLEBAR_HEIGHT (emacsframe)
   6913	        + FRAME_TOOLBAR_HEIGHT (emacsframe);
   6914	    }
   6915
Target 0: (Emacs) stopped.
(lldb) thread backtrace all
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x00000001001b629d Emacs`-[EmacsView windowWillResize:toSize:](self=0x000000010c33a700, _cmd=<unavailable>, sender=<unavailable>, frameSize=(width = 1280, height = 800)) at nsterm.m:6912 [opt]
    frame #1: 0x00007fff4f533f2d AppKit`-[NSWindow _confirmSize:force:] + 328
    frame #2: 0x00007fff4ffea5e6 AppKit`-[NSWindow(NSFullScreen) _frameForFullScreenModeInRect:] + 702
    frame #3: 0x00007fff4ffea2fc AppKit`-[NSWindow(NSFullScreen) _frameForFullScreenMode] + 98
    frame #4: 0x00007fff4f9e91f8 AppKit`-[_NSFullScreenDetachedToolbarMenuBarCompanionController resizeContentWindow] + 78
    frame #5: 0x00007fff4f5988f4 AppKit`NSPerformVisuallyAtomicChange + 146
    frame #6: 0x00007fff4f9e93a8 AppKit`-[_NSFullScreenDetachedToolbarMenuBarCompanionController layout] + 106
    frame #7: 0x00007fff4f49a5eb AppKit`-[NSThemeFrame _updateTitlebarContainerViewFrameIfNecessary] + 473
    frame #8: 0x00007fff4fcc9a23 AppKit`-[NSThemeFrame _reshapeContentAndToolbarView:withOldToolbarFrameSize:resizeWindow:animate:] + 697
    frame #9: 0x00007fff4f531b18 AppKit`-[NSThemeFrame _toolbarFrameSizeChanged:oldSize:] + 66
    frame #10: 0x00007fff4f6324d0 AppKit`-[NSWindow _toolbarFrameSizeChanged:oldSize:] + 93
    frame #11: 0x00007fff4f507b7e AppKit`-[NSToolbarView _layoutDirtyItemViewersAndTileToolbar] + 5826
    frame #12: 0x00007fff4f753f41 AppKit`-[NSToolbar _dropFullScreenMetrics] + 62
    frame #13: 0x00007fff4ffeb8ae AppKit`-[NSWindow(NSFullScreen) _cleanupToolbarFromFullScreen] + 67
    frame #14: 0x00007fff4ffea158 AppKit`-[NSWindow(NSFullScreen) _cleanupAndRemoveFullScreenContentController] + 78
    frame #15: 0x00007fff4ffebaed AppKit`-[NSWindow(NSFullScreen) _fullScreenStatusChanged] + 374
    frame #16: 0x00007fff4f678f1a AppKit`__25-[NSWindow setStyleMask:]_block_invoke + 1977
    frame #17: 0x00007fff4f5988f4 AppKit`NSPerformVisuallyAtomicChange + 146
    frame #18: 0x00007fff4f678718 AppKit`-[NSWindow setStyleMask:] + 191
    frame #19: 0x00007fff4faf4d26 AppKit`-[_NSWindowExitFullScreenTransitionController setupWindowForAfterFullScreenExit] + 106
    frame #20: 0x00007fff4fddd478 AppKit`__46-[_NSExitFullScreenTransitionController start]_block_invoke.268 + 57
    frame #21: 0x00007fff793857a2 libdispatch.dylib`_dispatch_call_block_and_release + 12
    frame #22: 0x00007fff7937df64 libdispatch.dylib`_dispatch_client_callout + 8
    frame #23: 0x00007fff79389545 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 1148
    frame #24: 0x00007fff51e94869 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
    frame #25: 0x00007fff51e56aea CoreFoundation`__CFRunLoopRun + 2586
    frame #26: 0x00007fff51e55e43 CoreFoundation`CFRunLoopRunSpecific + 483
    frame #27: 0x00007fff51175866 HIToolbox`RunCurrentEventLoopInMode + 286
    frame #28: 0x00007fff511754df HIToolbox`ReceiveNextEventCommon + 366
    frame #29: 0x00007fff51175354 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #30: 0x00007fff4f47344f AppKit`_DPSNextEvent + 2085
    frame #31: 0x00007fff4fc08508 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
    frame #32: 0x00007fff4f46825d AppKit`-[NSApplication run] + 764
    frame #33: 0x00000001001b11b5 Emacs`-[EmacsApp run](self=0x00000001016046f0, _cmd=<unavailable>) at nsterm.m:5332 [opt]
    frame #34: 0x00000001001bebbd Emacs`ns_read_socket(terminal=<unavailable>, hold_quit=<unavailable>) at nsterm.m:4359 [opt]
    frame #35: 0x00000001000bd335 Emacs`gobble_input at keyboard.c:6916 [opt]
    frame #36: 0x00000001000c5d17 Emacs`Finput_pending_p [inlined] get_input_pending(flags=3) at keyboard.c:6837 [opt]
    frame #37: 0x00000001000c5ce4 Emacs`Finput_pending_p(check_timers=<unavailable>) at keyboard.c:10004 [opt]
    frame #38: 0x0000000100137d2f Emacs`funcall_subr(subr=0x000000010022e398, numargs=1, args=<unavailable>) at eval.c:2841 [opt]
    frame #39: 0x000000010013722f Emacs`Ffuncall(nargs=<unavailable>, args=<unavailable>) at eval.c:2766 [opt]
    frame #40: 0x00000001001747a0 Emacs`exec_byte_code(bytestr=<unavailable>, vector=4297386408, maxdepth=<unavailable>, args_template=3078, nargs=1, args=<unavailable>) at bytecode.c:629 [opt]
    frame #41: 0x00000001001371d0 Emacs`Ffuncall(nargs=<unavailable>, args=<unavailable>) at eval.c:0 [opt]
    frame #42: 0x00000001001747a0 Emacs`exec_byte_code(bytestr=<unavailable>, vector=4298053776, maxdepth=<unavailable>, args_template=3078, nargs=3, args=<unavailable>) at bytecode.c:629 [opt]
    frame #43: 0x00000001001371d0 Emacs`Ffuncall(nargs=<unavailable>, args=<unavailable>) at eval.c:0 [opt]
    frame #44: 0x0000000100130bc6 Emacs`Ffuncall_interactively(nargs=<unavailable>, args=<unavailable>) at callint.c:252 [opt]
    frame #45: 0x000000010013722f Emacs`Ffuncall(nargs=<unavailable>, args=<unavailable>) at eval.c:2766 [opt]
    frame #46: 0x0000000100136d3f Emacs`Fapply(nargs=<unavailable>, args=0x00007ffeefbff180) at eval.c:2386 [opt]
    frame #47: 0x00000001001310d9 Emacs`Fcall_interactively(function=<unavailable>, record_flag=0, keys=4345466269) at callint.c:389 [opt]
    frame #48: 0x0000000100137d53 Emacs`funcall_subr(subr=0x000000010058e130, numargs=3, args=<unavailable>) at eval.c:2846 [opt]
    frame #49: 0x000000010013722f Emacs`Ffuncall(nargs=<unavailable>, args=<unavailable>) at eval.c:2766 [opt]
    frame #50: 0x00000001001747a0 Emacs`exec_byte_code(bytestr=<unavailable>, vector=4298054608, maxdepth=<unavailable>, args_template=4102, nargs=1, args=<unavailable>) at bytecode.c:629 [opt]
    frame #51: 0x00000001001371d0 Emacs`Ffuncall(nargs=<unavailable>, args=<unavailable>) at eval.c:0 [opt]
    frame #52: 0x000000010013794c Emacs`call1(fn=<unavailable>, arg1=<unavailable>) at eval.c:2617 [opt]
    frame #53: 0x00000001000ba6fa Emacs`command_loop_1 at keyboard.c:1486 [opt]
    frame #54: 0x0000000100135a62 Emacs`internal_condition_case(bfun=(Emacs`command_loop_1 at keyboard.c:1263), handlers=<unavailable>, hfun=(Emacs`cmd_error at keyboard.c:942)) at eval.c:1332 [opt]
    frame #55: 0x00000001000c8f70 Emacs`command_loop_2(ignore=<unavailable>) at keyboard.c:1114 [opt]
    frame #56: 0x00000001001352e9 Emacs`internal_catch(tag=<unavailable>, func=(Emacs`command_loop_2 at keyboard.c:1110), arg=0) at eval.c:1097 [opt]
    frame #57: 0x00000001000b96be Emacs`command_loop at keyboard.c:1093 [opt]
    frame #58: 0x00000001000b95cf Emacs`recursive_edit_1 at keyboard.c:699 [opt]
    frame #59: 0x00000001000b9803 Emacs`Frecursive_edit at keyboard.c:770 [opt]
    frame #60: 0x00000001000b8486 Emacs`main(argc=0, argv=0x00007ffeefbff900) at emacs.c:1713 [opt]
    frame #61: 0x00007fff793b7145 libdyld.dylib`start + 1
  thread #2
    frame #0: 0x00007fff795076da libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff7964126f libsystem_pthread.dylib`_pthread_wqthread + 1552
    frame #2: 0x00007fff79640c4d libsystem_pthread.dylib`start_wqthread + 13
  thread #3
    frame #0: 0x00007fff795076da libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff7964106a libsystem_pthread.dylib`_pthread_wqthread + 1035
    frame #2: 0x00007fff79640c4d libsystem_pthread.dylib`start_wqthread + 13
  thread #4
    frame #0: 0x00007fff795076da libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff7964126f libsystem_pthread.dylib`_pthread_wqthread + 1552
    frame #2: 0x00007fff79640c4d libsystem_pthread.dylib`start_wqthread + 13
  thread #5, name = 'gmain'
    frame #0: 0x00007fff79507142 libsystem_kernel.dylib`__select + 10
    frame #1: 0x0000000100998535 libglib-2.0.0.dylib`g_poll + 428
    frame #2: 0x000000010098c465 libglib-2.0.0.dylib`g_main_context_iterate + 337
    frame #3: 0x000000010098c514 libglib-2.0.0.dylib`g_main_context_iteration + 55
    frame #4: 0x000000010098d5bd libglib-2.0.0.dylib`glib_worker_main + 30
    frame #5: 0x00000001009ace3c libglib-2.0.0.dylib`g_thread_proxy + 90
    frame #6: 0x00007fff796416c1 libsystem_pthread.dylib`_pthread_body + 340
    frame #7: 0x00007fff7964156d libsystem_pthread.dylib`_pthread_start + 377
    frame #8: 0x00007fff79640c5d libsystem_pthread.dylib`thread_start + 13
  thread #7
    frame #0: 0x00007fff79507142 libsystem_kernel.dylib`__select + 10
    frame #1: 0x00000001001b26d1 Emacs`-[EmacsApp fd_handler:](self=<unavailable>, _cmd=<unavailable>, unused=<unavailable>) at nsterm.m:5798 [opt]
    frame #2: 0x00007fff53f106d8 Foundation`__NSThread__start__ + 1197
    frame #3: 0x00007fff796416c1 libsystem_pthread.dylib`_pthread_body + 340
    frame #4: 0x00007fff7964156d libsystem_pthread.dylib`_pthread_start + 377
    frame #5: 0x00007fff79640c5d libsystem_pthread.dylib`thread_start + 13
  thread #8
    frame #0: 0x00007fff79640c40 libsystem_pthread.dylib`start_wqthread
  thread #9, name = 'com.apple.NSEventThread'
    frame #0: 0x00007fff794fde76 libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff794fd390 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x00007fff51e57475 CoreFoundation`__CFRunLoopServiceMachPort + 341
    frame #3: 0x00007fff51e567c7 CoreFoundation`__CFRunLoopRun + 1783
    frame #4: 0x00007fff51e55e43 CoreFoundation`CFRunLoopRunSpecific + 483
    frame #5: 0x00007fff4f5b0c49 AppKit`_NSEventThread + 184
    frame #6: 0x00007fff796416c1 libsystem_pthread.dylib`_pthread_body + 340
    frame #7: 0x00007fff7964156d libsystem_pthread.dylib`_pthread_start + 377
    frame #8: 0x00007fff79640c5d libsystem_pthread.dylib`thread_start + 13
(lldb)

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-02 21:27       ` John Mastro
@ 2017-10-02 22:34         ` Alan Third
  2017-10-05  0:44           ` John Mastro
  0 siblings, 1 reply; 12+ messages in thread
From: Alan Third @ 2017-10-02 22:34 UTC (permalink / raw)
  To: John Mastro; +Cc: 28661, Kevin Lin

On Mon, Oct 02, 2017 at 02:27:51PM -0700, John Mastro wrote:
> Sure, I've attached a backtrace from lldb. Let me know if any other
> info would help.

Thank you.

>     frame #0: 0x00000001001b629d Emacs`-[EmacsView windowWillResize:toSize:](self=0x000000010c33a700, _cmd=<unavailable>, sender=<unavailable>, frameSize=(width = 1280, height = 800)) at nsterm.m:6912 [opt]
>    6909
>    6910	  if (! [self isFullscreen])
>    6911	    {
> -> 6912	      extra = FRAME_NS_TITLEBAR_HEIGHT (emacsframe)
>    6913	        + FRAME_TOOLBAR_HEIGHT (emacsframe);
>    6914	    }

Well, that’s just about the last thing I was expecting.

I guess that closing a fullscreen window now results in it being
resized. But is emacsframe already trashed by this point? That would
certainly cause a crash.

Can you please uncomment line 54 in nsterm.h to enable NSTRACE,
recompile, cause the crash and send the output to me?
-- 
Alan Third





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-02 22:34         ` Alan Third
@ 2017-10-05  0:44           ` John Mastro
  2017-10-07 15:08             ` Alan Third
  0 siblings, 1 reply; 12+ messages in thread
From: John Mastro @ 2017-10-05  0:44 UTC (permalink / raw)
  To: Alan Third; +Cc: 28661, Kevin Lin

[-- Attachment #1: Type: text/plain, Size: 380 bytes --]

Alan Third <alan@idiocy.org> wrote:
> I guess that closing a fullscreen window now results in it being
> resized. But is emacsframe already trashed by this point? That would
> certainly cause a crash.
>
> Can you please uncomment line 54 in nsterm.h to enable NSTRACE,
> recompile, cause the crash and send the output to me?

I've done so and the trace is attached.

        John

[-- Attachment #2: 28661-nstrace.txt --]
[-- Type: text/plain, Size: 41018 bytes --]

jbm@nebula:~/src/emacs/> lldb nextstep/Emacs.app/Contents/MacOS/Emacs
(lldb) target create "nextstep/Emacs.app/Contents/MacOS/Emacs"
Current executable set to 'nextstep/Emacs.app/Contents/MacOS/Emacs' (x86_64).
(lldb) r -Q
Process 56856 launched: '/Users/jbm/src/emacs/nextstep/Emacs.app/Contents/MacOS/Emacs' (x86_64)
nsterm.m  :  623: [    2]  ns_init_locale
nsterm.m  : 5030: [    3]  ns_term_init
nsterm.m  : 5306: [    4]  | [EmacsApp init]
nsterm.m  : 4982: [    5]  | ns_create_terminal
nsterm.m  : 5112: [    6]  +--- Colors
nsterm.m  : 5147: [    7]  +--- Versions
nsterm.m  : 5166: [    8]  +--- Menu init
nsterm.m  : 5241: [    9]  +--- Input/output types
2017-10-04 17:40:46.157532-0700 Emacs[56856:1115385] MessageTracer: load_domain_whitelist_search_tree:73: Search tree file's format version number (0) is not supported
2017-10-04 17:40:46.157565-0700 Emacs[56856:1115385] MessageTracer: Falling back to default whitelist
nsterm.m  : 5256: [   10]  +--- Call NSApp run
nsterm.m  : 5324: [   11]  | [EmacsApp run]
nsterm.m  : 5547: [   12]  | | [EmacsApp applicationDidFinishLaunching:]
nsterm.m  : 5724: [   13]  | | [EmacsApp applicationWillBecomeActive:]
nsterm.m  : 5730: [   14]  | | [EmacsApp applicationDidBecomeActive:]
nsterm.m  : 1008: [   15]  | | | ns_update_auto_hide_menu_bar
nsterm.m  :  977: [   16]  | | | ns_constrain_all_frames
nsterm.m  : 5267: [   17]  +--- ns_term_init done
nsterm.m  : 2314: [   18]  ns_lisp_to_color
nsterm.m  : 2192: [   19]  | ns_get_color(Black, **)
nsterm.m  : 2314: [   20]  ns_lisp_to_color
nsterm.m  : 2192: [   21]  | ns_get_color(White, **)
nsterm.m  : 2012: [   22]  x_set_z_group
nsterm.m  : 1973: [   23]  x_set_no_focus_on_map
nsterm.m  : 1992: [   24]  x_set_no_accept_focus
nsfns.m   :  663: [   25]  x_set_tool_bar_lines
nsmenu.m  : 1023: [   26]  | update_frame_tool_bar
nsfns.m   :  713: [   27]  +--- inhibit:2
nsfns.m   :  506: [   28]  x_set_title
nsterm.m  : 7176: [   29]  [EmacsView initFrameFromEmacs:]
nsterm.m  : 7177: [   30]  +--- cols:80 lines:36
nsmenu.m  : 1156: [   31]  | [EmacsToolbar initForView: withIdentifier:]
nsmenu.m  : 1285: [   32]  | [EmacsToolbar setVisible:0]
nsmenu.m  : 1267: [   33]  | [EmacsToolbar toolbarDefaultItemIdentifiers:]
nsterm.m  : 8522: [   34]  | [EmacsWindow setFrameTopLeftPoint:(X:0 Y:800)]
nsterm.m  : 7348: [   35]  | | [EmacsView windowDidMove:]
nsterm.m  : 7302: [   36]  +--- new frame: (X:0 Y:270)/(W:580 H:530)
nsfns.m   :  819: [   37]  x_set_icon_type
nsfns.m   :  751: [   38]  | ns_implicitly_set_icon_type
nsterm.m  : 8222: [   39]  | | [EmacsView setMiniwindowImage:0]
nsterm.m  : 2386: [   40]  x_set_frame_alpha
nsterm.m  : 1810: [   41]  x_set_window_size
nsterm.m  : 1815: [   42]  +--- current: (X:0 Y:270)/(W:580 H:530)
nsterm.m  : 1816: [   43]  +--- Width:560 Height:504 Pixelwise:1
nsterm.m  : 1817: [   44]  +--- Font 7 x 14
nsterm.m  : 7683: [   45]  | [EmacsView isFullscreen] ->> 0
nsterm.m  : 8503: [   46]  | [EmacsWindow setFrame:(X:0 Y:270)/(W:595 H:530) display:1]
nsterm.m  : 7122: [   47]  | | [EmacsView setFrame:(X:0 Y:0)/(W:595 H:508)]
nsterm.m  : 6991: [   48]  | | [EmacsView windowDidResize:]
nsterm.m  : 7011: [   49]  | | +--- frame: (X:0 Y:270)/(W:595 H:530)
nsterm.m  : 6807: [   50]  | [EmacsView updateFrameSize:]
nsterm.m  : 6808: [   51]  | +--- Original size: (W:595 H:508)
nsterm.m  : 6809: [   52]  | +--- Original frame: (X:0 Y:270)/(W:595 H:530)
nsterm.m  : 6810: [   53]  | +--- Original columns: 0
nsterm.m  : 6811: [   54]  | +--- Original rows: 0
nsterm.m  : 7683: [   55]  | | [EmacsView isFullscreen] ->> 0
nsterm.m  : 7683: [   56]  | | [EmacsView isFullscreen] ->> 0
nsterm.m  : 6833: [   57]  | +--- Waiting for toolbar
nsterm.m  : 2314: [   58]  ns_lisp_to_color
nsterm.m  : 2192: [   59]  | ns_get_color(White, **)
nsterm.m  : 2314: [   60]  ns_lisp_to_color
nsterm.m  : 2192: [   61]  | ns_get_color(White, **)
nsterm.m  : 2314: [   62]  ns_lisp_to_color
nsterm.m  : 2192: [   63]  | ns_get_color(white, **)
nsterm.m  : 2314: [   64]  ns_lisp_to_color
nsterm.m  : 2192: [   65]  | ns_get_color(black, **)
nsterm.m  : 1577: [   66]  x_make_frame_visible
nsterm.m  : 7060: [   67]  | [EmacsView windowDidBecomeKey]
nsterm.m  : 1538: [   68]  | | ns_frame_rehighlight
nsterm.m  : 2386: [   69]  | | | x_set_frame_alpha
nsterm.m  : 8341: [   70]  | [EmacsWindow constrainFrameRect:(X:0 Y:270)/(W:595 H:530) toScreen:]
nsterm.m  : 8353: [   71]  | +--- Screens have separate spaces
nsterm.m  : 8355: [   72]  | +->> (X:37 Y:247)/(W:595 H:530)
nsterm.m  : 8503: [   73]  | [EmacsWindow setFrame:(X:37 Y:247)/(W:595 H:530) display:1]
nsterm.m  : 7348: [   74]  | | [EmacsView windowDidMove:]
nsterm.m  : 5975: [   75]  | [EmacsView acceptsFirstResponder]
nsterm.m  : 5975: [   76]  | [EmacsView acceptsFirstResponder]
nsterm.m  : 2314: [   77]  ns_lisp_to_color
nsterm.m  : 2192: [   78]  | ns_get_color(White, **)
nsterm.m  : 2314: [   79]  ns_lisp_to_color
nsterm.m  : 2192: [   80]  | ns_get_color(White, **)
nsterm.m  : 2314: [   81]  ns_lisp_to_color
nsterm.m  : 2192: [   82]  | ns_get_color(white, **)
nsfns.m   :  484: [   83]  x_implicitly_set_name
nsfns.m   :  534: [   84]  | ns_set_name_as_filename
nsmenu.m  :  116: [   85]  ns_update_menubar
nsimage.m :   61: [   86]  ns_image_for_XPM
nsimage.m :   61: [   87]  ns_image_for_XPM
nsimage.m :   61: [   88]  ns_image_for_XPM
nsimage.m :   61: [   89]  ns_image_for_XPM
nsimage.m :   61: [   90]  ns_image_for_XPM
nsimage.m :   61: [   91]  ns_image_for_XPM
nsimage.m :   61: [   92]  ns_image_for_XPM
nsimage.m :   61: [   93]  ns_image_for_XPM
nsimage.m :   61: [   94]  ns_image_for_XPM
nsimage.m :   61: [   95]  ns_image_for_XPM
nsterm.m  : 4732: [   96]  ns_condemn_scroll_bars
nsmenu.m  : 1023: [   97]  update_frame_tool_bar
nsmenu.m  : 1182: [   98]  | [EmacsToolbar clearActive]
nsimage.m :   61: [   99]  | ns_image_for_XPM
nsmenu.m  : 1214: [  100]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsimage.m :   61: [  101]  | ns_image_for_XPM
nsmenu.m  : 1214: [  102]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsimage.m :   61: [  103]  | ns_image_for_XPM
nsmenu.m  : 1214: [  104]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsimage.m :   61: [  105]  | ns_image_for_XPM
nsmenu.m  : 1214: [  106]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsimage.m :   61: [  107]  | ns_image_for_XPM
nsmenu.m  : 1214: [  108]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsimage.m :   61: [  109]  | ns_image_for_XPM
nsmenu.m  : 1214: [  110]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsimage.m :   61: [  111]  | ns_image_for_XPM
nsmenu.m  : 1214: [  112]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsimage.m :   61: [  113]  | ns_image_for_XPM
nsmenu.m  : 1214: [  114]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsimage.m :   61: [  115]  | ns_image_for_XPM
nsmenu.m  : 1214: [  116]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsimage.m :   61: [  117]  | ns_image_for_XPM
nsmenu.m  : 1214: [  118]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1285: [  119]  | [EmacsToolbar setVisible:1]
nsterm.m  : 8514: [  120]  | | [EmacsWindow setFrame:(X:37 Y:228)/(W:595 H:549) display:1 performAnimation:1]
nsterm.m  : 8341: [  121]  | | | [EmacsWindow constrainFrameRect:(X:37 Y:228)/(W:595 H:549) toScreen:]
nsterm.m  : 8353: [  122]  | | | +--- Screens have separate spaces
nsterm.m  : 8355: [  123]  | | | +->> (X:37 Y:228)/(W:595 H:549)
nsterm.m  : 8503: [  124]  | | | [EmacsWindow setFrame:(X:37 Y:242)/(W:595 H:535) display:1]
nsterm.m  : 6991: [  125]  | | | | [EmacsView windowDidResize:]
nsterm.m  : 6999: [  126]  | | | | +--- Ignored (in animation)
nsterm.m  : 8011: [  127]  | | | [EmacsView drawRect:(X:0 Y:0)/(W:595 H:508)]
nsterm.m  : 8503: [  128]  | | | [EmacsWindow setFrame:(X:37 Y:231)/(W:595 H:546) display:1]
nsterm.m  : 6991: [  129]  | | | | [EmacsView windowDidResize:]
nsterm.m  : 6999: [  130]  | | | | +--- Ignored (in animation)
nsterm.m  : 8011: [  131]  | | | [EmacsView drawRect:(X:0 Y:0)/(W:595 H:508)]
nsterm.m  : 8503: [  132]  | | | [EmacsWindow setFrame:(X:37 Y:228)/(W:595 H:549) display:1]
nsterm.m  : 6991: [  133]  | | | | [EmacsView windowDidResize:]
nsterm.m  : 6999: [  134]  | | | | +--- Ignored (in animation)
nsterm.m  : 7034: [  135]  | | | [EmacsView viewDidEndLiveResize]
nsterm.m  : 8011: [  136]  | | | [EmacsView drawRect:(X:0 Y:0)/(W:595 H:508)]
nsmenu.m  : 1202: [  137]  | [EmacsToolbar changed]
nsmenu.m  : 1267: [  138]  | [EmacsToolbar toolbarDefaultItemIdentifiers:]
nsmenu.m  : 1267: [  139]  | [EmacsToolbar toolbarDefaultItemIdentifiers:]
nsmenu.m  : 1267: [  140]  | [EmacsToolbar toolbarDefaultItemIdentifiers:]
nsmenu.m  : 1259: [  141]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  142]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  143]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  144]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  145]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  146]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  147]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  148]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  149]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  150]  | [EmacsToolbar toolbar: ...]
nsterm.m  : 8514: [  151]  | [EmacsWindow setFrame:(X:37 Y:212)/(W:595 H:565) display:1 performAnimation:0]
nsterm.m  : 8341: [  152]  | | [EmacsWindow constrainFrameRect:(X:37 Y:212)/(W:595 H:565) toScreen:]
nsterm.m  : 8353: [  153]  | | +--- Screens have separate spaces
nsterm.m  : 8355: [  154]  | | +->> (X:37 Y:212)/(W:595 H:565)
nsterm.m  : 6991: [  155]  | | [EmacsView windowDidResize:]
nsterm.m  : 7011: [  156]  | | +--- frame: (X:37 Y:212)/(W:595 H:565)
nsterm.m  : 8011: [  157]  | | [EmacsView drawRect:(X:0 Y:0)/(W:595 H:508)]
nsterm.m  : 6807: [  158]  | [EmacsView updateFrameSize:]
nsterm.m  : 6808: [  159]  | +--- Original size: (W:595 H:508)
nsterm.m  : 6809: [  160]  | +--- Original frame: (X:37 Y:212)/(W:595 H:565)
nsterm.m  : 6810: [  161]  | +--- Original columns: 0
nsterm.m  : 6811: [  162]  | +--- Original rows: 0
nsterm.m  : 7683: [  163]  | | [EmacsView isFullscreen] ->> 0
nsterm.m  : 6842: [  164]  | +--- New size: (W:595 H:508)
nsterm.m  : 6843: [  165]  | +--- FRAME_TOOLBAR_HEIGHT: 35
nsterm.m  : 6844: [  166]  | +--- FRAME_NS_TITLEBAR_HEIGHT: 22
nsterm.m  : 6855: [  167]  | +--- New columns: 80
nsterm.m  : 6856: [  168]  | +--- New rows: 36
nsterm.m  : 7348: [  169]  | | [EmacsView windowDidMove:]
nsfns.m   :  484: [  170]  x_implicitly_set_name
nsfns.m   :  534: [  171]  | ns_set_name_as_filename
nsterm.m  : 4574: [  172]  ns_set_vertical_scroll_bar
nsterm.m  : 8587: [  173]  | [EmacsScroller initFrame: window:]
nsterm.m  : 8734: [  174]  | [EmacsScroller setPosition:portion:whole:]
nsterm.m  : 4751: [  175]  ns_redeem_scroll_bar
nsterm.m  : 8679: [  176]  | [EmacsScroller reprieve]
nsterm.m  : 4574: [  177]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  178]  ns_redeem_scroll_bar
nsterm.m  : 4781: [  179]  ns_judge_scroll_bars
nsterm.m  : 8687: [  180]  | [EmacsScroller judge]
nsfns.m   :  484: [  181]  x_implicitly_set_name
nsfns.m   :  534: [  182]  | ns_set_name_as_filename
nsmenu.m  :  116: [  183]  ns_update_menubar
nsterm.m  : 4732: [  184]  ns_condemn_scroll_bars
nsterm.m  : 8671: [  185]  | [EmacsScroller condemn]
nsmenu.m  : 1023: [  186]  update_frame_tool_bar
nsmenu.m  : 1182: [  187]  | [EmacsToolbar clearActive]
nsmenu.m  : 1214: [  188]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  189]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  190]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  191]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  192]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  193]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  194]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  195]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  196]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  197]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1202: [  198]  | [EmacsToolbar changed]
nsfns.m   :  484: [  199]  x_implicitly_set_name
nsfns.m   :  534: [  200]  | ns_set_name_as_filename
nsterm.m  : 4574: [  201]  ns_set_vertical_scroll_bar
nsterm.m  : 8734: [  202]  | [EmacsScroller setPosition:portion:whole:]
nsterm.m  : 4751: [  203]  ns_redeem_scroll_bar
nsterm.m  : 8679: [  204]  | [EmacsScroller reprieve]
nsterm.m  : 4574: [  205]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  206]  ns_redeem_scroll_bar
nsterm.m  : 4781: [  207]  ns_judge_scroll_bars
nsterm.m  : 8687: [  208]  | [EmacsScroller judge]
nsterm.m  : 8341: [  209]  [EmacsWindow constrainFrameRect:(X:37 Y:212)/(W:595 H:565) toScreen:]
nsterm.m  : 8353: [  210]  +--- Screens have separate spaces
nsterm.m  : 8355: [  211]  +->> (X:37 Y:212)/(W:595 H:565)
nsterm.m  : 6009: [  212]  [EmacsView keyDown:]
nsterm.m  : 6009: [  213]  [EmacsView keyDown:]
nsterm.m  : 6342: [  214]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  215]  | [EmacsView insertText:]
nsterm.m  : 6009: [  216]  [EmacsView keyDown:]
nsterm.m  : 6342: [  217]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  218]  | [EmacsView insertText:]
nsterm.m  : 2314: [  219]  ns_lisp_to_color
nsterm.m  : 2192: [  220]  | ns_get_color(Black, **)
nsterm.m  : 2314: [  221]  ns_lisp_to_color
nsterm.m  : 2192: [  222]  | ns_get_color(White, **)
nsterm.m  : 2012: [  223]  x_set_z_group
nsterm.m  : 1973: [  224]  x_set_no_focus_on_map
nsterm.m  : 1992: [  225]  x_set_no_accept_focus
nsfns.m   :  663: [  226]  x_set_tool_bar_lines
nsmenu.m  : 1023: [  227]  | update_frame_tool_bar
nsfns.m   :  713: [  228]  +--- inhibit:2
nsfns.m   :  506: [  229]  x_set_title
nsterm.m  : 7176: [  230]  [EmacsView initFrameFromEmacs:]
nsterm.m  : 7177: [  231]  +--- cols:80 lines:36
nsmenu.m  : 1156: [  232]  | [EmacsToolbar initForView: withIdentifier:]
nsmenu.m  : 1285: [  233]  | [EmacsToolbar setVisible:0]
nsmenu.m  : 1267: [  234]  | [EmacsToolbar toolbarDefaultItemIdentifiers:]
nsterm.m  : 8522: [  235]  | [EmacsWindow setFrameTopLeftPoint:(X:0 Y:800)]
nsterm.m  : 7348: [  236]  | | [EmacsView windowDidMove:]
nsterm.m  : 7302: [  237]  +--- new frame: (X:0 Y:270)/(W:580 H:530)
nsfns.m   :  819: [  238]  x_set_icon_type
nsfns.m   :  751: [  239]  | ns_implicitly_set_icon_type
nsterm.m  : 8222: [  240]  | | [EmacsView setMiniwindowImage:0]
nsterm.m  : 2386: [  241]  x_set_frame_alpha
nsterm.m  : 1810: [  242]  x_set_window_size
nsterm.m  : 1815: [  243]  +--- current: (X:0 Y:270)/(W:580 H:530)
nsterm.m  : 1816: [  244]  +--- Width:560 Height:504 Pixelwise:1
nsterm.m  : 1817: [  245]  +--- Font 7 x 14
nsterm.m  : 7683: [  246]  | [EmacsView isFullscreen] ->> 0
nsterm.m  : 8503: [  247]  | [EmacsWindow setFrame:(X:0 Y:270)/(W:595 H:530) display:1]
nsterm.m  : 7122: [  248]  | | [EmacsView setFrame:(X:0 Y:0)/(W:595 H:508)]
nsterm.m  : 6991: [  249]  | | [EmacsView windowDidResize:]
nsterm.m  : 7011: [  250]  | | +--- frame: (X:0 Y:270)/(W:595 H:530)
nsterm.m  : 6807: [  251]  | [EmacsView updateFrameSize:]
nsterm.m  : 6808: [  252]  | +--- Original size: (W:595 H:508)
nsterm.m  : 6809: [  253]  | +--- Original frame: (X:0 Y:270)/(W:595 H:530)
nsterm.m  : 6810: [  254]  | +--- Original columns: 0
nsterm.m  : 6811: [  255]  | +--- Original rows: 0
nsterm.m  : 7683: [  256]  | | [EmacsView isFullscreen] ->> 0
nsterm.m  : 7683: [  257]  | | [EmacsView isFullscreen] ->> 0
nsterm.m  : 6833: [  258]  | +--- Waiting for toolbar
nsterm.m  : 2314: [  259]  ns_lisp_to_color
nsterm.m  : 2192: [  260]  | ns_get_color(White, **)
nsterm.m  : 2314: [  261]  ns_lisp_to_color
nsterm.m  : 2192: [  262]  | ns_get_color(White, **)
nsterm.m  : 2314: [  263]  ns_lisp_to_color
nsterm.m  : 2192: [  264]  | ns_get_color(white, **)
nsterm.m  : 2314: [  265]  ns_lisp_to_color
nsterm.m  : 2192: [  266]  | ns_get_color(black, **)
nsterm.m  : 1577: [  267]  x_make_frame_visible
nsterm.m  : 7080: [  268]  | [EmacsView windowDidResignKey:]
nsterm.m  : 1538: [  269]  | | ns_frame_rehighlight
nsterm.m  : 3034: [  270]  | | ns_draw_window_cursor
nsterm.m  : 3034: [  271]  | | ns_draw_window_cursor
nsterm.m  : 2386: [  272]  | | x_set_frame_alpha
nsterm.m  : 7060: [  273]  | [EmacsView windowDidBecomeKey]
nsterm.m  : 1538: [  274]  | | ns_frame_rehighlight
nsterm.m  : 2386: [  275]  | | | x_set_frame_alpha
nsterm.m  : 8341: [  276]  | [EmacsWindow constrainFrameRect:(X:0 Y:270)/(W:595 H:530) toScreen:]
nsterm.m  : 8353: [  277]  | +--- Screens have separate spaces
nsterm.m  : 8355: [  278]  | +->> (X:36 Y:247)/(W:595 H:530)
nsterm.m  : 8503: [  279]  | [EmacsWindow setFrame:(X:36 Y:247)/(W:595 H:530) display:1]
nsterm.m  : 7348: [  280]  | | [EmacsView windowDidMove:]
nsterm.m  : 5975: [  281]  | [EmacsView acceptsFirstResponder]
nsterm.m  : 5975: [  282]  | [EmacsView acceptsFirstResponder]
nsfns.m   :  484: [  283]  x_implicitly_set_name
nsfns.m   :  534: [  284]  | ns_set_name_as_filename
nsfns.m   :  484: [  285]  x_implicitly_set_name
nsfns.m   :  534: [  286]  | ns_set_name_as_filename
nsmenu.m  :  116: [  287]  ns_update_menubar
nsterm.m  : 4732: [  288]  ns_condemn_scroll_bars
nsmenu.m  : 1023: [  289]  update_frame_tool_bar
nsmenu.m  : 1182: [  290]  | [EmacsToolbar clearActive]
nsmenu.m  : 1214: [  291]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  292]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  293]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  294]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  295]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  296]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  297]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  298]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  299]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  300]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1285: [  301]  | [EmacsToolbar setVisible:1]
nsterm.m  : 8514: [  302]  | | [EmacsWindow setFrame:(X:36 Y:228)/(W:595 H:549) display:1 performAnimation:1]
nsterm.m  : 8341: [  303]  | | | [EmacsWindow constrainFrameRect:(X:36 Y:228)/(W:595 H:549) toScreen:]
nsterm.m  : 8353: [  304]  | | | +--- Screens have separate spaces
nsterm.m  : 8355: [  305]  | | | +->> (X:36 Y:228)/(W:595 H:549)
nsterm.m  : 8503: [  306]  | | | [EmacsWindow setFrame:(X:36 Y:242)/(W:595 H:535) display:1]
nsterm.m  : 6991: [  307]  | | | | [EmacsView windowDidResize:]
nsterm.m  : 6999: [  308]  | | | | +--- Ignored (in animation)
nsterm.m  : 8011: [  309]  | | | [EmacsView drawRect:(X:0 Y:0)/(W:595 H:508)]
nsterm.m  : 8503: [  310]  | | | [EmacsWindow setFrame:(X:36 Y:231)/(W:595 H:546) display:1]
nsterm.m  : 6991: [  311]  | | | | [EmacsView windowDidResize:]
nsterm.m  : 6999: [  312]  | | | | +--- Ignored (in animation)
nsterm.m  : 8011: [  313]  | | | [EmacsView drawRect:(X:0 Y:0)/(W:595 H:508)]
nsterm.m  : 8503: [  314]  | | | [EmacsWindow setFrame:(X:36 Y:228)/(W:595 H:549) display:1]
nsterm.m  : 6991: [  315]  | | | | [EmacsView windowDidResize:]
nsterm.m  : 6999: [  316]  | | | | +--- Ignored (in animation)
nsterm.m  : 7034: [  317]  | | | [EmacsView viewDidEndLiveResize]
nsterm.m  : 8011: [  318]  | | | [EmacsView drawRect:(X:0 Y:0)/(W:595 H:508)]
nsmenu.m  : 1202: [  319]  | [EmacsToolbar changed]
nsmenu.m  : 1267: [  320]  | [EmacsToolbar toolbarDefaultItemIdentifiers:]
nsmenu.m  : 1267: [  321]  | [EmacsToolbar toolbarDefaultItemIdentifiers:]
nsmenu.m  : 1267: [  322]  | [EmacsToolbar toolbarDefaultItemIdentifiers:]
nsmenu.m  : 1259: [  323]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  324]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  325]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  326]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  327]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  328]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  329]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  330]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  331]  | [EmacsToolbar toolbar: ...]
nsmenu.m  : 1259: [  332]  | [EmacsToolbar toolbar: ...]
nsterm.m  : 8514: [  333]  | [EmacsWindow setFrame:(X:36 Y:212)/(W:595 H:565) display:1 performAnimation:0]
nsterm.m  : 8341: [  334]  | | [EmacsWindow constrainFrameRect:(X:36 Y:212)/(W:595 H:565) toScreen:]
nsterm.m  : 8353: [  335]  | | +--- Screens have separate spaces
nsterm.m  : 8355: [  336]  | | +->> (X:36 Y:212)/(W:595 H:565)
nsterm.m  : 6991: [  337]  | | [EmacsView windowDidResize:]
nsterm.m  : 7011: [  338]  | | +--- frame: (X:36 Y:212)/(W:595 H:565)
nsterm.m  : 8011: [  339]  | | [EmacsView drawRect:(X:0 Y:0)/(W:595 H:508)]
nsterm.m  : 6807: [  340]  | [EmacsView updateFrameSize:]
nsterm.m  : 6808: [  341]  | +--- Original size: (W:595 H:508)
nsterm.m  : 6809: [  342]  | +--- Original frame: (X:36 Y:212)/(W:595 H:565)
nsterm.m  : 6810: [  343]  | +--- Original columns: 0
nsterm.m  : 6811: [  344]  | +--- Original rows: 0
nsterm.m  : 7683: [  345]  | | [EmacsView isFullscreen] ->> 0
nsterm.m  : 6842: [  346]  | +--- New size: (W:595 H:508)
nsterm.m  : 6843: [  347]  | +--- FRAME_TOOLBAR_HEIGHT: 35
nsterm.m  : 6844: [  348]  | +--- FRAME_NS_TITLEBAR_HEIGHT: 22
nsterm.m  : 6855: [  349]  | +--- New columns: 80
nsterm.m  : 6856: [  350]  | +--- New rows: 36
nsterm.m  : 7348: [  351]  | | [EmacsView windowDidMove:]
nsfns.m   :  484: [  352]  x_implicitly_set_name
nsfns.m   :  534: [  353]  | ns_set_name_as_filename
nsterm.m  : 4574: [  354]  ns_set_vertical_scroll_bar
nsterm.m  : 8587: [  355]  | [EmacsScroller initFrame: window:]
nsterm.m  : 8734: [  356]  | [EmacsScroller setPosition:portion:whole:]
nsterm.m  : 4751: [  357]  ns_redeem_scroll_bar
nsterm.m  : 8679: [  358]  | [EmacsScroller reprieve]
nsterm.m  : 4574: [  359]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  360]  ns_redeem_scroll_bar
nsterm.m  : 4781: [  361]  ns_judge_scroll_bars
nsterm.m  : 8687: [  362]  | [EmacsScroller judge]
nsfns.m   :  484: [  363]  x_implicitly_set_name
nsfns.m   :  534: [  364]  | ns_set_name_as_filename
nsfns.m   :  484: [  365]  x_implicitly_set_name
nsfns.m   :  534: [  366]  | ns_set_name_as_filename
nsmenu.m  :  116: [  367]  ns_update_menubar
nsterm.m  : 4732: [  368]  ns_condemn_scroll_bars
nsterm.m  : 8671: [  369]  | [EmacsScroller condemn]
nsmenu.m  : 1023: [  370]  update_frame_tool_bar
nsmenu.m  : 1182: [  371]  | [EmacsToolbar clearActive]
nsmenu.m  : 1214: [  372]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  373]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  374]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  375]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  376]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  377]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  378]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  379]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  380]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  381]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1202: [  382]  | [EmacsToolbar changed]
nsfns.m   :  484: [  383]  x_implicitly_set_name
nsfns.m   :  534: [  384]  | ns_set_name_as_filename
nsterm.m  : 4574: [  385]  ns_set_vertical_scroll_bar
nsterm.m  : 8734: [  386]  | [EmacsScroller setPosition:portion:whole:]
nsterm.m  : 4751: [  387]  ns_redeem_scroll_bar
nsterm.m  : 8679: [  388]  | [EmacsScroller reprieve]
nsterm.m  : 4574: [  389]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  390]  ns_redeem_scroll_bar
nsterm.m  : 4781: [  391]  ns_judge_scroll_bars
nsterm.m  : 8687: [  392]  | [EmacsScroller judge]
nsmenu.m  : 1023: [  393]  update_frame_tool_bar
nsmenu.m  : 1182: [  394]  | [EmacsToolbar clearActive]
nsmenu.m  : 1214: [  395]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  396]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  397]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  398]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  399]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  400]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  401]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  402]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  403]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  404]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1202: [  405]  | [EmacsToolbar changed]
nsfns.m   :  484: [  406]  x_implicitly_set_name
nsfns.m   :  534: [  407]  | ns_set_name_as_filename
nsterm.m  : 4574: [  408]  ns_set_vertical_scroll_bar
nsterm.m  : 8734: [  409]  | [EmacsScroller setPosition:portion:whole:]
nsterm.m  : 4751: [  410]  ns_redeem_scroll_bar
nsterm.m  : 8679: [  411]  | [EmacsScroller reprieve]
nsterm.m  : 8341: [  412]  [EmacsWindow constrainFrameRect:(X:36 Y:212)/(W:595 H:565) toScreen:]
nsterm.m  : 8353: [  413]  +--- Screens have separate spaces
nsterm.m  : 8355: [  414]  +->> (X:36 Y:212)/(W:595 H:565)
nsterm.m  : 7561: [  415]  [EmacsView windowWillEnterFullScreen:]
nsterm.m  : 7566: [  416]  | [EmacsView windowWillEnterFullScreen]
nsterm.m  : 7122: [  417]  [EmacsView setFrame:(X:0 Y:0)/(W:595 H:565)]
nsterm.m  : 8640: [  418]  [EmacsScroller setFrame:]
nsterm.m  : 8514: [  419]  [EmacsWindow setFrame:(X:36 Y:213)/(W:595 H:564) display:1 performAnimation:0]
nsterm.m  : 8503: [  420]  | [EmacsWindow setFrame:(X:36 Y:213)/(W:595 H:564) display:1]
nsterm.m  : 7122: [  421]  | | [EmacsView setFrame:(X:0 Y:0)/(W:595 H:564)]
nsterm.m  : 8640: [  422]  | | [EmacsScroller setFrame:]
nsterm.m  : 6991: [  423]  | | [EmacsView windowDidResize:]
nsterm.m  : 7011: [  424]  | | +--- frame: (X:36 Y:213)/(W:595 H:564)
nsterm.m  : 6807: [  425]  | | | [EmacsView updateFrameSize:]
nsterm.m  : 6808: [  426]  | | | +--- Original size: (W:595 H:508)
nsterm.m  : 6809: [  427]  | | | +--- Original frame: (X:36 Y:213)/(W:595 H:564)
nsterm.m  : 6810: [  428]  | | | +--- Original columns: 80
nsterm.m  : 6811: [  429]  | | | +--- Original rows: 36
nsterm.m  : 7683: [  430]  | | | | [EmacsView isFullscreen] ->> 1
nsterm.m  : 6842: [  431]  | | | +--- New size: (W:595 H:564)
nsterm.m  : 6843: [  432]  | | | +--- FRAME_TOOLBAR_HEIGHT: 0
nsterm.m  : 6844: [  433]  | | | +--- FRAME_NS_TITLEBAR_HEIGHT: 0
nsterm.m  : 6855: [  434]  | | | +--- New columns: 80
nsterm.m  : 6856: [  435]  | | | +--- New rows: 40
nsterm.m  : 7348: [  436]  | | | | [EmacsView windowDidMove:]
nsterm.m  : 6892: [  437]  [EmacsView windowWillResize:toSize: (W:1280 H:800)]
nsterm.m  : 6893: [  438]  +--- [sender frame]: (X:36 Y:213)/(W:595 H:564)
nsterm.m  : 6894: [  439]  +--- fs_state: FULLSCREEN_NONE
nsterm.m  : 7683: [  440]  | [EmacsView isFullscreen] ->> 1
nsterm.m  : 8011: [  441]  | [EmacsView drawRect:(X:0 Y:0)/(W:595 H:564)]
nsterm.m  : 6958: [  442]  +--- cols: 177  rows: 56
nsterm.m  : 6983: [  443]  +->> (W:1274 H:788)
nsterm.m  : 8503: [  444]  [EmacsWindow setFrame:(X:3 Y:6)/(W:1274 H:788) display:1]
nsterm.m  : 7122: [  445]  | [EmacsView setFrame:(X:0 Y:0)/(W:1274 H:788)]
nsterm.m  : 8640: [  446]  | [EmacsScroller setFrame:]
nsterm.m  : 6991: [  447]  | [EmacsView windowDidResize:]
nsterm.m  : 7011: [  448]  | +--- frame: (X:3 Y:6)/(W:1274 H:788)
nsterm.m  : 6807: [  449]  | | [EmacsView updateFrameSize:]
nsterm.m  : 6808: [  450]  | | +--- Original size: (W:595 H:508)
nsterm.m  : 6809: [  451]  | | +--- Original frame: (X:3 Y:6)/(W:1274 H:788)
nsterm.m  : 6810: [  452]  | | +--- Original columns: 177
nsterm.m  : 6811: [  453]  | | +--- Original rows: 56
nsterm.m  : 7683: [  454]  | | | [EmacsView isFullscreen] ->> 1
nsterm.m  : 6842: [  455]  | | +--- New size: (W:1274 H:788)
nsterm.m  : 6843: [  456]  | | +--- FRAME_TOOLBAR_HEIGHT: 0
nsterm.m  : 6844: [  457]  | | +--- FRAME_NS_TITLEBAR_HEIGHT: 0
nsterm.m  : 6855: [  458]  | | +--- New columns: 177
nsterm.m  : 6856: [  459]  | | +--- New rows: 56
nsterm.m  : 7348: [  460]  | | | [EmacsView windowDidMove:]
nsterm.m  : 6892: [  461]  [EmacsView windowWillResize:toSize: (W:1280 H:800)]
nsterm.m  : 6893: [  462]  +--- [sender frame]: (X:3 Y:6)/(W:1274 H:788)
nsterm.m  : 6894: [  463]  +--- fs_state: FULLSCREEN_NONE
nsterm.m  : 7683: [  464]  | [EmacsView isFullscreen] ->> 1
nsterm.m  : 8011: [  465]  | [EmacsView drawRect:(X:0 Y:0)/(W:1274 H:788)]
nsterm.m  : 6958: [  466]  +--- cols: 177  rows: 56
nsterm.m  : 6983: [  467]  +->> (W:1274 H:788)
nsterm.m  : 8503: [  468]  [EmacsWindow setFrame:(X:3 Y:6)/(W:1274 H:788) display:1]
nsterm.m  : 7034: [  469]  [EmacsView viewDidEndLiveResize]
nsterm.m  : 8011: [  470]  [EmacsView drawRect:(X:565 Y:0)/(W:150 H:22)]
nsfns.m   :  484: [  471]  x_implicitly_set_name
nsfns.m   :  534: [  472]  | ns_set_name_as_filename
nsmenu.m  :  116: [  473]  ns_update_menubar
nsterm.m  : 4732: [  474]  ns_condemn_scroll_bars
nsterm.m  : 8671: [  475]  | [EmacsScroller condemn]
nsmenu.m  : 1023: [  476]  update_frame_tool_bar
nsmenu.m  : 1182: [  477]  | [EmacsToolbar clearActive]
nsmenu.m  : 1214: [  478]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  479]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  480]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  481]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  482]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  483]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  484]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  485]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  486]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  487]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1202: [  488]  | [EmacsToolbar changed]
nsfns.m   :  484: [  489]  x_implicitly_set_name
nsfns.m   :  534: [  490]  | ns_set_name_as_filename
nsterm.m  : 4574: [  491]  ns_set_vertical_scroll_bar
nsterm.m  : 8734: [  492]  | [EmacsScroller setPosition:portion:whole:]
nsterm.m  : 4751: [  493]  ns_redeem_scroll_bar
nsterm.m  : 8679: [  494]  | [EmacsScroller reprieve]
nsterm.m  : 4574: [  495]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  496]  ns_redeem_scroll_bar
nsterm.m  : 4781: [  497]  ns_judge_scroll_bars
nsterm.m  : 8687: [  498]  | [EmacsScroller judge]
nsterm.m  : 6009: [  499]  [EmacsView keyDown:]
nsterm.m  : 1425: [  500]  ns_ring_bell
nsterm.m  : 6009: [  501]  [EmacsView keyDown:]
nsterm.m  : 6009: [  502]  [EmacsView keyDown:]
nsterm.m  : 6342: [  503]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  504]  | [EmacsView insertText:]
nsterm.m  : 1577: [  505]  x_make_frame_visible
nsfns.m   :  484: [  506]  x_implicitly_set_name
nsfns.m   :  534: [  507]  | ns_set_name_as_filename
nsfns.m   :  484: [  508]  x_implicitly_set_name
nsfns.m   :  534: [  509]  | ns_set_name_as_filename
nsmenu.m  :  116: [  510]  ns_update_menubar
nsterm.m  : 4732: [  511]  ns_condemn_scroll_bars
nsterm.m  : 8671: [  512]  | [EmacsScroller condemn]
nsterm.m  : 4574: [  513]  ns_set_vertical_scroll_bar
nsterm.m  : 8734: [  514]  | [EmacsScroller setPosition:portion:whole:]
nsterm.m  : 4751: [  515]  ns_redeem_scroll_bar
nsterm.m  : 8679: [  516]  | [EmacsScroller reprieve]
nsmenu.m  : 1023: [  517]  update_frame_tool_bar
nsmenu.m  : 1182: [  518]  | [EmacsToolbar clearActive]
nsmenu.m  : 1214: [  519]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  520]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  521]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  522]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  523]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  524]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  525]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  526]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  527]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  528]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1202: [  529]  | [EmacsToolbar changed]
nsmenu.m  : 1267: [  530]  | [EmacsToolbar toolbarDefaultItemIdentifiers:]
nsmenu.m  : 1267: [  531]  | [EmacsToolbar toolbarDefaultItemIdentifiers:]
nsfns.m   :  484: [  532]  x_implicitly_set_name
nsfns.m   :  534: [  533]  | ns_set_name_as_filename
nsterm.m  : 4574: [  534]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  535]  ns_redeem_scroll_bar
nsterm.m  : 4781: [  536]  ns_judge_scroll_bars
nsterm.m  : 8687: [  537]  | [EmacsScroller judge]
nsterm.m  : 4732: [  538]  ns_condemn_scroll_bars
nsterm.m  : 8671: [  539]  | [EmacsScroller condemn]
nsmenu.m  : 1023: [  540]  update_frame_tool_bar
nsmenu.m  : 1182: [  541]  | [EmacsToolbar clearActive]
nsmenu.m  : 1214: [  542]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  543]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  544]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  545]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  546]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  547]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  548]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  549]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  550]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  551]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1202: [  552]  | [EmacsToolbar changed]
nsfns.m   :  484: [  553]  x_implicitly_set_name
nsfns.m   :  534: [  554]  | ns_set_name_as_filename
nsterm.m  : 4574: [  555]  ns_set_vertical_scroll_bar
nsterm.m  : 8734: [  556]  | [EmacsScroller setPosition:portion:whole:]
nsterm.m  : 4751: [  557]  ns_redeem_scroll_bar
nsterm.m  : 8679: [  558]  | [EmacsScroller reprieve]
nsterm.m  : 4574: [  559]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  560]  ns_redeem_scroll_bar
nsterm.m  : 4781: [  561]  ns_judge_scroll_bars
nsterm.m  : 8687: [  562]  | [EmacsScroller judge]
nsterm.m  : 6009: [  563]  [EmacsView keyDown:]
nsterm.m  : 6342: [  564]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  565]  | [EmacsView insertText:]
nsterm.m  : 4574: [  566]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  567]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  568]  [EmacsView keyDown:]
nsterm.m  : 6342: [  569]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  570]  | [EmacsView insertText:]
nsterm.m  : 4574: [  571]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  572]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  573]  [EmacsView keyDown:]
nsterm.m  : 6342: [  574]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  575]  | [EmacsView insertText:]
nsterm.m  : 4574: [  576]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  577]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  578]  [EmacsView keyDown:]
nsterm.m  : 6342: [  579]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  580]  | [EmacsView insertText:]
nsterm.m  : 4574: [  581]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  582]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  583]  [EmacsView keyDown:]
nsterm.m  : 6342: [  584]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  585]  | [EmacsView insertText:]
nsterm.m  : 4574: [  586]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  587]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  588]  [EmacsView keyDown:]
nsterm.m  : 6342: [  589]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  590]  | [EmacsView insertText:]
nsterm.m  : 4574: [  591]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  592]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  593]  [EmacsView keyDown:]
nsterm.m  : 6342: [  594]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  595]  | [EmacsView insertText:]
nsterm.m  : 4574: [  596]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  597]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  598]  [EmacsView keyDown:]
nsterm.m  : 6342: [  599]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  600]  | [EmacsView insertText:]
nsterm.m  : 4574: [  601]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  602]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  603]  [EmacsView keyDown:]
nsterm.m  : 6342: [  604]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  605]  | [EmacsView insertText:]
nsterm.m  : 4574: [  606]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  607]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  608]  [EmacsView keyDown:]
nsterm.m  : 6342: [  609]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  610]  | [EmacsView insertText:]
nsterm.m  : 4574: [  611]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  612]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  613]  [EmacsView keyDown:]
nsterm.m  : 6342: [  614]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  615]  | [EmacsView insertText:]
nsterm.m  : 4574: [  616]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  617]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  618]  [EmacsView keyDown:]
nsterm.m  : 6342: [  619]  | [EmacsView hasMarkedText]
nsterm.m  : 6256: [  620]  | [EmacsView insertText:]
nsterm.m  : 4574: [  621]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  622]  ns_redeem_scroll_bar
nsterm.m  : 6009: [  623]  [EmacsView keyDown:]
nsterm.m  : 1538: [  624]  ns_frame_rehighlight
nsterm.m  : 1577: [  625]  x_make_frame_visible
nsterm.m  : 1520: [  626]  ns_frame_raise_lower
nsterm.m  : 7080: [  627]  | [EmacsView windowDidResignKey:]
nsterm.m  : 1538: [  628]  | | ns_frame_rehighlight
nsterm.m  : 3034: [  629]  | | ns_draw_window_cursor
nsterm.m  : 3034: [  630]  | | ns_draw_window_cursor
nsterm.m  : 2386: [  631]  | | x_set_frame_alpha
nsterm.m  : 7060: [  632]  | [EmacsView windowDidBecomeKey]
nsterm.m  : 1538: [  633]  | | ns_frame_rehighlight
nsterm.m  : 3034: [  634]  | | | ns_draw_window_cursor
nsterm.m  : 3034: [  635]  | | | ns_draw_window_cursor
nsterm.m  : 2386: [  636]  | | | x_set_frame_alpha
nsterm.m  : 8341: [  637]  | [EmacsWindow constrainFrameRect:(X:37 Y:212)/(W:595 H:565) toScreen:]
nsterm.m  : 8353: [  638]  | +--- Screens have separate spaces
nsterm.m  : 8355: [  639]  | +->> (X:37 Y:212)/(W:595 H:565)
nsterm.m  : 1721: [  640]  x_destroy_window
nsterm.m  : 1684: [  641]  | x_free_frame_resources
nsterm.m  : 5919: [  642]  | | [EmacsView setWindowClosing:1]
nsterm.m  : 7611: [  643]  | | [EmacsView windowWillExitFullScreen:]
nsterm.m  : 7617: [  644]  | | | [EmacsView windowWillExitFullScreen]
nsfns.m   :  484: [  645]  x_implicitly_set_name
nsfns.m   :  534: [  646]  | ns_set_name_as_filename
nsmenu.m  :  116: [  647]  ns_update_menubar
nsterm.m  : 4732: [  648]  ns_condemn_scroll_bars
nsterm.m  : 8671: [  649]  | [EmacsScroller condemn]
nsmenu.m  : 1023: [  650]  update_frame_tool_bar
nsmenu.m  : 1182: [  651]  | [EmacsToolbar clearActive]
nsmenu.m  : 1214: [  652]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  653]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  654]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  655]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  656]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  657]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  658]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  659]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  660]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1214: [  661]  | [EmacsToolbar addDisplayItemWithImage: ...]
nsmenu.m  : 1202: [  662]  | [EmacsToolbar changed]
nsfns.m   :  484: [  663]  x_implicitly_set_name
nsfns.m   :  534: [  664]  | ns_set_name_as_filename
nsterm.m  : 4574: [  665]  ns_set_vertical_scroll_bar
nsterm.m  : 8734: [  666]  | [EmacsScroller setPosition:portion:whole:]
nsterm.m  : 4751: [  667]  ns_redeem_scroll_bar
nsterm.m  : 8679: [  668]  | [EmacsScroller reprieve]
nsterm.m  : 4574: [  669]  ns_set_vertical_scroll_bar
nsterm.m  : 4751: [  670]  ns_redeem_scroll_bar
nsterm.m  : 4781: [  671]  ns_judge_scroll_bars
nsterm.m  : 8687: [  672]  | [EmacsScroller judge]
Process 56856 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00000001003bda71 Emacs`-[EmacsView windowWillResize:toSize:](self=0x000000010c202230, _cmd="windowWillResize:toSize:", sender=0x000000010c202620, frameSize=(width = 1280, height = 800)) at nsterm.m:6912
   6909
   6910	  if (! [self isFullscreen])
   6911	    {
-> 6912	      extra = FRAME_NS_TITLEBAR_HEIGHT (emacsframe)
   6913	        + FRAME_TOOLBAR_HEIGHT (emacsframe);
   6914	    }
   6915
Target 0: (Emacs) stopped.
(lldb)

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-05  0:44           ` John Mastro
@ 2017-10-07 15:08             ` Alan Third
  2017-10-07 17:46               ` John Mastro
  0 siblings, 1 reply; 12+ messages in thread
From: Alan Third @ 2017-10-07 15:08 UTC (permalink / raw)
  To: John Mastro; +Cc: 28661, Kevin Lin

[-- Attachment #1: Type: text/plain, Size: 689 bytes --]

On Wed, Oct 04, 2017 at 05:44:13PM -0700, John Mastro wrote:
> Alan Third <alan@idiocy.org> wrote:
> > I guess that closing a fullscreen window now results in it being
> > resized. But is emacsframe already trashed by this point? That would
> > certainly cause a crash.
> >
> > Can you please uncomment line 54 in nsterm.h to enable NSTRACE,
> > recompile, cause the crash and send the output to me?
> 
> I've done so and the trace is attached.

Thank you!

It looks like it is trying to resize the frame after we’ve already
cleaned it up. Do fullscreen windows animate when they close on 10.13?

Anyway, I’ve attached a patch, can you give it a go and see if it
works?
-- 
Alan Third

[-- Attachment #2: 0001-Fix-crash-when-closing-fullscreen-frame-on-macOS-bug.patch --]
[-- Type: text/plain, Size: 915 bytes --]

From c544ffbf0ed005729f40d358a39cbf01b3577795 Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Sat, 7 Oct 2017 16:00:49 +0100
Subject: [PATCH] Fix crash when closing fullscreen frame on macOS (bug#28661)

* src/nsterm.m (EmacsView::windowWillResize): Return new frame size
unmodified if the frame isn't live.
---
 src/nsterm.m | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/nsterm.m b/src/nsterm.m
index f0b6a70dae..abfdffc9f5 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -6893,6 +6893,9 @@ - (NSSize)windowWillResize: (NSWindow *)sender toSize: (NSSize)frameSize
   NSTRACE_RECT   ("[sender frame]", [sender frame]);
   NSTRACE_FSTYPE ("fs_state", fs_state);
 
+  if (!FRAME_LIVE_P (emacsframe))
+    return frameSize;
+
   if (fs_state == FULLSCREEN_MAXIMIZED
       && (maximized_width != (int)frameSize.width
           || maximized_height != (int)frameSize.height))
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-07 15:08             ` Alan Third
@ 2017-10-07 17:46               ` John Mastro
  2017-10-07 20:56                 ` Alan Third
  0 siblings, 1 reply; 12+ messages in thread
From: John Mastro @ 2017-10-07 17:46 UTC (permalink / raw)
  To: Alan Third; +Cc: 28661, Kevin Lin

Alan Third <alan@idiocy.org> wrote:
> Thank you!

Glad to help!

> It looks like it is trying to resize the frame after we’ve already
> cleaned it up. Do fullscreen windows animate when they close on 10.13?

The fullscreen Emacs frame/window sort of slides off the screen and the
desktop slides back on.

> Anyway, I’ve attached a patch, can you give it a go and see if it
> works?

That indeed does the trick. With the patch applied, I can repeat the
recipe from the OP and everything works as expected.

Thanks

        John





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-07 17:46               ` John Mastro
@ 2017-10-07 20:56                 ` Alan Third
  2017-10-07 22:50                   ` Kevin Lin
  0 siblings, 1 reply; 12+ messages in thread
From: Alan Third @ 2017-10-07 20:56 UTC (permalink / raw)
  To: John Mastro; +Cc: 28661, Kevin Lin

On Sat, Oct 07, 2017 at 10:46:41AM -0700, John Mastro wrote:
> Alan Third <alan@idiocy.org> wrote:
> > It looks like it is trying to resize the frame after we’ve already
> > cleaned it up. Do fullscreen windows animate when they close on 10.13?
> 
> The fullscreen Emacs frame/window sort of slides off the screen and the
> desktop slides back on.

Sounds just like 10.12. Oh well, who knows.

> > Anyway, I’ve attached a patch, can you give it a go and see if it
> > works?
> 
> That indeed does the trick. With the patch applied, I can repeat the
> recipe from the OP and everything works as expected.

Thanks. It’s a small change and makes no difference here on 10.12, so
I’ll push it to emacs-26.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash
  2017-10-07 20:56                 ` Alan Third
@ 2017-10-07 22:50                   ` Kevin Lin
  0 siblings, 0 replies; 12+ messages in thread
From: Kevin Lin @ 2017-10-07 22:50 UTC (permalink / raw)
  To: Alan Third; +Cc: 28661, John Mastro

Thank you both!  sorry I haven't been able to help (crazy week at work).
-Kevin





^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-10-07 22:50 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-01 15:43 bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash Kevin Lin
2017-10-01 19:33 ` Alan Third
2017-10-01 22:07   ` Kevin Lin
2017-10-01 22:56   ` John Mastro
2017-10-01 23:01     ` Alan Third
2017-10-02 21:27       ` John Mastro
2017-10-02 22:34         ` Alan Third
2017-10-05  0:44           ` John Mastro
2017-10-07 15:08             ` Alan Third
2017-10-07 17:46               ` John Mastro
2017-10-07 20:56                 ` Alan Third
2017-10-07 22:50                   ` Kevin Lin

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).