GNU bug report logs - #26323
25.1; Closing frames (in fullscreen) under Mac OS cause immediate crash

Previous Next

Package: emacs;

Reported by: kev.sjoberg <at> gmail.com (Kevin Sjöberg)

Date: Fri, 31 Mar 2017 14:48:04 UTC

Severity: normal

Tags: confirmed

Found in version 25.1

Done: Alan Third <alan <at> idiocy.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26323 in the body.
You can then email your comments to 26323 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#26323; Package emacs. (Fri, 31 Mar 2017 14:48:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to kev.sjoberg <at> gmail.com (Kevin Sjöberg):
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 31 Mar 2017 14:48:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: kev.sjoberg <at> gmail.com (Kevin Sjöberg)
To: bug-gnu-emacs <at> gnu.org
Subject: 25.1;
 Closing frames (in fullscreen) under Mac OS cause immediate crash
Date: Fri, 31 Mar 2017 15:01:47 +0200
Start Emacs (GUI) and fullscreen the current frame. Create a new frame
(C-x 5 2), followed by closing the frame (C-x 5 0). This cause Emacs to
crash immediately. This does only happen if both frames are in
fullscreen.

This is not reproducible if the frames in question are not in fullscreen.



In GNU Emacs 25.1.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version 10.9.5 (Build 13F1911))
 of 2016-09-21 built on builder10-9.porkrind.org
Windowing system distributor 'Apple', version 10.3.1504
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_SE.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Messages

Minor modes in effect:
  diff-auto-refine-mode: t
  global-flycheck-mode: t
  projectile-mode: t
  ido-everywhere: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  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:
user-error: No further undo information [4 times]
C-x c is undefined
Buffer create_game_url.go modified; kill anyway? (y or n) n
Undo! [4 times]
user-error: No further undo information [20 times]
Quit
Auto-saving...done
Mark set [3 times]
GNU Emacs 25.1.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version 10.9.5 (Build 13F1911)) of 2016-09-21
user-error: Minibuffer window is not active

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec epg mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils
reposition kmacro term disp-table ehelp vc-git diff-mode easy-mmode
imenu go-mode url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util mailcap find-file ffap
url-parse auth-source gnus-util mm-util help-fns mail-prsvr
password-cache url-vars etags xref project eieio eieio-core cl-macs
solarized-light-theme solarized color flycheck json map find-func rx
subr-x dash projectile cl-seq advice grep compile comint ansi-color ring
ibuf-ext ibuffer thingatpt exec-path-from-shell ido finder-inf info
package epg-config seq byte-opt gv bytecomp byte-compile cl-extra
help-mode easymenu cconv cl-loaddefs pcase cl-lib 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 392331 30134)
 (symbols 48 32221 1)
 (miscs 40 166 561)
 (strings 32 59514 9151)
 (string-bytes 1 1667893)
 (vectors 16 49476)
 (vector-slots 8 851380 10423)
 (floats 8 540 547)
 (intervals 56 4042 84)
 (buffers 976 26))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#26323; Package emacs. (Fri, 31 Mar 2017 19:16:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Steve Perry <stevoooo <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#26323: 25.1;
 Closing frames (in fullscreen) under Mac OS cause immediate crash
Date: Fri, 31 Mar 2017 20:13:54 +0100
Can also see this problem in 26.0.50.  FWIW f is non-NULL and the
contents look reasonable.  Backtrace etc.:

