Subject: bug#60556: 29.0.60; Fatal error accurred when editing init.el with flymake enabled on Windows 10

From: Eason Huang <[email-masked]>
Date: Sun, 22 Jan 2023 21:27:02 +0800

Eli Zaretskii <[email-masked]> writes:

>> From: Eason Huang <[email-masked]>
>> Cc: [email-masked]
>> Date: Sun, 22 Jan 2023 20:11:23 +0800
>> 
>> (gdb) thread apply all bt
>> 
>> Thread 43 (Thread 14608.0x3f20):
>> #0  0x00007ffda9a90bb1 in ntdll!DbgBreakPoint () from C:\Windows\SYSTEM32\ntdll.dll
>> #1  0x00007ffda9abcc2e in ntdll!DbgUiRemoteBreakin () from C:\Windows\SYSTEM32\ntdll.dll
>> #2  0x00007ffda8fa7614 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
>> #3  0x00007ffda9a426a1 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
>> #4  0x0000000000000000 in ?? ()
>> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>> 
>> Thread 5 (Thread 14608.0x4bf8):
>> #0  0x00007ffda9a90b14 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
>> #1  0x00007ffda9a42e17 in ntdll!TpReleaseCleanupGroupMembers () from C:\Windows\SYSTEM32\ntdll.dll
>> #2  0x00007ffda8fa7614 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
>> #3  0x00007ffda9a426a1 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
>> #4  0x0000000000000000 in ?? ()
>> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>> 
>> Thread 4 (Thread 14608.0x4e10):
>> #0  0x00007ffda9a90b14 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
>> #1  0x00007ffda9a42e17 in ntdll!TpReleaseCleanupGroupMembers () from C:\Windows\SYSTEM32\ntdll.dll
>> #2  0x00007ffda8fa7614 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
>> #3  0x00007ffda9a426a1 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
>> #4  0x0000000000000000 in ?? ()
>> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>> 
>> Thread 3 (Thread 14608.0x4338):
>> #0  0x00007ffda7901104 in win32u!NtUserGetMessage () from C:\Windows\System32\win32u.dll
>> --Type <RET> for more, q to quit, c to continue without paging--
>
> Did you type RET there?  Because there should be more threads (at
> least 2 more)...
>
> Thanks.
>

Sorry, I didn't type RET to show more infomations.

I tried to reproduce again, and the result is as below:

