GNU bug report logs - #15688
24.3.50; clear-temporary-overlay-map

Previous Next

Package: emacs;

Reported by: rms <at> gnu.org

Date: Wed, 23 Oct 2013 00:10:03 UTC

Severity: important

Tags: moreinfo

Merged with 15583, 15719, 15972, 16278, 16521, 17167, 17168, 17184

Found in version 24.3.50

Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 15688 in the body.
You can then email your comments to 15688 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Wed, 23 Oct 2013 00:10:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 23 Oct 2013 00:10:05 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; clear-temporary-overlay-map
Date: Tue, 22 Oct 2013 20:09:13 -0400
I found that the crashes in GC result from trying to mark
clear-temporary-overlay-map.  Its function cell is
a vectorlike which pr reports as #<invalid-lisp-object ADDR>.

The presence of such an object in the function cell is a bug,
and it seems to me that for GC to try to mark the contents
of a vectorlike with such a type is a second bug.




In GNU Emacs 24.3.50.11 (mips64el-unknown-linux-gnu, GTK+ Version 2.20.1)
 of 2013-10-03 on chiefs-gnewsense
Bzr revision: 114502 monnier <at> iro.umontreal.ca-20131002233348-j245zww7t0dfmeng
System Description:	gNewSense GNU/Linux 3.0 (parkes)