Process 73590 stopped
* thread #1: tid = 0x103905a, 0x00000001001bc3c1 Emacs`ns_clear_frame_area(f=0x0000000103a1cc18, x=0, y=0, width=595, height=564) + 65 at nsterm.m:2414, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x20)
    frame #0: 0x00000001001bc3c1 Emacs`ns_clear_frame_area(f=0x0000000103a1cc18, x=0, y=0, width=595, height=564) + 65 at nsterm.m:2414 [opt]
   2411 {
   2412   NSRect r = NSMakeRect (x, y, width, height);
   2413   NSView *view = FRAME_NS_VIEW (f);
-> 2414   struct face *face = FRAME_DEFAULT_FACE (f);
   2415
   2416   if (!view || !face)
   2417     return;

(lldb) bt
* thread #1: tid = 0x103905a, 0x00000001001bc3c1 Emacs`ns_clear_frame_area(f=0x0000000103a1cc18, x=0, y=0, width=595, height=564) + 65 at nsterm.m:2414, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x20)
  * frame #0: 0x00000001001bc3c1 Emacs`ns_clear_frame_area(f=0x0000000103a1cc18, x=0, y=0, width=595, height=564) + 65 at nsterm.m:2414 [opt]
    frame #1: 0x00000001001bc334 Emacs`-[EmacsView drawRect:](self=0x0000000111626c90, _cmd=<unavailable>, rect=(origin = (x = 0, y = 0), size = (width = 595, height = 564))) + 84 at nsterm.m:7497 [opt]
    frame #2: 0x00007fffa00a5af9 AppKit`-[NSView _drawRect:clip:] + 2276
    frame #3: 0x00007fffa00f5aab AppKit`-[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1753
    frame #4: 0x00007fffa00f5f16 AppKit`-[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2884
    frame #5: 0x00007fffa00f5f16 AppKit`-[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2884
    frame #6: 0x00007fffa00a3632 AppKit`-[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 837
    frame #7: 0x00007fffa00a2e0f AppKit`-[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 334
    frame #8: 0x00007fffa00a1238 AppKit`-[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2452
    frame #9: 0x00007fffa009cb25 AppKit`-[NSView displayIfNeeded] + 1748
    frame #10: 0x00007fffa009c437 AppKit`-[NSWindow displayIfNeeded] + 230
    frame #11: 0x00007fffa07faf3f AppKit`___NSWindowGetDisplayCycleObserver_block_invoke.6228 + 277
    frame #12: 0x00007fffa009bf15 AppKit`__37+[NSDisplayCycle currentDisplayCycle]_block_invoke + 454
    frame #13: 0x00007fffa814aa96 QuartzCore`CA::Transaction::run_commit_handlers(CATransactionPhase) + 46
    frame #14: 0x00007fffa8252800 QuartzCore`CA::Context::commit_transaction(CA::Transaction*) + 160
    frame #15: 0x00007fffa8149631 QuartzCore`CA::Transaction::commit() + 475
    frame #16: 0x00007fffa8149f92 QuartzCore`CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 108
    frame #17: 0x00007fffa243b397 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
    frame #18: 0x00007fffa243b307 CoreFoundation`__CFRunLoopDoObservers + 391
    frame #19: 0x00007fffa241b996 CoreFoundation`CFRunLoopRunSpecific + 454
    frame #20: 0x00007fffa19a7a5c HIToolbox`RunCurrentEventLoopInMode + 240
    frame #21: 0x00007fffa19a7799 HIToolbox`ReceiveNextEventCommon + 184
    frame #22: 0x00007fffa19a76c6 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 71
    frame #23: 0x00007fff9ff4d5b4 AppKit`_DPSNextEvent + 1120
    frame #24: 0x00007fffa06c7d6b AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2789
    frame #25: 0x00000001001b2daf Emacs`ns_send_appdefined(value=-1) + 143 at nsterm.m:3890 [opt]
    frame #26: 0x00007fffa2431a6c CoreFoundation`__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
    frame #27: 0x00007fffa243196b CoreFoundation`_CFXRegistrationPost + 427
    frame #28: 0x00007fffa24316d2 CoreFoundation`___CFXNotificationPost_block_invoke + 50
    frame #29: 0x00007fffa23eed63 CoreFoundation`-[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1827
    frame #30: 0x00007fffa23edd9c CoreFoundation`_CFXNotificationPost + 604
    frame #31: 0x00007fffa3e14a37 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 66
    frame #32: 0x00007fffa0019fc3 AppKit`-[NSWindow _setFrameCommon:display:stashSize:] + 3326
    frame #33: 0x00007fffa00192b7 AppKit`-[NSWindow _setFrame:display:allowImplicitAnimation:stashSize:] + 222
    frame #34: 0x00007fffa00191d2 AppKit`-[NSWindow setFrame:display:] + 67
    frame #35: 0x00000001001bdfba Emacs`-[EmacsWindow setFrame:display:](self=<unavailable>, _cmd=<unavailable>, windowFrame=(origin = (x = 543, y = 405), size = (width = 595, height = 564)), displayViews=<unavailable>) + 74 at nsterm.m:7948 [opt]
    frame #36: 0x00007fffa02624f4 AppKit`-[NSWindow _didExitFullScreen:] + 226
    frame #37: 0x00007fffa099073f AppKit`__123-[_NSWindowFullScreenTransition _performExitFullScreenModeForWindow:windowController:options:customWindows:doKitAnimation:]_block_invoke_2 + 390
    frame #38: 0x00007fffa09904c5 AppKit`__123-[_NSWindowFullScreenTransition _performExitFullScreenModeForWindow:windowController:options:customWindows:doKitAnimation:]_block_invoke + 1191
    frame #39: 0x00007fffa098ffbf AppKit`-[_NSWindowFullScreenTransition _performExitFullScreenModeForWindow:windowController:options:customWindows:doKitAnimation:] + 1616
    frame #40: 0x00007fffa0991355 AppKit`-[_NSWindowFullScreenTransition exitFullScreenTransitionForWindow:options:] + 895
    frame #41: 0x00007fffa0363776 AppKit`-[NSWindow(NSWindowTabbing) _doTabbedWindowCleanupForOrderOut] + 228
    frame #42: 0x00007fffa01e44cd AppKit`__18-[NSWindow _close]_block_invoke + 82
    frame #43: 0x00007fffa01e442c AppKit`-[NSWindow _close] + 365
    frame #44: 0x00000001001b1394 Emacs`x_free_frame_resources(f=0x0000000103a1cc18) + 292 at nsterm.m:1656 [opt]
    frame #45: 0x00000001001b13d6 Emacs`x_destroy_window(f=0x0000000103a1cc18) + 22 at nsterm.m:1672 [opt]
    frame #46: 0x000000010001046c Emacs`delete_frame(frame=<unavailable>, force=<unavailable>) + 1260 at frame.c:1718 [opt]
    frame #47: 0x000000010013f168 Emacs`funcall_subr(subr=0x0000000100228e20, numargs=0, args=<unavailable>) + 248 at eval.c:2820 [opt]
    frame #48: 0x000000010013e75f Emacs`Ffuncall(nargs=<unavailable>, args=<unavailable>) + 735 at eval.c:2743 [opt]
    frame #49: 0x0000000100137ff6 Emacs`Ffuncall_interactively(nargs=<unavailable>, args=<unavailable>) + 70 at callint.c:252 [opt]
    frame #50: 0x000000010013e75f Emacs`Ffuncall(nargs=<unavailable>, args=<unavailable>) + 735 at eval.c:2743 [opt]
    frame #51: 0x00000001001395dd Emacs`Fcall_interactively(function=<unavailable>, record_flag=0, keys=<unavailable>) + 5581 at callint.c:843 [opt]
    frame #52: 0x000000010013f17c Emacs`funcall_subr(subr=0x000000010058c880, numargs=3, args=<unavailable>) + 268 at eval.c:2823 [opt]
    frame #53: 0x000000010013e75f Emacs`Ffuncall(nargs=<unavailable>, args=<unavailable>) + 735 at eval.c:2743 [opt]
    frame #54: 0x000000010017ae3a Emacs`exec_byte_code(bytestr=<unavailable>, vector=<unavailable>, maxdepth=<unavailable>, args_template=4102, nargs=<unavailable>, args=<unavailable>) + 1738 at bytecode.c:641 [opt]
    frame #55: 0x000000010013e700 Emacs`Ffuncall(nargs=<unavailable>, args=<unavailable>) + 640 at eval.c:2745 [opt]
    frame #56: 0x000000010013ee3d Emacs`call1(fn=<unavailable>, arg1=<unavailable>) + 45 at eval.c:2605 [opt]
    frame #57: 0x00000001000bfb17 Emacs`command_loop_1 + 1895 at keyboard.c:1484 [opt]
    frame #58: 0x000000010013cf67 Emacs`internal_condition_case(bfun=(Emacs`command_loop_1 at keyboard.c:1261), handlers=<unavailable>, hfun=(Emacs`cmd_error at keyboard.c:940)) + 87 at eval.c:1324 [opt]
    frame #59: 0x00000001000ce970 Emacs`command_loop_2(ignore=<unavailable>) + 48 at keyboard.c:1112 [opt]
    frame #60: 0x000000010013c82e Emacs`internal_catch(tag=<unavailable>, func=(Emacs`command_loop_2 at keyboard.c:1108), arg=0) + 78 at eval.c:1091 [opt]
    frame #61: 0x00000001000beaae Emacs`command_loop + 158 at keyboard.c:1091 [opt]
    frame #62: 0x00000001000be9bf Emacs`recursive_edit_1 + 111 at keyboard.c:697 [opt]
    frame #63: 0x00000001000bebf3 Emacs`Frecursive_edit + 227 at keyboard.c:768 [opt]
    frame #64: 0x00000001000bd7d8 Emacs`main(argc=0, argv=<unavailable>) + 6072 at emacs.c:1683 [opt]
    frame #65: 0x00007fffb7973255 libdyld.dylib`start + 1






Added tag(s) confirmed. Request was from Alan Third <alan <at> idiocy.org> to control <at> debbugs.gnu.org. (Sat, 29 Apr 2017 23:09:02 GMT) Full text and rfc822 format available.

Reply sent to Alan Third <alan <at> idiocy.org>:
You have taken responsibility. (Sat, 17 Jun 2017 16:59:02 GMT) Full text and rfc822 format available.

Notification sent to kev.sjoberg <at> gmail.com (Kevin Sjöberg):
bug acknowledged by developer. (Sat, 17 Jun 2017 16:59:02 GMT) Full text and rfc822 format available.

Message #15 received at 26323-done <at> debbugs.gnu.org (full text, mbox):

From: Alan Third <alan <at> idiocy.org>
To: kev.sjoberg <at> gmail.com (Kevin Sjöberg)
Cc: Steve Perry <stevoooo <at> gmail.com>, 26323-done <at> debbugs.gnu.org
Subject: Re: bug#26323: 25.1;
 Closing frames (in fullscreen) under Mac OS cause immediate crash
Date: Sat, 17 Jun 2017 17:58:04 +0100
kev.sjoberg <at> gmail.com (Kevin Sjöberg) writes:

> Start Emacs (GUI) and fullscreen the current frame. Create a new frame
> (C-x 5 2), followed by closing the frame (C-x 5 0). This cause Emacs to
> crash immediately. This does only happen if both frames are in
> fullscreen.
>
> This is not reproducible if the frames in question are not in fullscreen.

I believe this is fixed in master. At least, I can't reproduce any more.

I think the changes to allow undecorated frames, etc., did it.

Let me know if you still get the crashes.
-- 
Alan Third




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#26323; Package emacs. (Tue, 20 Jun 2017 16:51:02 GMT) Full text and rfc822 format available.

Message #18 received at 26323-done <at> debbugs.gnu.org (full text, mbox):

From: Stephen Perry <stevoooo <at> gmail.com>
To: Alan Third <alan <at> idiocy.org>
Cc: Kevin Sjöberg <kev.sjoberg <at> gmail.com>,
 26323-done <at> debbugs.gnu.org
Subject: Re: bug#26323: 25.1; Closing frames (in fullscreen) under Mac OS
 cause immediate crash
Date: Tue, 20 Jun 2017 17:50:36 +0100
I’m no longer able to reproduce this problem in master.






bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 19 Jul 2017 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 283 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.