bug#40008: Backtraces can contain very long strings

Ludovic Courtès <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hi,

<[email protected]> skribis:

> On Tue, Mar 10, 2020 at 11:05:24AM +0100, Jan Synacek wrote:
>> I have the following backtrace:
>> 
>> Backtrace:
>> In ice-9/boot-9.scm:
>>   1736:10  9 (with-exception-handler _ _ #:unwind? _ # _)
>> In unknown file:
>>            8 (apply-smob/0 #<thunk 651b40>)
>> In ice-9/boot-9.scm:
>>     718:2  7 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
>> In ice-9/eval.scm:
>>     619:8  6 (_ #(#(#<directory (guile-user) 74cf00>)))
>> In ice-9/boot-9.scm:
>>    2806:4  5 (save-module-excursion _)
>>   4351:12  4 (_)
>> In /home/jsynacek/./git.scm:
>>      72:0  3 (_)
>>     61:16  2 (change-spec _ _ "66.33" _ #<output: file 1>)
>>     48:12  1 (change-release "# We ship a .pc file but don't want t…" …)
>> In unknown file:
>>            0 (make-regexp "^Release:(\\s*).*$" "# We ship a .pc fil…" …)
>> 
>> ERROR: In procedure make-regexp:
>> Wrong type (expecting exact integer): "
>> <HERE COMES A LOOOONG STRING WHICH IS ABOUT 193000 CHARACTERS WIDE>
>> "
>> 
>> While this is probably not considered an error, I guess it might be better
>> to ellipsize strings in errors such is mine that are over a certain length
>> long. The important part of the backtrace was scrolled away and I got
>> confused about the string, as I thought it was part of the output and
>> started wondering why (display ...) keeps the escaped newlines in the
>> string.
>
> Some want it, some want it not. I remember a couple of discussions
> in guile-user and guile-devel about this topic.
>
> Have you tried setting debug options `width' and/or `depth' (cf. procedure
> `debug-options')?
>
> (my current defaults are 79 columns/20 rows, this is Guile 3.0).

The backtrace itself is ellipsized, but the value displayed in the
exception (the long string above) is not.

I would rather not ellipsize anything in the exception itself.

Thoughts?

Ludo’.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.