Configured using:
 `configure 'CFLAGS=-g -O0''

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: RMAIL

Minor modes in effect:
  shell-dirtrack-mode: t
  gpm-mouse-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
r a . x TAB RET d d d u x 1 r C-u C-p C-u C-p C-p C-p 
C-p ESC f C-f C-f C-k C-x o C-u C-n C-n ESC f C-f C-f 
C-@ C-e ESC w C-x o C-y C-a C-u C-n C-u C-n C-n C-n 
C-n C-o W h a t SPC f o r m a t SPC d o SPC t h e y 
SPC ESC DEL ESC DEL w i l l SPC b e SPC u s e d SPC 
f o r SPC t h e SPC s t r e a m i n g ? C-c C-c d d 
d d x SPC C-s [ 2 3 ] C-s C-a C-n W C-c C-c ESC v d 
d d x T C-c C-c d d d d d d d d d d x C-x b i n o u 
t RET ESC x g r e p RET C-g C-x b TAB RET i x m a i 
l / l a p t o p TAB RET C-l ESC - ESC s b u n n i e 
RET ESC - ESC s RET C-@ C-e ESC w C-x b R TAB 1 RET 
C-x k RET C-x b 1 r DEL DEL C-g 1 r L a SPC d i r e 
c c C-\ i o ' n SPC q u e SPC t e n g o SPC e s SPC 
C-y . RET C-c C-c C-x k RET RET y e s RET r C-_ C-@ 
C-p ESC w C-x o r C-y C-c C-c d d d ESC x r e p o r 
t SPC e m a s SPC DEL DEL c DEL a c s SPC b u g RE
T

Recent messages:
Mark set
Sending...
Wrote /home/rms/outgoing/out-92
Sending...done
Please answer yes or no.
Undo!
Mark set [2 times]
Sending...
Wrote /home/rms/outgoing/out-93
Sending...done

Load-path shadows:
/home/rms/emacs-bzr/trunk/lisp/net/shr-color hides /home/rms/emacs-bzr/trunk/lisp/gnus/shr-color
/home/rms/emacs-bzr/trunk/lisp/net/shr hides /home/rms/emacs-bzr/trunk/lisp/gnus/shr

Features:

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Merged 15583 15688. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 23 Oct 2013 00:20:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Wed, 23 Oct 2013 12:41:01 GMT) Full text and rfc822 format available.

Message #10 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Richard Stallman <rms <at> gnu.org>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Wed, 23 Oct 2013 08:40:23 -0400
> I found that the crashes in GC result from trying to mark
> clear-temporary-overlay-map.  Its function cell is
> a vectorlike which pr reports as #<invalid-lisp-object ADDR>.

The most likely explanation is that it used to be a byte-code-function-p
object but was somehow GC'd too early.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Thu, 24 Oct 2013 01:48:01 GMT) Full text and rfc822 format available.

Message #13 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Wed, 23 Oct 2013 21:47:23 -0400
        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    > I found that the crashes in GC result from trying to mark
    > clear-temporary-overlay-map.  Its function cell is
    > a vectorlike which pr reports as #<invalid-lisp-object ADDR>.

    The most likely explanation is that it used to be a byte-code-function-p
    object but was somehow GC'd too early.

If that symbol is interned, why would its function definition get
GC'd at all?

Similar crashes have occurred several times.  This is the first time
I analyzed it to see what data it is operating on.  I will do it again
next time.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Thu, 24 Oct 2013 03:46:02 GMT) Full text and rfc822 format available.

Message #16 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Richard Stallman <rms <at> gnu.org>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Wed, 23 Oct 2013 23:45:34 -0400
>     The most likely explanation is that it used to be a byte-code-function-p
>     object but was somehow GC'd too early.
> If that symbol is interned, why would its function definition get
> GC'd at all?

It's not interned.  It's "make-symbol"d in set-temporary-overlay-map.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Thu, 24 Oct 2013 17:18:02 GMT) Full text and rfc822 format available.

Message #19 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Thu, 24 Oct 2013 13:17:26 -0400
        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    > If that symbol is interned, why would its function definition get
    > GC'd at all?

    It's not interned.  It's "make-symbol"d in set-temporary-overlay-map.

Ok, but apparently the symbol does get marked -- so how did its function
definition get gc'd?

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Merged 15583 15688 15719. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 25 Oct 2013 19:55:02 GMT) Full text and rfc822 format available.

Merged 15583 15688 15719 15972. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 25 Nov 2013 17:05:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Thu, 28 Nov 2013 04:41:02 GMT) Full text and rfc822 format available.

Message #26 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Richard Stallman <rms <at> gnu.org>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Wed, 27 Nov 2013 23:40:06 -0500
[ Richard, please send all email related to this issue to this
  15688 <at> debbugs.gnu.org address, otherwise the thread is nightmarish
  to follow.  ]

>> If that symbol is interned, why would its function definition get
>> GC'd at all?
>     It's not interned.  It's "make-symbol"d in set-temporary-overlay-map.
> Ok, but apparently the symbol does get marked -- so how did its function
> definition get gc'd?

I have no idea.
From the value you show it seems that the function cell's value is
not Vdead.  I tend to assume that it's always the case, but just to make
double sure: Does your build set GC_MARK_STACK?


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Thu, 28 Nov 2013 19:06:02 GMT) Full text and rfc822 format available.

Message #29 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Thu, 28 Nov 2013 14:05:11 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

      I tend to assume that it's always the case, but just to make
    double sure: Does your build set GC_MARK_STACK?

How can I check that?  Where would it be set?

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Thu, 28 Nov 2013 20:19:02 GMT) Full text and rfc822 format available.

Message #32 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: rms <at> gnu.org
Cc: 15688 <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Thu, 28 Nov 2013 22:17:20 +0200
> Date: Thu, 28 Nov 2013 14:05:11 -0500
> From: Richard Stallman <rms <at> gnu.org>
> Cc: 15688 <at> debbugs.gnu.org
> 
>       I tend to assume that it's always the case, but just to make
>     double sure: Does your build set GC_MARK_STACK?
> 
> How can I check that?  Where would it be set?

It's a macro set in src/lisp.h.  You can check it with #warning or
some such.




Merged 15583 15688 15719 15972 16278. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Sat, 28 Dec 2013 18:50:01 GMT) Full text and rfc822 format available.

Severity set to 'important' from 'normal' Request was from Stefan Monnier <monnier <at> IRO.UMontreal.CA> to control <at> debbugs.gnu.org. (Mon, 30 Dec 2013 13:30:05 GMT) Full text and rfc822 format available.

Forcibly Merged 15583 15688 15719 15972 16278 16521. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 22 Jan 2014 16:57:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Thu, 23 Jan 2014 17:43:01 GMT) Full text and rfc822 format available.

Message #41 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Richard Stallman <rms <at> gnu.org>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Thu, 23 Jan 2014 12:42:16 -0500
> I found that the crashes in GC result from trying to mark
> clear-temporary-overlay-map.  Its function cell is
> a vectorlike which pr reports as #<invalid-lisp-object ADDR>.

I'm looking again at this bug but can't find a backtrace.
Could you show us the backtrace?


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Thu, 23 Jan 2014 23:10:02 GMT) Full text and rfc822 format available.

Message #44 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Thu, 23 Jan 2014 18:09:52 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

    I'm looking again at this bug but can't find a backtrace.
    Could you show us the backtrace?

It was mark_object called from mark_vectorlike called from mark_object
called from mark_object (marking that symbol).  I could not see why it
was marking that symbol.  ISTR it was called from mark_memory
and I didn't know how to see where the pointer came from.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Fri, 24 Jan 2014 03:24:02 GMT) Full text and rfc822 format available.

Message #47 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Antipov <dmantipov <at> yandex.ru>
To: rms <at> gnu.org
Cc: 15688 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Fri, 24 Jan 2014 07:23:51 +0400
On 01/24/2014 03:09 AM, Richard Stallman wrote:

> It was mark_object called from mark_vectorlike called from mark_object
> called from mark_object (marking that symbol).  I could not see why it
> was marking that symbol.  ISTR it was called from mark_memory
> and I didn't know how to see where the pointer came from.

I suppose that this is a kind of heisenbug and so it may be hard to
reproduce, but what about the recipe?

And, if there is a binary and core, I can build cross-gdb and look inside.

Dmitry





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Fri, 24 Jan 2014 03:29:01 GMT) Full text and rfc822 format available.

Message #50 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Richard Stallman <rms <at> gnu.org>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Thu, 23 Jan 2014 22:28:39 -0500
> It was mark_object called from mark_vectorlike called from mark_object
> called from mark_object (marking that symbol).  I could not see why it
> was marking that symbol.  ISTR it was called from mark_memory
> and I didn't know how to see where the pointer came from.

Please tell us exactly what value is used for GC_MARK_STACK; as Eli said:

   It's a macro set in src/lisp.h.  You can check it with #warning or
   some such

This said, since you have mark_memory in your backtrace, that indicates
that GC_MARK_STACK is probably set to GC_MAKE_GCPROS_NOOPS, as usual.

Maybe complete backtrace would help, tho.
Also, it'd be useful to know what were the last few keys (the "lossage").


        Stefan





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Fri, 24 Jan 2014 14:56:02 GMT) Full text and rfc822 format available.

Message #53 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Dmitry Antipov <dmantipov <at> yandex.ru>
Cc: 15688 <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Fri, 24 Jan 2014 09:55:39 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

    I suppose that this is a kind of heisenbug and so it may be hard to
    reproduce, but what about the recipe?

I don't have one, sorry.

    And, if there is a binary and core, I can build cross-gdb and look inside.

Is there a command I can use to tell GDB to make a core file?

    Maybe complete backtrace would help, tho.
    Also, it'd be useful to know what were the last few keys (the "lossage").

I will try to remember to send this next time.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Fri, 24 Jan 2014 14:56:03 GMT) Full text and rfc822 format available.

Message #56 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Dmitry Antipov <dmantipov <at> yandex.ru>
Cc: 15688 <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Fri, 24 Jan 2014 09:55:41 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

    Please tell us exactly what value is used for GC_MARK_STACK; as Eli said:

       It's a macro set in src/lisp.h.  You can check it with #warning or
       some such

    This said, since you have mark_memory in your backtrace, that indicates
    that GC_MARK_STACK is probably set to GC_MAKE_GCPROS_NOOPS, as usual.

I don't see a way to examine the value, but the only definition I see
in lisp.h is

#ifndef GC_MARK_STACK
#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
#endif

I suggest adding

enum gc_mark_stack { gc_mark_stack_value = GC_MARK_STACK; }; in lisp.h
or some source file.  Then it will be possible to view
gc_mark_stack_value in GDB.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Fri, 24 Jan 2014 15:21:02 GMT) Full text and rfc822 format available.

Message #59 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: rms <at> gnu.org
Cc: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Fri, 24 Jan 2014 17:20:28 +0200
> Date: Fri, 24 Jan 2014 09:55:39 -0500
> From: Richard Stallman <rms <at> gnu.org>
> Cc: 15688 <at> debbugs.gnu.org
> 
> Is there a command I can use to tell GDB to make a core file?

Yes, "gcore".




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Fri, 24 Jan 2014 15:25:02 GMT) Full text and rfc822 format available.

Message #62 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: rms <at> gnu.org
Cc: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Fri, 24 Jan 2014 17:24:33 +0200
> Date: Fri, 24 Jan 2014 09:55:41 -0500
> From: Richard Stallman <rms <at> gnu.org>
> Cc: 15688 <at> debbugs.gnu.org
> 
> I suggest adding
> 
> enum gc_mark_stack { gc_mark_stack_value = GC_MARK_STACK; }; in lisp.h
> or some source file.  Then it will be possible to view
> gc_mark_stack_value in GDB.

I think GDB can display values of macros, just use it in the "print"
command.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Fri, 24 Jan 2014 16:12:01 GMT) Full text and rfc822 format available.

Message #65 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Schwab <schwab <at> linux-m68k.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: dmantipov <at> yandex.ru, rms <at> gnu.org, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Fri, 24 Jan 2014 17:10:50 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

> I think GDB can display values of macros, just use it in the "print"
> command.

You need to compile with -g3 to make the macros available to the
debugger.

Andreas.

-- 
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Fri, 24 Jan 2014 18:24:01 GMT) Full text and rfc822 format available.

Message #68 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> linux-m68k.org>
Cc: dmantipov <at> yandex.ru, rms <at> gnu.org, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Fri, 24 Jan 2014 20:22:55 +0200
> From: Andreas Schwab <schwab <at> linux-m68k.org>
> Cc: rms <at> gnu.org,  dmantipov <at> yandex.ru,  15688 <at> debbugs.gnu.org
> Date: Fri, 24 Jan 2014 17:10:50 +0100
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > I think GDB can display values of macros, just use it in the "print"
> > command.
> 
> You need to compile with -g3 to make the macros available to the
> debugger.

Right, thanks for pointing that out.  Though I think that configure
already sets that up, when GCC is used.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sat, 25 Jan 2014 13:27:01 GMT) Full text and rfc822 format available.

Message #71 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sat, 25 Jan 2014 08:26:06 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

    Yes, "gcore".

Does that alter the running process?

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sat, 25 Jan 2014 13:27:02 GMT) Full text and rfc822 format available.

Message #74 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sat, 25 Jan 2014 08:26:10 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

    I think GDB can display values of macros, just use it in the "print"
    command.

I tried that.  I think my version of GDB is somewhat old.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sat, 25 Jan 2014 14:24:02 GMT) Full text and rfc822 format available.

Message #77 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: rms <at> gnu.org
Cc: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sat, 25 Jan 2014 16:23:33 +0200
> Date: Sat, 25 Jan 2014 08:26:06 -0500
> From: Richard Stallman <rms <at> gnu.org>
> CC: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
> 
>     Yes, "gcore".
> 
> Does that alter the running process?

No.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sat, 25 Jan 2014 14:26:01 GMT) Full text and rfc822 format available.

Message #80 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: rms <at> gnu.org
Cc: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sat, 25 Jan 2014 16:25:39 +0200
> Date: Sat, 25 Jan 2014 08:26:10 -0500
> From: Richard Stallman <rms <at> gnu.org>
> CC: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
> 
>     I think GDB can display values of macros, just use it in the "print"
>     command.
> 
> I tried that.  I think my version of GDB is somewhat old.

What version is that?  GDB supports macros since v5.3.

Does the "macro expand" command work?

Also, what is your version of GCC?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sat, 25 Jan 2014 23:02:01 GMT) Full text and rfc822 format available.

Message #83 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sat, 25 Jan 2014 18:01:15 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

    What version is that?  GDB supports macros since v5.3.

Mine is newer than that, so I guess its that I didn't use -g3.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sun, 26 Jan 2014 03:55:01 GMT) Full text and rfc822 format available.

Message #86 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: rms <at> gnu.org
Cc: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sun, 26 Jan 2014 05:53:50 +0200
> Date: Sat, 25 Jan 2014 18:01:15 -0500
> From: Richard Stallman <rms <at> gnu.org>
> CC: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
> 
> Mine is newer than that, so I guess its that I didn't use -g3.

That would be strange, since configure arranges for that when GCC is
used as the compiler.  It is more probable that your GCC is old (and
has bugs in this area), which is why I asked about its version.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sun, 26 Jan 2014 09:12:02 GMT) Full text and rfc822 format available.

Message #89 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Schwab <schwab <at> linux-m68k.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: dmantipov <at> yandex.ru, rms <at> gnu.org, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sun, 26 Jan 2014 10:11:45 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

> That would be strange, since configure arranges for that when GCC is
> used as the compiler.

Unless you have set CFLAGS yourself.

Andreas.

-- 
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sun, 26 Jan 2014 16:25:02 GMT) Full text and rfc822 format available.

Message #92 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> linux-m68k.org>
Cc: dmantipov <at> yandex.ru, rms <at> gnu.org, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sun, 26 Jan 2014 18:24:08 +0200
> From: Andreas Schwab <schwab <at> linux-m68k.org>
> Cc: rms <at> gnu.org,  dmantipov <at> yandex.ru,  15688 <at> debbugs.gnu.org
> Date: Sun, 26 Jan 2014 10:11:45 +0100
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > That would be strange, since configure arranges for that when GCC is
> > used as the compiler.
> 
> Unless you have set CFLAGS yourself.

Right.  Richard, did you?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sun, 26 Jan 2014 20:06:01 GMT) Full text and rfc822 format available.

Message #95 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sun, 26 Jan 2014 15:05:54 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

I have GCC 4.4.5.  Anyway, I probably specified CFLAGS="-O0 -g"
explicitly in configuration, which I've done for many years.  If it is now
unnecessary to add -g, I didn't know.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sun, 26 Jan 2014 20:20:01 GMT) Full text and rfc822 format available.

Message #98 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: rms <at> gnu.org
Cc: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sun, 26 Jan 2014 22:18:44 +0200
> Date: Sun, 26 Jan 2014 15:05:54 -0500
> From: Richard Stallman <rms <at> gnu.org>
> CC: dmantipov <at> yandex.ru, 15688 <at> debbugs.gnu.org
> 
> I have GCC 4.4.5.  Anyway, I probably specified CFLAGS="-O0 -g"
> explicitly in configuration, which I've done for many years.  If it is now
> unnecessary to add -g, I didn't know.

I suggest to switch to CFLAGS="-O0 -g3", then the macro information
will be recorded in debug info.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Tue, 04 Mar 2014 21:56:01 GMT) Full text and rfc822 format available.

Message #101 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: monnier <at> IRO.UMontreal.CA
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Tue, 04 Mar 2014 16:55:18 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

I got more information about this bug.  The crash occurs when
mark_stack calls mark_memory.  pp is pointing at a stack slot
in Fgarbage_collect.  As far as I can tell by looking at the code
of Fgarbage_collect with x/i, that slot is never actually used -- it
contains junk left over from previous function calls.

I am surprised this unoptimized compilation makes a stack slot that is
not actually used.  Maybe it is used in some unobvious way.  It is
16(sp).

This suggests that the problem cannot be fixed by trying to prevent a
pointer to clear-temporary-map from being found and marked.

I wrote a change in the Lisp code to fix this problem,
then ran without it to get more info about the problem.
I think I should install that fix soon, but I can hold
off longer if you want.  Please respond.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Fri, 07 Mar 2014 18:40:03 GMT) Full text and rfc822 format available.

Message #104 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: monnier <at> IRO.UMontreal.CA
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Fri, 07 Mar 2014 13:39:21 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

It crashed again.  This time the slot pointed to was again in
Fgarbage_collect, but it was 80(sp).  That's where the variable
message_p (char) is stored.  The value of message_p is 0,
but it happens that the low 8 bits of the address of clear-temporary-map
are zero, so storing the value of message_p into that byte didn't
alter the pointer in the word.

What seems fishy here is that clear-temporary-map still points to
that vectorlike even though the vectorlike has been freed.
Maybe that's where the real bug is.  Why didn't this code

#if GC_MARK_STACK
		symbol_free_list->function = Vdead;
#endif

prevent the problem?

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Fri, 07 Mar 2014 22:35:01 GMT) Full text and rfc822 format available.

Message #107 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Richard Stallman <rms <at> gnu.org>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Fri, 07 Mar 2014 17:34:22 -0500
> Why didn't this code

> #if GC_MARK_STACK
>          symbol_free_list->function = Vdead;
> #endif

> prevent the problem?

Indeed, that seems to be the source of the problem: if the symbol has
never been found to be dead, it should not point to a dead vector, and
if it has ever been found to be dead then its `function' cell should
hold Vdead.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sat, 08 Mar 2014 07:38:01 GMT) Full text and rfc822 format available.

