Subject: bug#45303: 28.0.50; [feature/native-comp] comp.c compilation error on Windows 10

From: Liāu, Kiong-Gē 廖宮毅 <[email-masked]>
Date: Fri, 18 Dec 2020 18:57:37 -0600

Here's the debug info:

$ gdb --args ./src/bootstrap-emacs.exe -l comp -f
byte-compile-refresh-preload -f
batch-byte-native-compile-for-bootstrap ../src/lisp/macroexpand.el
GNU gdb (GDB) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-msys".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Traceback (most recent call last):
  File "<string>", line 3, in <module>
ModuleNotFoundError: No module named 'libstdcxx'
/etc/gdbinit:6: Error in sourced command file:
Error while executing Python code.
Reading symbols from ./src/bootstrap-emacs.exe...
(gdb) start
Temporary breakpoint 1 at 0x400215320: file ../../src/src/emacs.c, line 968.
Starting program:
/home/VWinUser0/Downloads/emacs/native-comp/build/src/bootstrap-emacs.exe
-l comp -f byte-compile-refresh-preload -f
batch-byte-native-compile-for-bootstrap ../src/lisp/macroexpand.el
[New Thread 7800.0x2a24]
[New Thread 7800.0x1fb8]
[New Thread 7800.0x2ae4]

Thread 1 hit Temporary breakpoint 1, main (argc=8, argv=0xc13240) at
../../src/src/emacs.c:968
968     {
(gdb) continue
Continuing.
[New Thread 7800.0x7fc]
[New Thread 7800.0x2abc]

Thread 1 received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffeb8a493e3 in KERNELBASE!DebugBreak () from
/c/WINDOWS/System32/KERNELBASE.dll
(gdb) bt
#0  0x00007ffeb8a493e3 in KERNELBASE!DebugBreak () from
/c/WINDOWS/System32/KERNELBASE.dll
#1  0x00000004001adbbc in emacs_abort () at ../../src/src/w32fns.c:10847
#2  0x000000040009d7cc in bidi_initialize () at ../../src/src/bidi.c:1096
#3  0x00000004000a1285 in bidi_init_it (charpos=charpos@entry=1,
bytepos=1, frame_window_p=<optimized out>,
bidi_it=bidi_it@entry=0xbfbed0)
    at ../../src/src/bidi.c:1138
#4  0x000000040002cd02 in init_iterator (it=it@entry=0xbfb4e0,
w=w@entry=0x3f160e0, charpos=1, bytepos=<optimized out>,
row=<optimized out>,
    row@entry=0x0, base_face_id=<optimized out>,
base_face_id@entry=DEFAULT_FACE_ID) at ../../src/src/xdisp.c:3436
#5  0x00000004000360b9 in resize_mini_window (w=0x3f160e0,
exact_p=exact_p@entry=true) at ../../src/src/xdisp.c:11784
#6  0x000000040000f460 in do_switch_frame (frame=0x5cb82c5,
track=<optimized out>, for_deletion=<optimized out>,
norecord=0xfffffffc03a1a2a8)
    at ../../src/src/lisp.h:731
