GNU bug report logs - #67141
30.0.50; Missing element in the backtrace

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Sun, 12 Nov 2023 22:31:01 UTC

Severity: normal

Found in version 30.0.50

Full log


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

From: Andrea Corallo <acorallo <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 67141 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#67141: 30.0.50; Missing element in the backtrace
Date: Thu, 16 Nov 2023 04:35:48 -0500
Andrea Corallo <acorallo <at> gnu.org> writes:

> Eli Zaretskii <eliz <at> gnu.org> writes:
>
>>> Date: Sun, 12 Nov 2023 17:29:27 -0500
>>> From:  Stefan Monnier via "Bug reports for GNU Emacs,
>>>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>>> 
>>> Package: Emacs
>>> Version: 30.0.50
>>> 
>>> 
>>>     emacs -Q
>>>     (this is an unquoted list)
>>>     C-j
>>> 
>>> Gives me:
>>> 
>>>     Debugger entered--Lisp error: (void-function this)
>>>       (this is an unquoted list)
>>>       (progn (this is an unquoted list))
>>>       elisp--eval-last-sexp(t)
>>>       eval-last-sexp(t)
>>>       eval-print-last-sexp(nil)
>>>       funcall-interactively(eval-print-last-sexp nil)
>>>       command-execute(eval-print-last-sexp)
>>> 
>>> But `elisp--eval-last-sexp` doesn't directly run that `progn`.
>>> Instead it calls `eval` to do so.  Where did `eval` go?
>>> 
>>> I see this both in Debian's Emacs-28,2 as well as on `master`.
>>> In both cases, this is using the native compiler.
>>> I have a local Emacs with various patches but without using the native
>>> compiler and the problem doesn't appear there.
>>> So my crystal ball pointed their pointy finger at the native code compiler.
>>
>> Adding Andrea.
>
> Thanks,
>
> mmmh, my crystal ball suggests that some (native compiled) code is
> calling directly a primitive (eval) without going through funcall, as a
> consequence no backtrace is recorded.  AFAIR that's what happen with
> byte compiled code with primitves with assigned (byte)op-code as well.

PS and indeed similarly what happen calling a primitive from other C
code.

  Andrea




This bug report was last modified 1 year and 262 days ago.

Previous Next


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