Message #110 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 15688 <at> debbugs.gnu.org
Subject: Re: bug#15688: 24.3.50; clear-temporary-overlay-map
Date: Sat, 08 Mar 2014 02:37:28 -0500
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

Would you like to write some code to detect when that vector becomes dead?
I could put a breakpoint there and investigate.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sat, 22 Mar 2014 14:04:01 GMT) Full text and rfc822 format available.

Message #113 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Stefan <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Daniel Colascione <dancol <at> dancol.org>, rms <at> gnu.org, 15688 <at> debbugs.gnu.org
Subject: Re: Changes that should go into version 24.4
Date: Sat, 22 Mar 2014 10:03:09 -0400
> Not sure if those are related, but if they aren't, how can we explain
> that only Richard experiences these problems?

My guess is that they only show up on Yeeloong, or maybe mips.
Could even be a compiler bug, for all I know.

> In http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15688#107, Stefan
> described some insight on the problem, and Richard suggested that
> someone writes debugging code to detect the situation that apparently
> is a precursor to the crash.  No one wrote such a code, AFAIK; perhaps
> we should.  (I don't understand what Stefan said enough to do this,
> but maybe someone else does.)

I'm not sure what kind of code could catch this, nor when to run it.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sat, 22 Mar 2014 14:54:02 GMT) Full text and rfc822 format available.

