Subject: Re: 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 23:38:47 -0600

I just tested the master branch and confirmed that master branch does
not have this issue

On Fri, Dec 18, 2020 at 6:57 PM Liāu, Kiong-Gē 廖宮毅
<[email-masked]> wrote:
>
> 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").