emacs-devel
[Top][All Lists]
Advanced

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

Re: Unexec dumping results in "Segmentation fault" on Windows Msys2


From: Nikolay Kudryavtsev
Subject: Re: Unexec dumping results in "Segmentation fault" on Windows Msys2
Date: Thu, 29 Apr 2021 22:17:10 +0300
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.0

I now know what's going on there.

buffer.c/init_buffer has some unexec-specific code that remaps memory for the special buffers inherited from temacs. We fail at Fprin1_to_string which uses the " prin1" special buffer. cddf85d256 removed FOR_EACH_BUFFER macro and replaced it everywhere with the use of FOR_EACH_LIVE_BUFFER. Because FOR_EACH_LIVE_BUFFER does not iterate over the " prin1" buffer, it does not get its memory remapped and this breaks print functionality and elisp compilation, which depends on it.

FOR_EACH_BUFFER worked before due to buffer structure operating as a linked list and since it's kind of an ugly way of doing things, make sense why Stefan removed it. But I'm not if adding those special buffers to Vbuffer_alist(FOR_EACH_LIVE_BUFFER uses it) would not break anything.




reply via email to

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