Message #116 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan <monnier <at> iro.umontreal.ca>
Cc: dancol <at> dancol.org, rms <at> gnu.org, 15688 <at> debbugs.gnu.org
Subject: Re: Changes that should go into version 24.4
Date: Sat, 22 Mar 2014 16:53:14 +0200
> From: Stefan <monnier <at> iro.umontreal.ca>
> Cc: Daniel Colascione <dancol <at> dancol.org>,  rms <at> gnu.org,  15688 <at> debbugs.gnu.org
> Date: Sat, 22 Mar 2014 10:03:09 -0400
> 
> > Not sure if those are related, but if they aren't, how can we explain
> > that only Richard experiences these problems?
> 
> My guess is that they only show up on Yeeloong, or maybe mips.
> Could even be a compiler bug, for all I know.

Could be.  But we have quite a few GC-related bug reports lately, so
it's not inconceivable that they are related.

> > In http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15688#107, Stefan
> > described some insight on the problem, and Richard suggested that
> > someone writes debugging code to detect the situation that apparently
> > is a precursor to the crash.  No one wrote such a code, AFAIK; perhaps
> > we should.  (I don't understand what Stefan said enough to do this,
> > but maybe someone else does.)
> 
> I'm not sure what kind of code could catch this, nor when to run it.

