GNU bug report logs - #64613
Signalling byte ops should show up in backtraces

Previous Next

Package: emacs;

Reported by: Mattias Engdegård <mattias.engdegard <at> gmail.com>

Date: Fri, 14 Jul 2023 14:21:02 UTC

Severity: normal

To reply to this bug, email your comments to 64613 AT debbugs.gnu.org.

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#64613; Package emacs. (Fri, 14 Jul 2023 14:21:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mattias Engdegård <mattias.engdegard <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 14 Jul 2023 14:21:02 GMT) Full text and rfc822 format available.

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

From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: Emacs Bug Report <bug-gnu-emacs <at> gnu.org>
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Signalling byte ops should show up in backtraces
Date: Fri, 14 Jul 2023 16:20:37 +0200
Many byte ops don't appear in the backtrace if they signal an error. This makes it unnecessarily difficult to find the precise location of the error.

Most operations that replace a function call, such as `cdr`, `+`, `memq` and so on, have this problem.

The tricky part is to include the function in the backtrace without slowing down normal execution.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64613; Package emacs. (Fri, 14 Jul 2023 17:53:02 GMT) Full text and rfc822 format available.

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

From: Mattias Engdegård <mattiase <at> acm.org>
To: 64613 <at> debbugs.gnu.org
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: bug#64613: Signalling byte ops should show up in backtraces
Date: Fri, 14 Jul 2023 19:51:51 +0200
A small improvement, only covering car, cdr, setcar, sector, and (partially) nth and elt, was pushed in 8acd52bba4.
This is low-hanging fruit and worth doing for the benefit it brings even if we end up using a more general solution later on.






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64613; Package emacs. (Wed, 26 Jul 2023 17:08:02 GMT) Full text and rfc822 format available.

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

From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: 64613 <at> debbugs.gnu.org
Cc: Alan Mackenzie <acm <at> muc.de>, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#64613: Signalling byte ops should show up in backtraces
Date: Wed, 26 Jul 2023 19:07:27 +0200
Now (82f5f3b8a2) the `aref` and `aset` byte-ops provide backtrace records for errors that are discovered in the fast path:

- index argument not a fixnum
- for vector and record arguments, index out of range

For other types there is no such help yet since we call out to Faref and Faset.

We need a general strategy for dealing with such call-outs from the bytecode engine. So far, the backtrace records have all been to cold paths with no new hot-path code.





This bug report was last modified 282 days ago.

Previous Next


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