Subject: bug#17688: 24.3.90; segmentation fault in deselect_palette

From: Eli Zaretskii <[email-masked]>
Date: Thu, 05 Jun 2014 21:15:03 +0300

> From: Zdzislaw Meglicki <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Thu, 05 Jun 2014 13:16:51 -0400
> 
> 
>    > People have reported several crashes of the Cygwin-w32 build,
>    > always on 64-bit Cygwin, with backtraces that "can't happen".
> 
> When you have this kind of event, in my experience, it points to the
> process memory being corrupted. Instead of finding what you expect to be
> there, there is something totally unexpected there altogether, something
> completely wrong and unexplainable by the logic of the program. This is
> because something else, possibly another process, has written its data
> onto it, or because your pointer has jumped into a wrong location,
> possibly beyond your system allocated memory buffer.

Unlikely, IMO.  The backtraces look too "tidy" for that, in the sense
that the line numbers stated in the backtraces indeed correspond to a
call to the function higher on the call-stack, i.e. they match the
sources.  Memory corruption should be so lucky to produce that.

> If there is something in emacs or in mingw32 that mismanages memory
> (malloc?) on 64-bit systems for 32-bit applications you would get such
> problems. Things might work quite without a glitch as long as the memory
> used by the process is not wanted and written on by another process.

Heap and stack are too far on Windows for this to be a viable
explanation.

Thanks.