Perhaps you could add more detail to what you said there, and then
others could try thinking about what kind of code would help.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15688; Package emacs. (Sat, 22 Mar 2014 23:58:02 GMT) Full text and rfc822 format available.

Message #119 received at 15688 <at> debbugs.gnu.org (full text, mbox):

From: Richard Stallman <rms <at> gnu.org>
To: Stefan <monnier <at> iro.umontreal.ca>
Cc: eliz <at> gnu.org, dancol <at> dancol.org, 15688 <at> debbugs.gnu.org
Subject: Re: Changes that should go into version 24.4
Date: Sat, 22 Mar 2014 19:57:54 -0400
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

    My guess is that they only show up on Yeeloong, or maybe mips.
    Could even be a compiler bug, for all I know.

Since I can't get any more data by debugging when it crashes, what
good do you think will be done by leaving out the workaround I
installed?  If you don't want it in the trunk and the release, I won't
override you, but I will install it in my own copy.  I'm tired of
the hassle and I see nothing to be gained by suffering it more.

    > In http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15688#107, Stefan
    > described some insight on the problem, and Richard suggested that
    > someone writes debugging code to detect the situation that apparently
    > is a precursor to the crash.  No one wrote such a code, AFAIK; perhaps
    > we should.  (I don't understand what Stefan said enough to do this,
    > but maybe someone else does.)

    I'm not sure what kind of code could catch this, nor when to run it.

Here's one idea: store that vector somewhere where GC can see it, and
arrange to abort on freeing that vector.  By debugging at that point
we might learn some more.

That seems easy enough that I will try it one of these days.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.





Forcibly Merged 15583 15688 15719 15972 16278 16521 17167 17168. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 02 Apr 2014 21:42:02 GMT) Full text and rfc822 format available.

Forcibly Merged 15583 15688 15719 15972 16278 16521 17167 17168 17184. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 04 Apr 2014 21:38:04 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 07 May 2014 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 9 years and 327 days ago.

Previous Next


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