Subject: Re: bug#70914: 29.3; Crashes often on Windows

From: Simen Endsjø <[email-masked]>
Date: Wed, 22 May 2024 15:14:33 +0200

Reading symbols from
D:\tmp\emacs-bug-70914\emacs-abort-on-empty-path\simendsjo-build\bin\emacs.exe...
(gdb) run --init-directory=d:/.emacs.d
Starting program:
D:\tmp\emacs-bug-70914\emacs-abort-on-empty-path\simendsjo-build\bin\emacs.exe
--init-directory=d:/.emacs.d
[New Thread 12416.0x3eb0]
[New Thread 12416.0x4854]
[New Thread 12416.0x7420]
[New Thread 12416.0x4b90]
[New Thread 12416.0x1f68]
[New Thread 12416.0xc4c]
[Thread 12416.0xc4c exited with code 1]
[New Thread 12416.0x37d0]
[Thread 12416.0x37d0 exited with code 1]
[New Thread 12416.0x1be8]
[Thread 12416.0x1be8 exited with code 1]
[New Thread 12416.0x7a4c]
[Thread 12416.0x7a4c exited with code 1]
[New Thread 12416.0x3df0]
[Thread 12416.0x3df0 exited with code 1]
[New Thread 12416.0x2134]
[New Thread 12416.0x2c64]
[Thread 12416.0x2c64 exited with code 1]
[New Thread 12416.0x3144]
[Thread 12416.0x3144 exited with code 1]
[New Thread 12416.0x2664]
[Thread 12416.0x2664 exited with code 1]
[New Thread 12416.0x33c0]
[Thread 12416.0x33c0 exited with code 1]
[New Thread 12416.0x760c]
[New Thread 12416.0x57b8]
[New Thread 12416.0x76a0]
[New Thread 12416.0x314]
[New Thread 12416.0x5910]
[New Thread 12416.0x6098]
[Thread 12416.0x6098 exited with code 1]
[New Thread 12416.0x50a8]
[Thread 12416.0x50a8 exited with code 1]
[New Thread 12416.0x92c]
[Thread 12416.0x92c exited with code 1]
[New Thread 12416.0x4f74]
[Thread 12416.0x4f74 exited with code 1]

