GNU bug report logs - #16986
Crash when idle

Previous Next

Package: emacs;

Reported by: Simon Carter <bbbscarter <at> gmail.com>

Date: Tue, 11 Mar 2014 11:35:02 UTC

Severity: important

Tags: moreinfo, patch

Merged with 16465, 16794, 16896, 17968

Found in versions 24.3.50, 24.3.92

Fixed in version 24.3.93

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: 16986 <at> debbugs.gnu.org
Cc: Dmitry Antipov <antipov <at> mvista.com>, YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>, Simon Carter <bbbscarter <at> gmail.com>
Subject: bug#16986: Crash when idle
Date: Sat, 02 Aug 2014 16:11:08 -0700
[Message part 1 (text/plain, inline)]
Thanks, Mitsuharu, for the diagnosis; I think you nailed it.

Dmitry, I spotted a couple of problems with that patch.  First, any 
compiler could do that optimization and I wouldn't be surprised if some 
version of GCC does it either now or in the future, so the fix shouldn't 
be conditionalized on __clang__.  Second, making 'directory' itself 
volatile would break the (uncommon) case where GC_MARK_STACK != 
GC_MAKE_GCPROS_NOOPS, because one can't portably assign the address of a 
volatile to a pointer that isn't volatile-qualified.  Plus, there's no 
need to have every access to that local be volatile; we need only ensure 
that the value is stored somewhere.

I installed the attached patch as emacs-24 bzr 117421, as a change that 
should not break anything and most likely fixes the bug.  Please let me 
know how it works in the Clang environment.
[dired.patch (text/plain, attachment)]

This bug report was last modified 10 years and 283 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.