GNU bug report logs - #44968
28.0.50; [feature/native-comp] Emacs segfault in `rustic-flycheck-dirs-list'

Previous Next

Package: emacs;

Reported by: Andrea Corallo <akrl <at> sdf.org>

Date: Mon, 30 Nov 2020 19:57:02 UTC

Severity: normal

Found in version 28.0.50

Done: Andrea Corallo <akrl <at> sdf.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Andrea Corallo <akrl <at> sdf.org>
To: "Gerry Agbobada" <gerry <at> gagbo.net>
Cc: 44968 <at> debbugs.gnu.org
Subject: bug#44968: 28.0.50; [feature/native-comp] Emacs segfault in `rustic-flycheck-dirs-list'
Date: Tue, 01 Dec 2020 09:14:35 +0000
"Gerry Agbobada" <gerry <at> gagbo.net> writes:

> Thanks for the help, I’ll look at the commit to see if I understand something :)

Dumping Limple (setf comp-verbose 3) we can see how the call to `car'
as:

(call car #s(comp-mvar (cons) (nil) nil 15178090 6))

(cons) is the typeset slot of the mvar, (nil) is the valset.
This implies the the mvar may be during execution *or* a cons *or*
assume value nil.

Hence the fix to `comp-mvar-cons-p' in the commit.

Without this `comp-mvar-cons-p' was returning t and the backend was
erroneously generating code on this false assumption.  Indeed at the
first iteration of your reproducer the argument of car is nil and not a
cons, and so the crash.

  Andrea




This bug report was last modified 4 years and 168 days ago.

Previous Next


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