Thread 1 received signal SIGTRAP, Trace/breakpoint trap.
0x00007fffed1bd313 in KERNELBASE!DebugBreak () from
C:\WINDOWS\System32\KernelBase.dll
(gdb) thread 1
[Switching to thread 1 (Thread 12416.0xb70)]
#0  0x00007fffed1bd313 in KERNELBASE!DebugBreak () from
C:\WINDOWS\System32\KernelBase.dll
(gdb) source d:/tmp/emacs-bug-70914/emacs-abort-on-empty-path/src/.gdbinit
warning: D:\tmp\emacs-bug-70914/../lwlib: No such file or directory
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not
from terminal]
Environment variable "DISPLAY" not defined.
TERM = xterm-256color
Breakpoint 1 at 0x7ff6673dbd35: file emacs.c, line 427.
(gdb) bt
#0  0x00007fffed1bd313 in KERNELBASE!DebugBreak () from
C:\WINDOWS\System32\KernelBase.dll
#1  0x00007ff6675c8f46 in emacs_abort () at w32fns.c:11136
#2  0x00007ff6675fa08e in parse_root (name=0x1d0e39b8 "//",
pPath=0xbf76b0) at w32.c:2561
#3  0x00007ff6675fbdf7 in get_volume_info (name=0x1d0e39b8 "//",
pPath=0xbf76b0) at w32.c:3483
#4  0x00007ff6675fbf06 in is_fat_volume (name=0x1d0e39b8 "//",
pPath=0xbf76b0) at w32.c:3513
#5  0x00007ff6675fbf9c in map_w32_filename (name=0x1d0e39b8 "//",
pPath=0x0) at w32.c:3538
#6  0x00007ff6675fd149 in faccessat (dirfd=-3041965, path=0x1d0e39b8
"//", mode=8, flags=4) at w32.c:4134
#7  0x00007ff667445ec1 in file_access_p (file=0x1d0e39b8 "//",
amode=0) at fileio.c:162
#8  0x00007ff66744bc91 in check_file_access (file=XIL(0xce53ba4),
operation=XIL(0x6ab0), amode=0) at fileio.c:2893
#9  0x00007ff66744bcde in Ffile_exists_p (filename=XIL(0xce53be4)) at
fileio.c:2905
#10 0x00007ff6674d8335 in eval_sub (form=XIL(0xba82673)) at eval.c:2502
#11 0x00007ff6674d0ef3 in For (args=XIL(0)) at eval.c:349
#12 0x00007ff6674d7f63 in eval_sub (form=XIL(0xba82573)) at eval.c:2453
#13 0x00007ff6674d1087 in Fif (args=XIL(0xba826a3)) at eval.c:388
#14 0x00007ff6674d7f63 in eval_sub (form=XIL(0xba82563)) at eval.c:2453
#15 0x00007ff6674d13cd in Fprogn (body=XIL(0)) at eval.c:436
#16 0x00007ff6674dabfe in funcall_lambda (fun=XIL(0xd337f33), nargs=1,
arg_vector=0x0) at eval.c:3237
#17 0x00007ff6674d9a11 in funcall_general (fun=XIL(0xd337f43),
numargs=1, args=0x4a15b08) at eval.c:2961
#18 0x00007ff66753faf1 in exec_byte_code (fun=XIL(0xcb363b5),
args_template=514, nargs=2, args=0x4a15b10) at bytecode.c:811
#19 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0xc160185), args_template=0, nargs=0, args=0x0) at
eval.c:3085
#20 0x00007ff6674dac89 in funcall_lambda (fun=XIL(0xc160185), nargs=0,
arg_vector=0x0) at eval.c:3246
#21 0x00007ff6674d98ef in funcall_general (fun=XIL(0xc160185),
numargs=0, args=0xbf8b58) at eval.c:2949
#22 0x00007ff6674d9c22 in Ffuncall (nargs=1, args=0xbf8b50) at eval.c:2999
#23 0x00007ff6674d8e1d in funcall_nil (nargs=1, args=0xbf8b50) at eval.c:2681
#24 0x00007ff6674d939c in run_hook_with_args (nargs=1, args=0xbf8b50,
funcall=0x7ff6674d8dfd <funcall_nil>) at eval.c:2858
#25 0x00007ff6674d8eab in Frun_hook_with_args (nargs=1, args=0xbf8b50)
at eval.c:2723
#26 0x00007ff6674d943b in run_hook (hook=XIL(0xffff8009a2436d90)) at eval.c:2871
#27 0x00007ff6674d8e65 in Frun_hooks (nargs=4, args=0xbf8d28) at eval.c:2705
#28 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2e80
<Srun_hooks>, numargs=4, args=0xbf8d28) at eval.c:3063
#29 0x00007ff6674d98a3 in funcall_general (fun=XIL(0x7ff667bd2e85),
numargs=4, args=0xbf8d28) at eval.c:2945
#30 0x00007ff6674d9c22 in Ffuncall (nargs=5, args=0xbf8d20) at eval.c:2999
#31 0x00007ff6674d8de2 in Fapply (nargs=2, args=0x4a157b8) at eval.c:2670
#32 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2e40 <Sapply>,
numargs=2, args=0x4a157b8) at eval.c:3063
#33 0x00007ff66753fac8 in exec_byte_code (fun=XIL(0x3ed7cf5),
args_template=128, nargs=1, args=0x4a15758) at bytecode.c:809
#34 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0x3f35f45), args_template=256, nargs=0, args=0x4a155e0) at
eval.c:3085
#35 0x00007ff6674da6de in funcall_lambda (fun=XIL(0x3f35f45), nargs=0,
arg_vector=0x4a155e0) at eval.c:3157
#36 0x00007ff6674d98ef in funcall_general (fun=XIL(0x3f35f45),
numargs=0, args=0x4a155e0) at eval.c:2949
#37 0x00007ff6674d9c22 in Ffuncall (nargs=1, args=0x4a155d8) at eval.c:2999
--Type <RET> for more, q to quit, c to continue without paging--c
#38 0x00007ff6674d89b2 in Fapply (nargs=2, args=0x4a155d8) at eval.c:2623
#39 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2e40 <Sapply>,
numargs=2, args=0x4a155d8) at eval.c:3063
#40 0x00007ff66753fac8 in exec_byte_code (fun=XIL(0x615ebd5),
args_template=128, nargs=0, args=0xbf9d58) at bytecode.c:809
#41 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0x615ebd5), args_template=128, nargs=0, args=0xbf9d58) at
eval.c:3085
#42 0x00007ff6674da6de in funcall_lambda (fun=XIL(0x615ebd5), nargs=0,
arg_vector=0xbf9d58) at eval.c:3157
#43 0x00007ff6674d98ef in funcall_general (fun=XIL(0x615ebd5),
numargs=0, args=0xbf9d58) at eval.c:2949
#44 0x00007ff6674d9c22 in Ffuncall (nargs=1, args=0xbf9d50) at eval.c:2999
#45 0x00007ff6674d89b2 in Fapply (nargs=2, args=0xbf9d50) at eval.c:2623
#46 0x00007ff6674d81b1 in eval_sub (form=XIL(0xa98ab83)) at eval.c:2474
#47 0x00007ff6674d13cd in Fprogn (body=XIL(0)) at eval.c:436
#48 0x00007ff6674d7f63 in eval_sub (form=XIL(0x53a3153)) at eval.c:2453
#49 0x00007ff6674d44ce in Funwind_protect (args=XIL(0x53a3143)) at eval.c:1301
#50 0x00007ff6674d7f63 in eval_sub (form=XIL(0x53a3133)) at eval.c:2453
#51 0x00007ff6674d13cd in Fprogn (body=XIL(0)) at eval.c:436
#52 0x00007ff6674d3ab5 in Flet (args=XIL(0x53a3113)) at eval.c:1026
#53 0x00007ff6674d7f63 in eval_sub (form=XIL(0x53a3103)) at eval.c:2453
#54 0x00007ff6674d882c in eval_sub (form=XIL(0xa98ab73)) at eval.c:2588
#55 0x00007ff6674d10f8 in Fif (args=XIL(0xa98ab63)) at eval.c:391
#56 0x00007ff6674d7f63 in eval_sub (form=XIL(0xa98ab53)) at eval.c:2453
#57 0x00007ff6674d13cd in Fprogn (body=XIL(0)) at eval.c:436
#58 0x00007ff6674dabfe in funcall_lambda (fun=XIL(0xa9930f3), nargs=1,
arg_vector=0x0) at eval.c:3237
#59 0x00007ff6674d9a11 in funcall_general (fun=XIL(0xa993103),
numargs=1, args=0x4a15598) at eval.c:2961
#60 0x00007ff6674d9c22 in Ffuncall (nargs=2, args=0x4a15590) at eval.c:2999
#61 0x00007ff6674d89b2 in Fapply (nargs=3, args=0x4a15590) at eval.c:2623
#62 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2e40 <Sapply>,
numargs=3, args=0x4a15590) at eval.c:3063
#63 0x00007ff66753fac8 in exec_byte_code (fun=XIL(0xa983005),
args_template=128, nargs=0, args=0x4a15558) at bytecode.c:809
#64 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0xa983005), args_template=128, nargs=0, args=0x4a15558) at
eval.c:3085
#65 0x00007ff6674da6de in funcall_lambda (fun=XIL(0xa983005), nargs=0,
arg_vector=0x4a15558) at eval.c:3157
#66 0x00007ff6674d98ef in funcall_general (fun=XIL(0xa983005),
numargs=0, args=0x4a15558) at eval.c:2949
#67 0x00007ff6674d9c22 in Ffuncall (nargs=1, args=0x4a15550) at eval.c:2999
#68 0x00007ff6674d89b2 in Fapply (nargs=2, args=0x4a15550) at eval.c:2623
#69 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2e40 <Sapply>,
numargs=2, args=0x4a15550) at eval.c:3063
#70 0x00007ff66753fac8 in exec_byte_code (fun=XIL(0x3f2c45d),
args_template=513, nargs=1, args=0x4a15650) at bytecode.c:809
#71 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0x1d74a395), args_template=385, nargs=1, args=0x4a15508) at
eval.c:3085
#72 0x00007ff6674da6de in funcall_lambda (fun=XIL(0x1d74a395),
nargs=1, arg_vector=0x4a15508) at eval.c:3157
#73 0x00007ff6674d98ef in funcall_general (fun=XIL(0x1d74a395),
numargs=1, args=0x4a15508) at eval.c:2949
#74 0x00007ff6674d9c22 in Ffuncall (nargs=2, args=0x4a15500) at eval.c:2999
#75 0x00007ff6674d89b2 in Fapply (nargs=3, args=0x4a15500) at eval.c:2623
#76 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2e40 <Sapply>,
numargs=3, args=0x4a15500) at eval.c:3063
#77 0x00007ff66753fac8 in exec_byte_code (fun=XIL(0x1d757085),
args_template=128, nargs=0, args=0x4a154b8) at bytecode.c:809
#78 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0x3f22065), args_template=1280, nargs=2, args=0xbfbff8) at
eval.c:3085
#79 0x00007ff6674da6de in funcall_lambda (fun=XIL(0x3f22065), nargs=2,
arg_vector=0xbfbff8) at eval.c:3157
#80 0x00007ff6674d98ef in funcall_general (fun=XIL(0x3f22065),
numargs=2, args=0xbfbff8) at eval.c:2949
#81 0x00007ff6674d9c22 in Ffuncall (nargs=3, args=0xbfbff0) at eval.c:2999
#82 0x00007ff6674d8de2 in Fapply (nargs=2, args=0xbfc0d0) at eval.c:2670
#83 0x00007ff6674d81b1 in eval_sub (form=XIL(0xa6f1973)) at eval.c:2474
#84 0x00007ff6674d13cd in Fprogn (body=XIL(0)) at eval.c:436
#85 0x00007ff6674d7f63 in eval_sub (form=XIL(0xa6f1133)) at eval.c:2453
#86 0x00007ff6674d44ce in Funwind_protect (args=XIL(0xa6f1193)) at eval.c:1301
#87 0x00007ff6674d7f63 in eval_sub (form=XIL(0xa6f11a3)) at eval.c:2453
#88 0x00007ff6674d13cd in Fprogn (body=XIL(0)) at eval.c:436
#89 0x00007ff6674d3568 in FletX (args=XIL(0xa6f11c3)) at eval.c:958
#90 0x00007ff6674d7f63 in eval_sub (form=XIL(0xa6f11d3)) at eval.c:2453
#91 0x00007ff6674d13cd in Fprogn (body=XIL(0)) at eval.c:436
#92 0x00007ff6674dabfe in funcall_lambda (fun=XIL(0xa6f0c53), nargs=3,
arg_vector=0x0) at eval.c:3237
#93 0x00007ff6674d9a11 in funcall_general (fun=XIL(0xa6f0c63),
numargs=3, args=0xbfc938) at eval.c:2961
#94 0x00007ff6674d9c22 in Ffuncall (nargs=4, args=0xbfc930) at eval.c:2999
#95 0x00007ff6674d8de2 in Fapply (nargs=3, args=0x4a15400) at eval.c:2670
#96 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2e40 <Sapply>,
numargs=3, args=0x4a15400) at eval.c:3063
#97 0x00007ff66753fac8 in exec_byte_code (fun=XIL(0xa6eaab5),
args_template=128, nargs=2, args=0xbfd0f8) at bytecode.c:809
#98 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0xa6eaab5), args_template=128, nargs=2, args=0xbfd0f8) at
eval.c:3085
#99 0x00007ff6674da6de in funcall_lambda (fun=XIL(0xa6eaab5), nargs=2,
arg_vector=0xbfd0f8) at eval.c:3157
#100 0x00007ff6674d98ef in funcall_general (fun=XIL(0xa6eaab5),
numargs=2, args=0xbfd0f8) at eval.c:2949
#101 0x00007ff6674d9c22 in Ffuncall (nargs=3, args=0xbfd0f0) at eval.c:2999
#102 0x00007ff6674d8de2 in Fapply (nargs=2, args=0x4a153c0) at eval.c:2670
#103 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2e40 <Sapply>,
numargs=2, args=0x4a153c0) at eval.c:3063
#104 0x00007ff66753fac8 in exec_byte_code (fun=XIL(0xa6eab15),
args_template=128, nargs=2, args=0xbfd8b8) at bytecode.c:809
#105 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0xa6eab15), args_template=128, nargs=2, args=0xbfd8b8) at
eval.c:3085
#106 0x00007ff6674da6de in funcall_lambda (fun=XIL(0xa6eab15),
nargs=2, arg_vector=0xbfd8b8) at eval.c:3157
#107 0x00007ff6674d98ef in funcall_general (fun=XIL(0xa6eab15),
numargs=2, args=0xbfd8b8) at eval.c:2949
#108 0x00007ff6674d9c22 in Ffuncall (nargs=3, args=0xbfd8b0) at eval.c:2999
#109 0x00007ff6674d8de2 in Fapply (nargs=2, args=0x4a15380) at eval.c:2670
#110 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2e40 <Sapply>,
numargs=2, args=0x4a15380) at eval.c:3063
#111 0x00007ff66753fac8 in exec_byte_code (fun=XIL(0xa6eab75),
args_template=128, nargs=2, args=0x4a15338) at bytecode.c:809
#112 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0x1d009255), args_template=0, nargs=0, args=0x4a15138) at
eval.c:3085
#113 0x00007ff6674da6de in funcall_lambda (fun=XIL(0x1d009255),
nargs=0, arg_vector=0x4a15138) at eval.c:3157
#114 0x00007ff6674d98ef in funcall_general (fun=XIL(0x1d009255),
numargs=0, args=0x4a15138) at eval.c:2949
#115 0x00007ff6674d9c22 in Ffuncall (nargs=1, args=0x4a15130) at eval.c:2999
#116 0x00007ff6674d89b2 in Fapply (nargs=2, args=0x4a15130) at eval.c:2623
#117 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2e40 <Sapply>,
numargs=2, args=0x4a15130) at eval.c:3063
#118 0x00007ff66753fac8 in exec_byte_code (fun=XIL(0x1d01eac5),
args_template=128, nargs=0, args=0xbfeae0) at bytecode.c:809
#119 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0x1d01eac5), args_template=128, nargs=0, args=0xbfeae0) at
eval.c:3085
#120 0x00007ff6674da6de in funcall_lambda (fun=XIL(0x1d01eac5),
nargs=0, arg_vector=0xbfeae0) at eval.c:3157
#121 0x00007ff6674d98ef in funcall_general (fun=XIL(0x1d01eac5),
numargs=0, args=0xbfeae0) at eval.c:2949
#122 0x00007ff6674d9c22 in Ffuncall (nargs=1, args=0xbfead8) at eval.c:2999
#123 0x00007ff6674cba35 in Ffuncall_interactively (nargs=1,
args=0xbfead8) at callint.c:250
#124 0x00007ff6674da0c6 in funcall_subr (subr=0x7ff667bd2580
<Sfuncall_interactively>, numargs=1, args=0xbfead8) at eval.c:3063
#125 0x00007ff6674d98a3 in funcall_general (fun=XIL(0x7ff667bd2585),
numargs=1, args=0xbfead8) at eval.c:2945
#126 0x00007ff6674d9c22 in Ffuncall (nargs=2, args=0xbfead0) at eval.c:2999
#127 0x00007ff6674d89b2 in Fapply (nargs=3, args=0xbfead0) at eval.c:2623
#128 0x00007ff6674cbf05 in Fcall_interactively
(function=XIL(0xffff8009a2263170), record_flag=XIL(0),
keys=XIL(0x4622345)) at callint.c:342
#129 0x00007ff6674d9eae in funcall_subr (subr=0x7ff667bd25c0
<Scall_interactively>, numargs=3, args=0x4a150a0) at eval.c:3042
#130 0x00007ff66753fac8 in exec_byte_code (fun=XIL(0x3f9c4d5),
args_template=1025, nargs=1, args=0xbff410) at bytecode.c:809
#131 0x00007ff6674da24a in fetch_and_exec_byte_code
(fun=XIL(0x3f9c4d5), args_template=1025, nargs=1, args=0xbff408) at
eval.c:3085
#132 0x00007ff6674da6de in funcall_lambda (fun=XIL(0x3f9c4d5),
nargs=1, arg_vector=0xbff408) at eval.c:3157
#133 0x00007ff6674d98ef in funcall_general (fun=XIL(0x3f9c4d5),
numargs=1, args=0xbff408) at eval.c:2949
#134 0x00007ff6674d9c22 in Ffuncall (nargs=2, args=0xbff400) at eval.c:2999
#135 0x00007ff6673e1956 in call1 (fn=XIL(0x4590),
arg1=XIL(0xffff8009a2263170)) at lisp.h:3248
#136 0x00007ff6673e5605 in command_loop_1 () at keyboard.c:1503
#137 0x00007ff6674d4fc2 in internal_condition_case
(bfun=0x7ff6673e4c50 <command_loop_1>, handlers=XIL(0x90),
hfun=0x7ff6673e3e80 <cmd_error>)
    at eval.c:1474
