Subject: bug#12544: -r110296..110297 causes random crashes in optimized build on Windows

From: Fabrice Popineau <[email-masked]>
Date: Mon, 1 Oct 2012 09:31:14 +0200

I don't know if it is related or not, but I get a few crashes too when
doing a bootstrap and
while compiling some .el files. An example of a backtrace is :
And the crash occurs after a

EnterCriticalSection(crit)

instruction.
I have the same behaviour with both 32bits and 64bits exe.

Fabrice

  ntdll.dll!RtlDeNormalizeProcessParams()  + 0x5a4 bytes
  [Frames below may be incorrect and/or missing, no symbols loaded for
ntdll.dll]
  ntdll.dll!RtlDeNormalizeProcessParams()  + 0x4cb bytes
> emacs.exe!setitimer(int which, itimerval * value, itimerval * ovalue)
 Line 642 C
  emacs.exe!set_alarm()  Line 326 C
  emacs.exe!do_pending_atimers()  Line 397 C
  emacs.exe!totally_unblock_input()  Line 7168 C
  emacs.exe!terminate_due_to_signal(int sig, int backtrace_limit)  Line 297
C
  emacs.exe!deliver_fatal_thread_signal(int sig)  Line 1570 + 0x12 bytes C
  msvcr100.dll!_XcptFilter()  + 0x1ad bytes
  emacs.exe!__tmainCRTStartup$filt$0()  Line 572 + 0x16 bytes C
  msvcr100.dll!__C_specific_handler()  + 0x97 bytes
  ntdll.dll!RtlDecodePointer()  + 0xbd bytes
  ntdll.dll!RtlUnwindEx()  + 0xbbf bytes
  ntdll.dll!KiUserExceptionDispatcher()  + 0x2e bytes
  ntdll.dll!RtlDeNormalizeProcessParams()  + 0x5a4 bytes
  ntdll.dll!RtlDeNormalizeProcessParams()  + 0x4cb bytes
  emacs.exe!setitimer(int which, itimerval * value, itimerval * ovalue)
 Line 642 C
  emacs.exe!set_alarm()  Line 326 C
  emacs.exe!do_pending_atimers()  Line 397 C
  emacs.exe!unblock_input()  Line 7159 C
  emacs.exe!check_glyph_memory()  Line 2335 C
  emacs.exe!Fkill_emacs(__int64 arg)  Line 1832 + 0x8a bytes C
  emacs.exe!Ffuncall(__int64 nargs, __int64 * args)  Line 2773 C
  emacs.exe!exec_byte_code(__int64 bytestr, __int64 vector, __int64
maxdepth, __int64 args_template, __int64 nargs, __int64 * args)  Line 899 +
0xf bytes C
  emacs.exe!funcall_lambda(__int64 fun, __int64 nargs, __int64 *
arg_vector)  Line 3011 C
   emacs.exe!Ffuncall(__int64 nargs, __int64 * args)  Line 2844 C
  emacs.exe!exec_byte_code(__int64 bytestr, __int64 vector, __int64
maxdepth, __int64 args_template, __int64 nargs, __int64 * args)  Line 899 +
0xf bytes C
  emacs.exe!funcall_lambda(__int64 fun, __int64 nargs, __int64 *
arg_vector)  Line 3011 C
   emacs.exe!Ffuncall(__int64 nargs, __int64 * args)  Line 2844 C
  emacs.exe!eval_sub(__int64 form)  Line 2111 C
  emacs.exe!Fif(__int64 args)  Line 310 + 0x2d bytes C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!Fcond(__int64 args)  Line 337 + 0x15 bytes C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!FletX(__int64 args)  Line 843 + 0x25 bytes C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!Fwhile(__int64 args)  Line 935 + 0x15 bytes C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!Flet(__int64 args)  Line 913 + 0x2d bytes C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!Fprogn(__int64 args)  Line 360 C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!Flet(__int64 args)  Line 913 + 0x2d bytes C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!Fprogn(__int64 args)  Line 360 C
  emacs.exe!funcall_lambda(__int64 fun, __int64 nargs, __int64 *
arg_vector)  Line 2998 C
  emacs.exe!apply_lambda(__int64 fun, __int64 args)  Line 2884 C
  emacs.exe!eval_sub(__int64 form)  Line 2212 + 0xc bytes C
  emacs.exe!Fprogn(__int64 args)  Line 360 C
  emacs.exe!funcall_lambda(__int64 fun, __int64 nargs, __int64 *
arg_vector)  Line 2998 C
  emacs.exe!apply_lambda(__int64 fun, __int64 args)  Line 2884 C
  emacs.exe!eval_sub(__int64 form)  Line 2212 + 0xc bytes C
  emacs.exe!Funwind_protect(__int64 args)  Line 1148 C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!Flet(__int64 args)  Line 913 + 0x2d bytes C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!Fif(__int64 args)  Line 310 + 0x2d bytes C
  emacs.exe!eval_sub(__int64 form)  Line 2085 + 0x6 bytes C
  emacs.exe!Fprogn(__int64 args)  Line 360 C
  emacs.exe!funcall_lambda(__int64 fun, __int64 nargs, __int64 *
arg_vector)  Line 2998 C
  emacs.exe!apply_lambda(__int64 fun, __int64 args)  Line 2884 C
  emacs.exe!eval_sub(__int64 form)  Line 2212 + 0xc bytes C
  emacs.exe!Feval(__int64 form, __int64 lexical)  Line 2002 + 0x8 bytes C
  emacs.exe!internal_condition_case(__int64 (void)* bfun, __int64 handlers,
__int64 (__int64)* hfun)  Line 1289 C
  emacs.exe!top_level_1(__int64 ignore)  Line 1201 C
  emacs.exe!internal_catch(__int64 tag, __int64 (__int64)* func, __int64
arg)  Line 1059 + 0x9 bytes C
  emacs.exe!command_loop()  Line 1158 C
  emacs.exe!recursive_edit_1()  Line 780 C
  emacs.exe!Frecursive_edit()  Line 844 C
  emacs.exe!main(int argc, char * * argv)  Line 1525 + 0x5 bytes C