bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

Kevin Lin-2
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))



Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

Alan Third
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



Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

Kevin Lin-2
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



Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

John Mastro
In reply to this post by Alan Third
Alan Third <[hidden email]> 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



Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

Alan Third
On Sun, Oct 01, 2017 at 03:56:31PM -0700, John Mastro wrote:
> Alan Third <[hidden email]> 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



Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

John Mastro
Alan Third <[hidden email]> wrote:

> On Sun, Oct 01, 2017 at 03:56:31PM -0700, John Mastro wrote:
>> Alan Third <[hidden email]> 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

backtrace.txt (14K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

Alan Third
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



Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

John Mastro
Alan Third <[hidden email]> 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

28661-nstrace.txt (54K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

Alan Third
On Wed, Oct 04, 2017 at 05:44:13PM -0700, John Mastro wrote:
> Alan Third <[hidden email]> 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

0001-Fix-crash-when-closing-fullscreen-frame-on-macOS-bug.patch (943 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

John Mastro
Alan Third <[hidden email]> 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



Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

Alan Third
On Sat, Oct 07, 2017 at 10:46:41AM -0700, John Mastro wrote:
> Alan Third <[hidden email]> 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



Reply | Threaded
Open this post in threaded view
|

bug#28661: 25.3; closing fullscreen frame on macOS 10.13 High Sierra causes crash

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