unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#40008: Backtraces can contain very long strings
@ 2020-03-10 10:05 Jan Synacek
  2020-03-10 11:47 ` tomas
  0 siblings, 1 reply; 4+ messages in thread
From: Jan Synacek @ 2020-03-10 10:05 UTC (permalink / raw)
  To: 40008

[-- Attachment #1: Type: text/plain, Size: 1373 bytes --]

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.

If this is not considered a bug, please, at least consider it an RFE.

-- 
Jan Synacek
Software Engineer, Red Hat

[-- Attachment #2: Type: text/html, Size: 2305 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#40008: Backtraces can contain very long strings
  2020-03-10 10:05 bug#40008: Backtraces can contain very long strings Jan Synacek
@ 2020-03-10 11:47 ` tomas
  2020-03-11 11:13   ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: tomas @ 2020-03-10 11:47 UTC (permalink / raw)
  To: 40008

[-- Attachment #1: Type: text/plain, Size: 1885 bytes --]

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).

> If this is not considered a bug, please, at least consider it an RFE.

I guess one could argue about the current defaults, but it'll be
difficult to find values making all people happy all the time.

Cheers
-- t

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#40008: Backtraces can contain very long strings
  2020-03-10 11:47 ` tomas
@ 2020-03-11 11:13   ` Ludovic Courtès
  2020-03-11 12:39     ` Mikael Djurfeldt
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2020-03-11 11:13 UTC (permalink / raw)
  To: tomas; +Cc: 40008

Hi,

<tomas@tuxteam.de> 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’.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#40008: Backtraces can contain very long strings
  2020-03-11 11:13   ` Ludovic Courtès
@ 2020-03-11 12:39     ` Mikael Djurfeldt
  0 siblings, 0 replies; 4+ messages in thread
From: Mikael Djurfeldt @ 2020-03-11 12:39 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 40008

[-- Attachment #1: Type: text/plain, Size: 2796 bytes --]

On Wed, Mar 11, 2020 at 12:14 PM Ludovic Courtès <ludo@gnu.org> wrote:

> Hi,
>
> <tomas@tuxteam.de> 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?
>

It would be nice if this was configurable. As Tomas pointed out this kind
of thing can be a matter of taste. Also, if debugging some specific problem
involving large strings it might be convenient to switch on for anyone.

There could be a debug-option (see (debug-options '?)) `exception-width'
(similar to `width' but for errors and exceptions).

But how is the debug-options interface regarded nowadays? Is it going to be
deprecated? I notice that the `width' option doesn't seem to have an effect
anymore. Looking into backtrace.c and (system repl debug) the width
nowadays rather seems to be controlled by the terminal width only.

Best regards,
Mikael

[-- Attachment #2: Type: text/html, Size: 3674 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-03-11 12:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-10 10:05 bug#40008: Backtraces can contain very long strings Jan Synacek
2020-03-10 11:47 ` tomas
2020-03-11 11:13   ` Ludovic Courtès
2020-03-11 12:39     ` Mikael Djurfeldt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).