This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 64-bit emacs crashes a lot


On 8/15/2013 8:58 PM, Ryan Johnson wrote:
On 15/08/2013 7:07 PM, Ken Brown wrote:
On 8/15/2013 6:48 PM, Ryan Johnson wrote:
On 15/08/2013 6:02 PM, Ken Brown wrote:
On 8/15/2013 5:58 PM, Ken Brown wrote:
On 8/15/2013 5:24 PM, Ryan Johnson wrote:
On 15/08/2013 5:14 PM, Ken Brown wrote:
On 8/15/2013 4:55 PM, Ryan Johnson wrote:
Program received signal SIGSEGV, Segmentation fault.
___chkstk_ms () at
/usr/src/debug/gcc-4.8.1-1/libgcc/config/i386/cygwin.S:146

You're not using the latest gcc, which is 4.8.1-3.  Any chance that
that's your problem?
Heh. I actually do have the latest gcc, but somehow the upgrade
didn't
pick up the debug package (which showed as not installed in
setup.exe).
I have manually upgraded it now.

OK.  But doesn't the above show that the crash is occurring in gcc,
not
emacs?

BTW, how do you compile emacs from the sources given? I tried
untarring
and patching, but I get the message:
configure: error: Emacs hasn't been ported to
`x86_64-unknown-cygwin'
systems.
Check `etc/MACHINES' for recognized configuration names.

One of the patches changes configure.ac, so you have to run autoreconf
after applying it.

Or it might be 'autoreconf -I m4'.

Something is still wrong:

$ cd /scratch
$ tar xaf /usr/src/emacs-24.3.tar.xz
$ patch -p1 </usr/src/emacs-24.3-5.cygwin.patch
patching file emacs-24.3/CYGWIN-PATCHES/emacs-X11.postinstall
patching file emacs-24.3/CYGWIN-PATCHES/emacs-X11.preremove
patching file emacs-24.3/CYGWIN-PATCHES/emacs-w32.postinstall
patching file emacs-24.3/CYGWIN-PATCHES/emacs-w32.preremove
patching file emacs-24.3/CYGWIN-PATCHES/emacs.postinstall
patching file emacs-24.3/CYGWIN-PATCHES/emacs.preremove
$ cd emacs-24.3
$ autoreconf -I m4
$ ./configure CFLAGS='-g -0g -fsanitize=address'
LDFLAGS='-fsanitize=address' --without-all
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-cygwin
checking host system type... x86_64-unknown-cygwin
configure: error: Emacs hasn't been ported to `x86_64-unknown-cygwin'
systems.
Check `etc/MACHINES' for recognized configuration names.

In particular, it doesn't look like the patch actually patches any emacs
files at all... do I need to pull all past versions of the source
package as well or something?

The source package for emacs-24.3-5 contains lots of patches that you
didn't apply:

    nox_mouse.patch
    w32_encoding.patch
    configure.ac.patch
    syms_of_cygw32.patch
    image_background.patch
    w32term.w32_init.patch
    unexcw.patch
    memory_warnings.patch
    24.3-4_nt_icon.patch
    nonbootstrap_static_heap.patch
    24.3_memalign.patch
I see... that would explain it.

For future reference, though, how does one go about discovering which
patches to apply? Most of those file names don't associate them with
emacs in any obvious way, and `cygcheck -f' claims that none of them
belong to any package... do you have to go dig up the source package's
package file and look inside?

Take a look at emacs.cygport. It shows you exactly how the package was built, including patches.

Ken


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]