#138 0x00007ff6673e479e in command_loop_2 (handlers=XIL(0x90)) at
keyboard.c:1133
#139 0x00007ff6674d40ff in internal_catch (tag=XIL(0x103b0),
func=0x7ff6673e4772 <command_loop_2>, arg=XIL(0x90)) at eval.c:1197
#140 0x00007ff6673e46db in command_loop () at keyboard.c:1111
#141 0x0000000000000000 in ?? ()

Lisp Backtrace:
"file-exists-p" (0xbf7ec0)
"or" (0xbf80d0)
"if" (0xbf8280)
0xd337f40 Lisp type 3
"org-activate-links--overlays" (0x4a15a80)
"org-activate-links" (0x4a159f8)
"font-lock-fontify-keywords-region" (0x4a15958)
"font-lock-default-fontify-region" (0x4a158e8)
"font-lock-fontify-region" (0x4a15890)
"font-lock-default-fontify-buffer" (0x4a15848)
"font-lock-fontify-buffer" (0x4a157f8)
"org-fancy-priorities-mode" (0xbf8b58)
"run-hooks" (0xbf8d28)
"apply" (0x4a157b8)
"run-mode-hooks" (0x4a15758)
"org-mode" (0x4a15718)
"set-auto-mode-0" (0x4a156c8)
"set-auto-mode--apply-alist" (0x4a15648)
0x3f35f40 PVEC_COMPILED
"apply" (0x4a155d8)
0x615ebd0 PVEC_COMPILED
"apply" (0xbf9d50)
"progn" (0xbf9fb0)
"unwind-protect" (0xbfa150)
"let" (0xbfa3e0)
"evil-save-state" (0xbfa540)
"if" (0xbfa6f0)
"+evil--persist-state-a" (0x4a15598)
"apply" (0x4a15590)
0xa983000 PVEC_COMPILED
"apply" (0x4a15550)
"so-long--set-auto-mode" (0x4a15508)
"apply" (0x4a15500)
"set-auto-mode" (0x4a154b8)
"normal-mode" (0x4a15468)
0x3f22060 PVEC_COMPILED
"apply" (0xbfc0d0)
"progn" (0xbfc330)
"unwind-protect" (0xbfc4d0)
"let*" (0xbfc710)
"doom--shut-up-autosave-a" (0xbfc938)
"apply" (0x4a15400)
0xa6eaab0 PVEC_COMPILED
"apply" (0x4a153c0)
0xa6eab10 PVEC_COMPILED
"apply" (0x4a15380)
"after-find-file" (0x4a15338)
"find-file-noselect-1" (0x4a152a0)
"find-file-noselect" (0x4a15210)
"find-file" (0x4a15168)
0x1d009250 PVEC_COMPILED
"apply" (0x4a15130)
"consult-recent-file" (0xbfeae0)
"funcall-interactively" (0xbfead8)
"call-interactively" (0x4a150a0)
"command-execute" (0xbff408)

