Subject: Re: bug#65843: 28.2; Too many iconified frames in .emacs.desktop -> crash (macOS)

From: Gerd Möllmann <[email-masked]>
Date: Sun, 10 Sep 2023 19:38:39 +0200

Gerd Möllmann <[email-masked]> writes:

> Gerd Möllmann <[email-masked]> writes:
>
>> Christian Tanzer <[email-masked]> writes:
>>
>>> Weirder and weirder …
>>
>> Wait a moment...  I just got this
>>
>> [emacs-29] gerd@Mini 2023-09-10 17:24 
>> ~/emacs/29/src/ > ~/emacs/29/src/emacs -Q --eval '(desktop-read "~/bug-sowieso")' 
>> objc[88769]: autorelease pool page 0x11b4a5000 corrupted
>>   magic     0x00000000 0x00000000 0x00000000 0x00000000
>>   should be 0xa1a1a1a1 0x4f545541 0x454c4552 0x21455341
>>   pthread   0x201892080
>>   should be 0x201892080
>>
>> Fatal error 6: Aborted
>>
>> It doesn't seem to happen everytime, and to make things weirder,
>> I didn't get it to abort under lldb.
>>
>> Guess I'll build an emacs-29 with all checking bells and whistles now.
>>
>> I come back to you when I find something out.
>
> That's gonna be a bit more difficult than I thought.  With ASAN,
>
>   CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
>
> the abort does not happen when run 100 times, like so
>
> #! /usr/bin/env zsh
>
> for i in {1..100}; do
>     ~/emacs/29/src/emacs -Q --eval '(desktop-read "~/bug-sowieso")' --eval '(kill-emacs)'
> done
>
> I'll have to let that sink in a bit, to get an idea how to preceed.

Cool: If a build with ASAN, but with -O2 and leave out
omit-frame-pointer, the abort happens, with enough tries, but ASAN isn't
triggered.  So, I guess it's not something in Emacs' code.