#7  0x00000004001336d6 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#8  0x000000040013397d in Fprogn (body=0x4960b43) at ../../src/src/eval.c:471
#9  0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#10 0x0000000400134ced in Funwind_protect (args=0x4960943) at
../../src/src/lisp.h:1420
#11 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#12 0x0000000400134a15 in Fprogn (body=0x0) at ../../src/src/eval.c:471
#13 Flet (args=0x4960913) at ../../src/src/eval.c:1055
#14 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#15 0x0000000400133e9d in Fprogn (body=0x4960893) at ../../src/src/eval.c:471
#16 Fif (args=<optimized out>) at ../../src/src/eval.c:427
#17 Fif (args=<optimized out>) at ../../src/src/eval.c:413
#18 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#19 0x0000000400134265 in Fprogn (body=0x0) at ../../src/src/eval.c:471
#20 funcall_lambda (fun=0x4960813, fun@entry=0x2b,
nargs=nargs@entry=1, arg_vector=arg_vector@entry=0xbfcf50) at
../../src/src/eval.c:3222
#21 0x0000000400134468 in apply_lambda (fun=0x2b, args=<optimized
out>, count=12570672, count@entry=43) at ../../src/src/eval.c:3094
#22 0x00000004001332e8 in eval_sub (form=<optimized out>) at
../../src/src/eval.c:2497
#23 0x000000040013397d in Fprogn (body=0x495f82b) at ../../src/src/eval.c:471
#24 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
--Type <RET> for more, q to quit, c to continue without paging--
#25 0x0000000400134ced in Funwind_protect (args=0x495f78b) at
../../src/src/lisp.h:1420
#26 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#27 0x0000000400134c25 in Fprogn (body=0x495f76b) at ../../src/src/eval.c:471
#28 FletX (args=0x495f72b) at ../../src/src/eval.c:987
#29 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#30 0x0000000400134265 in Fprogn (body=0x0) at ../../src/src/eval.c:471
#31 funcall_lambda (fun=0x495f6cb, fun@entry=0x24,
nargs=nargs@entry=1, arg_vector=arg_vector@entry=0xbfd510) at
../../src/src/eval.c:3222
#32 0x0000000400134468 in apply_lambda (fun=0x24, args=<optimized
out>, count=12572144, count@entry=36) at ../../src/src/eval.c:3094
#33 0x00000004001332e8 in eval_sub (form=<optimized out>) at
../../src/src/eval.c:2497
#34 0x000000040013397d in Fprogn (body=0x0) at ../../src/src/eval.c:471
#35 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#36 0x0000000400134265 in Fprogn (body=0x0) at ../../src/src/eval.c:471
#37 funcall_lambda (fun=0x495f61b, nargs=nargs@entry=1,
arg_vector=arg_vector@entry=0xbfd9e8) at ../../src/src/eval.c:3222
#38 0x0000000400130c8f in Ffuncall (nargs=nargs@entry=2,
args=args@entry=0xbfd9e0) at ../../src/src/eval.c:2961
#39 0x0000000400132fb3 in Fapply (nargs=2, args=0xbfd9e0) at
../../src/src/eval.c:2532
#40 0x0000000400130e07 in Ffuncall (nargs=<optimized out>,
args=args@entry=0xbfd9d8) at ../../src/src/lisp.h:2092
#41 0x000000040016dce0 in exec_byte_code (bytestr=<optimized out>,
vector=<optimized out>, maxdepth=<optimized out>,
    args_template=args_template@entry=0x202, nargs=nargs@entry=1,