On Wed, May 22, 2024 at 1:24 PM Eli Zaretskii <[email-masked]> wrote:
>
> > Date: Wed, 22 May 2024 06:12:17 +0000 (UTC)
> > From: Hannes Domani <[email-masked]>
> > Cc: Eli Zaretskii <[email-masked]>, Corwin Brust <[email-masked]>,
> >       "[email-masked]" <[email-masked]>
> >
> > >     get_volume_info: name="d:/profiles/%s"
> > >     get_volume_info: name="//"
> > >
> > >     Thread 1 received signal SIGSEGV, Segmentation fault.
> > >     [Switching to Thread 27916.0x5a7c]
> > >     0x0000000000000000 in ?? ()
> >
> > Whoa, the result is very different from what I expected, but we found the
> > culprit.
> >
> > @Eli
> >
> > Not sure where this "//" path is coming from, but parse_root() does
> > not handle it correctly, it will look for 2 additional slashes after
> > them for some reason (?)
>
> It wants to find the UNC \\server\share part of the file name, because
> otherwise we get an invalid root of a filesystem.  For example, the
> call to GetVolumeInformationW with a name like "\\" (or anything that
> doesn't include a valid server and share after the 2 leading
> backslashes) will fail, and we will not be able to know what
> filesystem features the corresponding volume supports.
>
> > buf first ignore the null-delimiter with 'name++',
> > before the 'while ( *name )' check:
>
> Right.  I guess no one ever called us with such invalid file names, or
> at least they didn't complain here.
>
> > The 'root_len' it returns to get_volume_info() then likely overflows
> > 'temp' in the following strncpy() call:
> >
> >       strncpy (temp, name, root_len);
> >
> > As a quick fix I suggest changing the if() to something like:
> >
> >       if (!*name || (IS_DIRECTORY_SEP (*name) && --slashes == 0))
>
> Right, done.
>
> However, I would still like to figure out how come such a name winds
> up here.  So Simen, please edit w32.c to add
>
>   if (IS_DIRECTORY_SEP (name[0]) && IS_DIRECTORY_SEP (name[1])
>       && name[2] == '\0')
>     emacs_abort ();
>
> at the very beginning of parse_root, rebuild Emacs, then run Emacs
> under GDB with a breakpoint in emacs_abort, and when the breakpoint
> breaks, please show the full backtrace, including the Lisp backtrace,
> like this:
>
>   (gdb) thread 1
>   (gdb) source /path/to/emacs/src/.gdbinit
>   (gdb) bt
>
> where "/path/to/emacs/src/" is the full absolute file name of the
> Emacs src directory, in the tree from which you build Emacs.  It
> should show the C backtrace and also the Lisp backtrace (because
> the .gdbinit file includes some magic to make that happen).
>
> My guess is that some package you are using does something
> inappropriate for Windows which yields this "//" file name.  But I
> prefer not to guess.