Subject: bug#19181: 24.4; 24.4.1 libgcc_s_dw2-1.dll crash on exit

From: Eli Zaretskii <[email-masked]>
Date: Tue, 25 Nov 2014 20:58:51 +0200

[Please keep the bug address on the CC list.]

> Date: Tue, 25 Nov 2014 18:23:22 +0000
> From: Bill Farmer <[email-masked]>
> 
> The problem I have with emacs is that it crashes on exit if a file has been
> visited. If emacs is quit immediately with no other actions other than quit, it
> does not crash. This is a virgin installation of emacs with no additional dlls,
> I had not even got around to moving my additional files in site-lisp. The only
> dll in the installation is libXpm.dll. This problem is similar to that
> mentioned in etc/PROBLEMS. I can't fix the problem as described here because I
> have not added any additional dlls.

Could it be that you have some of the additional DLLs somewhere on
PATH?

Can you see which DLLs Emacs loads after you visit a file?  One way of
doing that is to use the Process Explorer program from SysInternals.

> The windows error report says:
> 
> Faulting application name: emacs.exe, version: 24.4.0.0, time stamp: 0x544a8d9a
> Faulting module name: libgcc_s_dw2-1.dll, version: 0.0.0.0, time stamp:
> 0x525049a5
> Exception code: 0x40000015
> Fault offset: 0x000148fe
> Faulting process id: 0xeac
> Faulting application start time: 0x01d008d7f7fa4d51
> Faulting application path: D:\Images\emacs\emacs-24.4\bin\emacs.exe
> Faulting module path: C:\MinGW\bin\libgcc_s_dw2-1.dll

Which version of MinGW GCC do you have installed?

> 
> This is very similar to the problem reported here:
> http://emacs.1067599.n5.nabble.com/Emacs-crashes-when-I-try-to-quit-td76908.html.
> 
> I have checked using objdump, none of the executable files in emacs have a
> dependency on libgcc_s_dw2-1.dll. This is as expected, as emacs works fine if I
> rename this file in MinGW. I also tried renaming libXpm.dll in the emacs
> installation. This made no difference, it still crashes on exit.

My suspicion is that Emacs loads some other DLL which depends on
libgcc_s_dw2-1.dll.  Looking at the DLLs loaded into the Emacs process
after you visit a file might shed some light on this.

> The problem would appear to be that emacs loads libgcc_s_dw2-1.dll, if a file
> is visited, and if libgcc_s_dw2-1.dll can be found, and this causes a crash on
> exit as per etc/PROBLEMS.

But since you say that Emacs works OK without libgcc_s_dw2-1.dll, what
happens is probably a bit more complicated.