bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#36677: [PATCH] Don't truncate backtraces


From: Robert Vollmert
Subject: bug#36677: [PATCH] Don't truncate backtraces
Date: Sun, 21 Jul 2019 17:35:35 +0200


> On 17. Jul 2019, at 20:11, Robert Vollmert <address@hidden> wrote:
> 
> 
> 
>> On 17. Jul 2019, at 19:57, Mark H Weaver <address@hidden> wrote:
>> 
>> Hi Robert,
>> 
>> Robert Vollmert <address@hidden> writes:
>> 
>>> * module/system/repl/debug.scm (print-frame): Print full object if
>>> width keyword is #f.
>>> * libguile/backtrace.c (display_backtrace_body): Call print-frames
>>> with #:width #f.
>>> ---
>>> 
>>> This change was prompted by recent discussion on the Guix lists:
>>> https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00207.html
>>> In Guix, the truncation of stack traces frequently obscures
>>> important information due to the long filenames.
>> 
>> I'm sympathetic to this problem, but simply disabling the truncated
>> printing during backtraces is not workable.  It is quite often the case
>> that some of the structures printed in backtraces are *huge*, or even
>> cyclic.
>> 
>> Have you tried setting the COLUMNS environment variable to a larger
>> value?  I'd prefer a solution along those lines, where the user can set
>> an environment variable to ask for less truncation in backtraces.
> 
> Defaulting to something longer than 80 might be workable, say 250?
> 
> I don’t think that it should be necessary to set an environment variable
> to get usable stack traces…

I’d like to add that the current code to determine terminal width
seems to be broken. COLUMNS is a bash-local variable, it’s not typically
set anywhere as an environment variable.

Some ways to get actual terminal size:

$ tput cols  # from ncurses
80
$ stty size  # from coreutils
25 80

Though it’s unclear how these work in non-interactive situations.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]