Subject: bug#34277: Error after dump complete when build on Windows 10

From: "Shuguang Sun" <[email-masked]>
Date: Thu, 7 Feb 2019 20:33:54 +0800

>> Thanks. The pdumper version can be compiled successfully.
>> The unexec still not.

> Please run the failing command in the unexec version under GDB, with a
> breakpoint in wrong_type_argument; when it breaks, please show the C
> and Lisp backtrace from that error message.

> Thanks.

With git repo: 369d20559d6118d6b6cee2adc265114ad30fa3b3 (after your commit)
and ./configure --without-imagemagick --with-dumping=unexec --without-pop
the error message becomes:

```
Dumping from C:/gitemacs/emacs/src/temacs.exe
          to C:/gitemacs/emacs/src/emacs.exe
mv -f emacs.exe bootstrap-emacs.exe
make -C ../lisp compile-first EMACS="../src/bootstrap-emacs.exe"
make[2]: Entering directory '/c/gitemacs/emacs/lisp'
  ELC      emacs-lisp/macroexp.elc
/bin/sh: line 1: 50904 Segmentation fault      EMACSLOADPATH= '../src/bootstrap-emacs.exe' -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile emacs-lisp/macroexp.el
make[2]: *** [Makefile:301: emacs-lisp/macroexp.elc] Error 139
make[2]: Leaving directory '/c/gitemacs/emacs/lisp'
make[1]: *** [Makefile:797: bootstrap-emacs.exe] Error 2
make[1]: Leaving directory '/c/gitemacs/emacs/src'
make: *** [Makefile:423: src] Error 2
```

And the gdb message:
```
(gdb) run -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile emacs-lisp/macroexp.el
Starting program: C:\gitemacs\emacs\src\bootstrap-emacs.exe -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile emacs-lisp/macroexp.el
[New Thread 34928.0x1f0c]
[New Thread 34928.0x1624]
[New Thread 34928.0x8854]
[New Thread 34928.0x9b70]
[Thread 34928.0x8854 exited with code 0]
[Thread 34928.0x9b70 exited with code 0]
[Thread 34928.0x1624 exited with code 0]

Thread 1 received signal SIGSEGV, Segmentation fault.
lookup_volume_info (root_dir=<optimized out>) at w32.c:3188
3188        if (xstrcasecmp (info->root_dir, root_dir) == 0)
(gdb)  thread 1
[Switching to thread 1 (Thread 34928.0x1f0c)]
#0  lookup_volume_info (root_dir=<optimized out>) at w32.c:3188
3188        if (xstrcasecmp (info->root_dir, root_dir) == 0)
(gdb) backtrace
#0  lookup_volume_info (root_dir=<optimized out>) at w32.c:3188
#1  GetCachedVolumeInformation (root_dir=<optimized out>) at w32.c:3253
#2  get_volume_info (name=name@entry=0x2862ddb "C:/gitemacs/emacs/src",
    pPath=pPath@entry=0xbfec48) at w32.c:3353
#3  0x00000004001a77ff in is_fat_volume (pPath=0xbfec48,
    name=0x2862ddb "C:/gitemacs/emacs/src") at w32.c:3369
#4  map_w32_filename (name=name@entry=0x2862ddb "C:/gitemacs/emacs/src",
    pPath=0xbff410, pPath@entry=0xbff490) at w32.c:3396
#5  0x00000004001a8f38 in stat_worker (path=<optimized out>,
    path@entry=0x2862ddb "C:/gitemacs/emacs/src", buf=buf@entry=0xbff680,
    follow_symlinks=follow_symlinks@entry=1) at w32.c:5073
#6  0x00000004001a99db in stat (
    path=path@entry=0x2862ddb "C:/gitemacs/emacs/src", buf=buf@entry=0xbff680)
    at w32.c:5456
#7  0x00000004000bfaff in get_current_dir_name_or_unreachable ()
    at sysdep.c:321
#8  0x00000004000bfe09 in emacs_get_current_dir_name () at sysdep.c:345
#9  0x00000004001e7d37 in main (argc=<optimized out>, argv=0x2864b70)
    at emacs.c:1024
(gdb)

```