GNU bug report logs - #30846
26.0.91; debug-watch of kill-all-local-variables triggers 'assertion failed: found == !EQ (blv->defcell, blv->valcell)'

Previous Next

Package: emacs;

Reported by: Noam Postavsky <npostavs <at> gmail.com>

Date: Sun, 18 Mar 2018 13:11:02 UTC

Severity: normal

Found in version 26.0.91

Fixed in versions 27.1, 26.2

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

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Noam Postavsky <npostavs <at> gmail.com>
Subject: bug#30846: closed (Re: bug#30846: 26.0.91; debug-watch of
 kill-all-local-variables triggers 'assertion failed: found == !EQ
 (blv->defcell, blv->valcell)')
Date: Fri, 23 Mar 2018 15:30:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#30846: 26.0.91; debug-watch of kill-all-local-variables triggers 'assertion failed: found == !EQ (blv->defcell, blv->valcell)'

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 30846 <at> debbugs.gnu.org.

-- 
30846: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30846
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: 30846-done <at> debbugs.gnu.org
Cc: Noam Postavsky <npostavs <at> gmail.com>
Subject: Re: bug#30846: 26.0.91;
 debug-watch of kill-all-local-variables triggers 'assertion failed:
 found == !EQ (blv->defcell, blv->valcell)'
Date: Fri, 23 Mar 2018 11:29:55 -0400
Version: 27.1

> The patch doesn't only fix this problem, it also changes the time at
> which we run the watcher: in the current emacs-26 code,

Installed into master,


        Stefan

[Message part 3 (message/rfc822, inline)]
From: Noam Postavsky <npostavs <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.0.91;
 debug-watch of kill-all-local-variables triggers 'assertion failed:
 found == !EQ (blv->defcell, blv->valcell)'
Date: Sun, 18 Mar 2018 09:10:41 -0400
[Message part 4 (text/plain, inline)]
Evaluate the following from 'emacs -Q':

    (setq-local foo 1)

    ;; Simulate (debug-watch 'foo) + continue from *Backtrace*
    (add-variable-watcher 'foo (lambda (symbol newval operation where)
                                 (with-temp-buffer
                                   (kill-all-local-variables))))
    (fundamental-mode)

This results in

../../src/data.c:98: Emacs fatal error: assertion failed: found == !EQ (blv->defcell, blv->valcell)

Backtrace attached.  I guess it has something to do with the recursive
`kill-all-local-variables' call, although I'm not familiar enough with
the local variable machinery to say more about it.

[assert-fail-backtrace.log (text/plain, attachment)]
[Message part 6 (text/plain, inline)]
In GNU Emacs 26.0.91 (build 54, x86_64-pc-linux-gnu, X toolkit, Xaw scroll bars)
 of 2018-03-18 built on zebian
Repository revision: 10bd3b3af8acfc226acadc654298865cffc19cc9

Configured using:
 'configure --cache-file=../../debug-config.cache 'CC=ccache gcc'
 'CFLAGS=-O0 -g3 -march=native' --enable-checking=yes
 --enable-check-lisp-object-type --with-x-toolkit=lucid
 --with-toolkit-scroll-bars --with-gif=no --with-jpeg=no'




This bug report was last modified 6 years and 348 days ago.

Previous Next


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