emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help with new Windows 98 crash


From: Po Lu
Subject: Re: Help with new Windows 98 crash
Date: Tue, 06 Dec 2022 09:29:04 +0800
User-agent: Gnus/5.13 (Gnus v5.13)

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Mon, 05 Dec 2022 16:52:28 +0200
>> From: Eli Zaretskii <eliz@gnu.org>
>> Cc: emacs-devel@gnu.org
>> 
>> > From: Po Lu <luangruo@yahoo.com>
>> > Date: Mon, 05 Dec 2022 22:18:18 +0800
>> > 
>> > Emacs 30 (with unexec) is crashing on Windows 98 again, this time during
>> > GC.
>> 
>> I tried to build it on X, but the build fails:
>> 
>>   xfns.c:46:10: fatal error: xcb/xcb_aux.h: No such file or directory
>>    #include <xcb/xcb_aux.h>
>>          ^~~~~~~~~~~~~~~
>>   compilation terminated.
>> 
>> can you please fix that?
>
> Never mind, I already fixed this.
>
>> Then I could see if the problem is not only Windows specific.
>
> Seems to be: the build on GNU/Linux doesn't crash.  Unless there's something
> special that I need to do to crash it.

I think I have figured it out.

init_bignum must be called before make_initial_frame, because that
allocates a bignum in temacs (as set_window_buffer calls
bset_display_time and Fcurrent_time, which go through the time
arithmetic stuff), before our own allocator has been set up, which ends
up in the dumped Emacs, leading to a free of a pointer from the wrong
heap once the bignum is garbage collected.

I have installed the change on the Emacs 30 branch because I am not sure
it is safe for Emacs 29.  Can you think of a safer fix?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]