On Jul 2 14:13, Corinna Vinschen wrote: > On Jul 1 22:10, Ken Brown wrote: > > I may have spoken too soon. As I repeat the experiment on a different > > computer, with a build from a slightly different snapshot of the emacs > > trunk, emacs crashes when I type 'C-x d' with the following stack dump: > > > > Stack trace: > > Frame Function Args > > 00100A3E240 00180071CC3 (00000829630, 000008296D0, 00000000000, > > 0000082CE00) > > 00030000002 001800732BE (00000000000, 00000000002, 00100A48C80, > > 00000000002) > > 00000000000 00000006B40 (00000000002, 00100A48C80, 00000000002, > > 00100A48768) > > 00000000000 21000000003 (00000000002, 00100A48C80, 00000000002, > > 00100A48768) > > End of stack trace > > > > $ addr2line 00180071CC3 -e /usr/lib/debug/usr/bin/cygwin1.dbg > > /usr/src/debug/cygwin-2.1.0-0.3/winsup/cygwin/exception.h:175 > > > > $ addr2line 001800732BE -e /usr/lib/debug/usr/bin/cygwin1.dbg > > /usr/src/debug/cygwin-2.1.0-0.3/winsup/cygwin/exceptions.cc:1639 > > That points to a crash while setting up the alternate stack. This is > always a possibility because, in contrast to the kernel signal handler > in a real POSIX system, the Cygwin exception handler is still running on > the stack which triggered the crash up to the point where we call the > signal handler function. Dependent on how the stack overflow occured, > this additional stack usage may be enough to kill the process for good. > > Out of curiosity, can you add this to the init_sigsegv() function: > > #include <windows.h> > [...] > init_sigsegv (void) > { > [...] > SetThreadStackGuarantee (65536);
Of course this only works "per thread", so if init_sigsegv is called for the main thread, only the main thread gets this treatment. For testing this should be enough, though. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgpTegPSNZxmp.pgp
Description: PGP signature