args=<optimized out>, args@entry=0xbfdbe0) at
../../src/src/bytecode.c:632
#42 0x0000000400134175 in fetch_and_exec_byte_code (args=0xbfdbe0,
nargs=1, syms_left=0x202, fun=0x4152a5d) at ../../src/src/lisp.h:1838
#43 funcall_lambda (fun=0x4152a5d, fun@entry=0x1f,
nargs=nargs@entry=1, arg_vector=arg_vector@entry=0xbfdbe0) at
../../src/src/eval.c:3150
#44 0x0000000400134468 in apply_lambda (fun=0x1f, args=<optimized
out>, count=12573888, count@entry=31) at ../../src/src/eval.c:3094
#45 0x00000004001332e8 in eval_sub (form=<optimized out>) at
../../src/src/eval.c:2497
#46 0x0000000400134a15 in Fprogn (body=0x0) at ../../src/src/eval.c:471
#47 Flet (args=0x415293b) at ../../src/src/eval.c:1055
#48 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#49 0x00000004001339f3 in Fsetq (args=<optimized out>) at
../../src/src/eval.c:518
#50 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#51 0x0000000400134c25 in Fprogn (body=0x414e44b) at ../../src/src/eval.c:471
--Type <RET> for more, q to quit, c to continue without paging--
#52 FletX (args=0x414e3db) at ../../src/src/eval.c:987
#53 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#54 0x0000000400134265 in Fprogn (body=0x0) at ../../src/src/eval.c:471
#55 funcall_lambda (fun=0x414e37b, fun@entry=0x18,
nargs=nargs@entry=1, arg_vector=arg_vector@entry=0xbfe220) at
../../src/src/eval.c:3222
#56 0x0000000400134468 in apply_lambda (fun=0x18, args=<optimized
out>, count=12575488, count@entry=24) at ../../src/src/eval.c:3094
#57 0x00000004001332e8 in eval_sub (form=<optimized out>) at
../../src/src/eval.c:2497
#58 0x00000004001339f3 in Fsetq (args=<optimized out>) at
../../src/src/eval.c:518
#59 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#60 0x00000004001339f3 in Fsetq (args=<optimized out>) at
../../src/src/eval.c:518
#61 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#62 0x000000040013397d in Fprogn (body=0x490455b) at ../../src/src/eval.c:471
#63 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#64 0x000000040013390d in For (args=0x0) at ../../src/src/eval.c:384
#65 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#66 0x000000040013397d in Fprogn (body=0x49043bb) at ../../src/src/eval.c:471
#67 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#68 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#69 0x0000000400134265 in Fprogn (body=0x0) at ../../src/src/eval.c:471
#70 funcall_lambda (fun=0x490432b, fun@entry=0x10,
nargs=nargs@entry=0, arg_vector=arg_vector@entry=0xbfeaf0) at
../../src/src/eval.c:3222
#71 0x0000000400134468 in apply_lambda (fun=0x10, args=<optimized
out>, count=12577728, count@entry=16) at ../../src/src/eval.c:3094
#72 0x00000004001332e8 in eval_sub (form=<optimized out>) at
../../src/src/eval.c:2497
#73 0x0000000400133e9d in Fprogn (body=0x0) at ../../src/src/eval.c:471
#74 Fif (args=<optimized out>) at ../../src/src/eval.c:427
#75 Fif (args=<optimized out>) at ../../src/src/eval.c:413
#76 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#77 0x0000000400134a15 in Fprogn (body=0x48edfc3) at ../../src/src/eval.c:471
#78 Flet (args=0x48edeb3) at ../../src/src/eval.c:1055
#79 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
--Type <RET> for more, q to quit, c to continue without paging--
#80 0x0000000400134265 in Fprogn (body=0x0) at ../../src/src/eval.c:471
#81 funcall_lambda (fun=0x48ede63, fun@entry=0xb, nargs=nargs@entry=0,
arg_vector=arg_vector@entry=0xbfefa0) at ../../src/src/eval.c:3222
#82 0x0000000400134468 in apply_lambda (fun=0xb, args=<optimized out>,
count=12578928, count@entry=11) at ../../src/src/eval.c:3094
#83 0x00000004001332e8 in eval_sub (form=<optimized out>) at
../../src/src/eval.c:2497
#84 0x0000000400134ced in Funwind_protect (args=0x4c17743) at
../../src/src/lisp.h:1420
#85 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#86 0x0000000400134a15 in Fprogn (body=0x0) at ../../src/src/eval.c:471
#87 Flet (args=0x4c17713) at ../../src/src/eval.c:1055
#88 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#89 0x0000000400133e9d in Fprogn (body=0x4c171e3) at ../../src/src/eval.c:471
#90 Fif (args=<optimized out>) at ../../src/src/eval.c:427
#91 Fif (args=<optimized out>) at ../../src/src/eval.c:413
#92 0x0000000400133713 in eval_sub (form=<optimized out>) at
../../src/src/lisp.h:2092
#93 0x0000000400134265 in Fprogn (body=0x0) at ../../src/src/eval.c:471
#94 funcall_lambda (fun=0x4c17023, fun@entry=0x4, nargs=nargs@entry=0,
arg_vector=arg_vector@entry=0xbff580) at ../../src/src/eval.c:3222
#95 0x0000000400134468 in apply_lambda (fun=0x4, args=<optimized out>,
count=12580432, count@entry=4) at ../../src/src/eval.c:3094
#96 0x00000004001332e8 in eval_sub (form=form@entry=0x4d83093) at
../../src/src/eval.c:2497
#97 0x000000040013508d in Feval (form=0x4d83093, lexical=<optimized
out>) at ../../src/src/eval.c:2249
#98 0x000000040012fd3d in internal_condition_case
(bfun=bfun@entry=0x4000b47f0 <top_level_2>,
handlers=handlers@entry=0x90,
    hfun=hfun@entry=0x4000bad30 <cmd_error>) at ../../src/src/eval.c:1424
#99 0x00000004000b561d in top_level_1 (ignore=<optimized out>) at
../../src/src/lisp.h:1008
#100 0x000000040012fcab in internal_catch (tag=tag@entry=0xec10,
func=func@entry=0x4000b55f0 <top_level_1>, arg=arg@entry=0x0)
    at ../../src/src/eval.c:1185
#101 0x00000004000b4715 in command_loop () at ../../src/src/lisp.h:1008
#102 0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)

However I cannot tell what's the major cause of the error.

On Fri, Dec 18, 2020 at 3:26 PM Eli Zaretskii <[email-masked]> wrote:
>
> > From: Liāu, Kiong-Gē 廖宮毅 <[email-masked]>
> > Date: Fri, 18 Dec 2020 13:35:02 -0600
> > Cc: Eli Zaretskii <[email-masked]>, [email-masked],
> >       =?UTF-8?Q?Li=C4=[email-masked]
> >
> > make[2]: Entering directory
> > '/home/VWinUser0/Downloads/emacs/native-comp/build/lisp'
> >  ELC+ELN   ../../src/lisp/emacs-lisp/macroexp.elc
> >
> > Backtrace:
> > 00000004001adbe2
> > 00000004000b40a6
> > 00000004000ccc64
> > 000000040020581a
> > 00007ffeba377ff0
> > 00007ffebb9910f7
> > 00007ffebb93b46c
> > 00007ffebb98fc26
>
> This form of backtrace is impossible to interpret on any system but
> yours.  Please run the failing command under GDB and post the
> backtrace from the crash produced by the "bt" GDB command.  Or at the
> very least use the addr2line program to convert the addresses into a
> human-readable backtrace (the Emacs manual explains how in the node
> "Crashing").