[Crash-utility] Re: paging command [was Re: crash CPU bound waiting for user response]

Dave Anderson anderson at redhat.com
Tue Jul 3 15:19:55 UTC 2007


D. Hugh Redelmeier wrote:
> | From: Dave Anderson <anderson at redhat.com>
> 
> | > ==> It does not say in what way the terminal is not fully functional.  That
> | > seems like a bug.
> | 
> | Sorry, but I have no idea where that WARNING message is coming from,
> | i.e., it's not coming from the crash/gdb code base, nor does the
> | string "functional" show up in any of the external libraries.  There
> | is a crash function that prints "WARNING:" before a passed-in message,
> | but no instances of it issue that "functional" message.  And the
> | "(press RETURN)" is most certainly not associated with the crash/gdb
> | code base.
> | 
> | So I don't know what the "It" is.
> 
> Right.
> 
> It seems to be coming from /usr/bin/less.
> 

Based upon running within that emacs/Jove environment I guess?

> So I tried to suppress by setting the PAGER environment variable to
> /bin/cat.  No luck.
> 
> The code in main.c:setup_environment ought to use the PAGER
> environment variable if it is defined.  This would require changing
> scroll_command field, probably from an int to a string containing the
> command's path.  (It is probable that a copy of the string need not be
> created since environment variable values are stable.)  I would be
> willing to propose a patch if you (Dave) would be willing to consider
> it.
> 

I prefer not to change the default behaviour based upon the
user's PAGER variable.  I'm not sure what you'd want to change
it to, but if you come up with a scheme to do it based upon
a .crashrc entry, or runtime "set" command, or whatever, I'll
certainly consider it.  I just don't want to upset everybody
else's applecart.

> It turns out that the crash command
> 	set scroll off
> does what I need.  The crash(8) man page did not even hint at this 
> capability.

Yeah, the man page is pretty simple-minded.  As you can see, I didn't
write it, preferring to keep crash usage documentation self-contained
within the utility itself.

The "help" command shows this:

   crash> help

   *              files          mod            runq           union
   alias          foreach        mount          search         vm
   ascii          fuser          net            set            vtop
   bt             gdb            p              sig            waitq
   btop           help           ps             struct         whatis
   dev            irq            pte            swap           wr
   dis            kmem           ptob           sym            q
   eval           list           ptov           sys
   exit           log            rd             task
   extend         mach           repeat         timer

   crash version: 4.0-4.3   gdb version: 6.1
   For help on any command above, enter "help <command>".
   For help on input options, enter "help input".
   For help on output options, enter "help output".

   crash>

And "help output" shows this:

   crash> help output

   By default, crash command output is piped to "/usr/bin/less -E -X" along
   with a prompt line.  This behavior can be turned off in two ways:

     1. During runtime, enter "set scroll off" or the alias "sf".
     2. Enter "set scroll off" in a .crashrc file, which can be located either
        in the current directory or in your home directory.

   To restore the scrolling behavior during runtime, enter "set scroll on"
   or the alias: "sn"
   ...

Dave








More information about the Crash-utility mailing list