```
➜ ~  ✗ ps -name emacs

 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
     20    38.86      43.11       2.38    1036   1 emacs

➜ ~  mingw

MINGW64 ~
$ gdb -p 1036
GNU gdb (GDB) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.

Attaching to process 1036
[New Thread 1036.0x23c8]
[New Thread 1036.0x1744]
[New Thread 1036.0x33d8]
[New Thread 1036.0x20f0]
[New Thread 1036.0x2aa0]
Reading symbols from C:\opt\emacs\bin\emacs.exe...
(gdb) c
Continuing.
[Thread 1036.0x2aa0 exited with code 0]
[New Thread 1036.0x42b8]
[New Thread 1036.0x166c]
[Thread 1036.0x166c exited with code 0]
[Thread 1036.0x42b8 exited with code 0]
[New Thread 1036.0x5b4]
[New Thread 1036.0x2774]
[New Thread 1036.0x2734]
[New Thread 1036.0x2714]
[Thread 1036.0x2774 exited with code 0]
[Thread 1036.0x5b4 exited with code 0]
[Thread 1036.0x2714 exited with code 0]
[Thread 1036.0x2734 exited with code 0]
[New Thread 1036.0x3c78]
[New Thread 1036.0x3494]
[New Thread 1036.0xe90]
[New Thread 1036.0x5c4]
[Thread 1036.0x5c4 exited with code 0]
[Thread 1036.0xe90 exited with code 0]
[Thread 1036.0x3494 exited with code 0]
[Thread 1036.0x3c78 exited with code 0]
[New Thread 1036.0xe88]

Thread 17 received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 1036.0xe88]
0x00007ffaa4790bb1 in ntdll!DbgBreakPoint () from C:\Windows\SYSTEM32\ntdll.dll
(gdb) thread apply all bt

Thread 17 (Thread 1036.0xe88):
#0  0x00007ffaa4790bb1 in ntdll!DbgBreakPoint () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffaa47bcc2e in ntdll!DbgUiRemoteBreakin () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffaa3317614 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ffaa47426a1 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 5 (Thread 1036.0x20f0):
#0  0x00007ffaa4790b14 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffaa4742e17 in ntdll!TpReleaseCleanupGroupMembers () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffaa3317614 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ffaa47426a1 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 4 (Thread 1036.0x33d8):
#0  0x00007ffaa4790b14 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffaa4742e17 in ntdll!TpReleaseCleanupGroupMembers () from C:\Windows\SYSTEM32\ntdll.dll
--Type <RET> for more, q to quit, c to continue without paging--
#2  0x00007ffaa3317614 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ffaa47426a1 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 3 (Thread 1036.0x1744):
#0  0x00007ffaa2241104 in win32u!NtUserGetMessage () from C:\Windows\System32\win32u.dll
#1  0x00007ffaa3db1b9e in USER32!GetMessageW () from C:\Windows\System32\user32.dll
#2  0x00007ff691a4c969 in w32_msg_pump (msg_buf=msg_buf@entry=0x4d687ffd40) at w32fns.c:3336
#3  0x00007ff691a4d0db in w32_msg_worker (arg=<optimized out>) at w32fns.c:3574
#4  0x00007ffaa3317614 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#5  0x00007ffaa47426a1 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#6  0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 2 (Thread 1036.0x23c8):
#0  0x00007ffaa478d744 in ntdll!ZwDelayExecution () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffaa1fab16e in SleepEx () from C:\Windows\System32\KernelBase.dll
#2  0x00007ff691a83fa9 in timer_loop (arg=0x7ff69202c580 <real_itimer>) at w32proc.c:476
#3  0x00007ffaa3317614 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
--Type <RET> for more, q to quit, c to continue without paging--
#4  0x00007ffaa47426a1 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#5  0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 1 (Thread 1036.0x23e0):
#0  0x00007ffaa224a104 in win32u!NtUserMsgWaitForMultipleObjectsEx () from C:\Windows\System32\win32u.dll
#1  0x00007ffaa3db07ee in USER32!MsgWaitForMultipleObjectsEx () from C:\Windows\System32\user32.dll
#2  0x00007ff691a870b0 in sys_select (nfds=<optimized out>, rfds=0x4d667fe4d0, wfds=0x4d667fe4d8, efds=<optimized out>, timeout=<optimized out>, ignored=0x0) at w32proc.c:2504
#3  0x00007ff691a36d63 in really_call_select (arg=0x4d667fe250) at thread.c:612
#4  0x00007ff691a3778e in flush_stack_call_func (arg=0x4d667fe330, func=0x7ff691a36d00 <really_call_select>) at lisp.h:4232
#5  thread_select (func=<optimized out>, max_fds=<optimized out>, rfds=rfds@entry=0x4d667fe4d0, wfds=wfds@entry=0x4d667fe4d8, efds=<optimized out>, efds@entry=0x0, timeout=<optimized out>, timeout@entry=0x4d667fe4e0, sigmask=<optimized out>, sigmask@entry=0x0) at thread.c:644
#6  0x00007ff691a0f1b4 in wait_reading_process_output (time_limit=<optimized out>, nsecs=<optimized out>, read_kbd=<optimized out>, read_kbd@entry=-1, do_display=do_display@entry=true, wait_for_cell=<optimized out>, wait_for_cell@entry=0x0, wait_proc=<optimized out>, wait_proc@entry=0x0, just_wait_proc=<optimized out>, just_wait_proc@entry=0) at process.c:5693
#7  0x00007ff69185bea5 in sit_for (timeout=timeout@entry=0xb6, reading=reading@entry=true, display_option=display_option@entry=1) at dispnew.c:6252
#8  0x00007ff691939a75 in read_char (commandflag=<optimized out>, map=<optimized out>, map@entry=0x1a52d6317b3, prev_event=<optimized out>, used_mouse_menu=<optimized out>,--Type <RET> for more, q to quit, c to continue without paging--
 used_mouse_menu@entry=0x4d667fed7b, end_time=<optimized out>, end_time@entry=0x0) at keyboard.c:2871
#9  0x00007ff69193b072 in read_key_sequence (keybuf=keybuf@entry=0x4d667fef00, prompt=prompt@entry=0x0, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false) at keyboard.c:10073
#10 0x00007ff69193c69c in command_loop_1 () at keyboard.c:1375
#11 0x00007ff6919b580d in internal_condition_case (bfun=bfun@entry=0x7ff69193c4b0 <command_loop_1>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x7ff691931520 <cmd_error>) at eval.c:1474
#12 0x00007ff691928bde in command_loop_2 (handlers=0x90) at keyboard.c:1124
#13 0x00007ff6919b577b in internal_catch (tag=tag@entry=0x102f0, func=func@entry=0x7ff691928bb0 <command_loop_2>, arg=arg@entry=0x90) at eval.c:1197
#14 0x00007ff691928b6c in command_loop () at keyboard.c:1102
#15 0x00007ff691931077 in recursive_edit_1 () at keyboard.c:711
#16 0x00007ff691931440 in Frecursive_edit () at keyboard.c:794
#17 0x00007ff691ac1f00 in main (argc=<optimized out>, argv=0x1a52a371630) at emacs.c:2529
(gdb) q
A debugging session is active.

        Inferior 1 [process 1036] will be detached.

Quit anyway? (y or n) y
Detaching from program: C:\opt\emacs\bin\emacs.exe, process 1036
[Inferior 1 (process 1036) detached]

```

-- 
Eason Huang