Subject: bug#15972: closed (Re: bug#17168: 24.3.50; Segfault at mark_object)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 07 Apr 2014 18:41:07 +0000

Your bug report

#17168: 24.3.50; GC still crashes

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
17168: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17168
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#17168: 24.3.50; Segfault at mark_object
From: Stefan Monnier <[email-masked]>
To: Daniel Colascione <[email-masked]>
Cc: Dmitry Antipov <[email-masked]>, [email-masked]
Date: Mon, 07 Apr 2014 12:28:20 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

> Anyway, I'd like to get a fix into emacs-24 soon so we can make sure
> we've fixed the GC bug.

I installed a fix into emacs-24, which lets all symbols be uninterned.

> Are you vetoing the general approach used in this patch?

No: I think disallowing unintern is a good idea, but not for emacs-24.

Indeed, as it turns out, the only non-pure objects referenced from pure
space are symbols and distinguishing uninterned from interned reduces
the number of such "pinned" objects from about 10K to about 250.

Rather than scan all symbols to find the pinned ones, the code
I installed into emacs-24 keeps a pointer to the first symbol_block
that contains a pinned symbol.  This way we only scan about 15K symbols
at the beginning of every GC cycle to mark those 10K pinned symbols.
Compared to keeping a vector of 10K object, this seems like
a good tradeoff.

For trunk, we could disallow uninterning pinned symbols, at which point
it's worth the trouble to build a vector of those 250 remaining
pinned symbols.

        Stefan

Subject: 24.3.50; GC still crashes
From: Richard Stallman <[email-masked]>
To: [email-masked]
Date: Mon, 25 Nov 2013 07:26:31 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

I am still getting the crashes in GC that I reported,
where a symbol clear-overlay-<whatever> points to an invalid
vectorlike.

In GNU Emacs 24.3.50.15 (mips64el-unknown-linux-gnu, GTK+ Version 2.20.1)
 of 2013-11-22 on chiefs-gnewsense
Bzr revision: 115176 [email-masked]
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: Dired by date

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:
c ESC f ESC f ESC f C-k C-o , SPC b u t SPC t h e SPC 
q u e s t i o n SPC i s , SPC h o w SPC b i g SPC i 
s SPC ESC DEL ESC DEL i m p o r t a n t SPC i s SPC 
i t RET a n d SPC h o w SPC ESC DEL w h a t SPC C-a 
C-k DEL DEL t ? RET W h a t SPC d o SPC C-d C-d ESC 
q C-x C-s C-x b RET C-n C-o ESC C-v C-n C-o ESC C-v 
C-n C-o C-x 4 m v e r l DEL n a l e o C-n N e w SPC 
h o m e SPC p a g e C-a C-n C-n C-n C-u C-k C-o W o 
u d l SPC i t SPC m a k e SPC s e n s e C-a ESC f C-b 
C-t C-e SPC t o SPC a s k SPC L o g i n e r SPC v o 
n SPC W e b SPC t o SPC u p d a t e SPC h i s SPC n 
e w SPC h o m e SPC p a g e RET s o SPC y o u SPC d 
o n ' t SPC h a v e SPC t o ? C-c C-g ESC ; C-d 3 d 
C-c C-c C-x o C-n C-o ESC C-v C-n C-o ESC C-v C-n C-o 
ESC C-v C-n C-o C-n C-o C-n C-o C-l ESC x r e p o r 
t SPC e m a c v s SPC b DEL DEL DEL s SPC SPC u DEL 
RET

Recent messages:
Wrote /home/rms/outgoing/out-54
Quit
Saving file /home/rms/outgoing/out-54...
Wrote /home/rms/outgoing/out-54
Auto-saving...done
C-c C-g is undefined
Mark set
Sending...
Wrote /home/rms/outgoing/out-84
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
/home/rms/emacs-bzr/trunk/lisp/net/rcompile hides /home/rms/emacs-bzr/trunk/lisp/obsolete/rcompile

Features:
(shadow emacsbug rmailkwd vc-arch vc-mtn vc-hg vc-git vc-bzr vc-sccs
vc-svn vc-rcs vc vc-dispatcher view jka-compr ispell rect unrmail
parse-time vc-cvs sgml-mode etags epa-mail org-element org-rmail
org-mhe org-irc org-info org-gnus gnus-util org-docview org-bibtex
bibtex org-bbdb org-w3m org byte-opt bytecomp byte-compile cconv
org-macro org-footnote org-pcomplete org-list org-faces org-entities
noutline outline easy-mmode org-version ob-emacs-lisp ob ob-tangle
org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core
cl-macs gv cl cl-loaddefs cl-lib ob-eval org-compat org-macs
org-loaddefs find-func epa derived epg epg-config quail help-mode
shell pcomplete grep compile comint ansi-color ring mule-util cal-move
cal-menu calendar cal-loaddefs dabbrev rmailsum misearch multi-isearch
dired-aux rmailout mailalias qp rmailmm message sendmail format-spec
rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode mailabbrev
gmm-utils mailheader mail-parse rfc2231 dired t-mouse finder-inf
package rmailedit rmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils time-date paren cus-start cus-load advice help-fns tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)
        [ 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.

-- 
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.