Bug 111521 - sysrq+t only displays header
Summary: sysrq+t only displays header
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 2.1
Classification: Red Hat
Component: kernel
Version: 2.1
Hardware: ia64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Dave Anderson
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2003-12-04 20:37 UTC by dann frazier
Modified: 2007-11-30 22:06 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-01-07 19:32:35 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description dann frazier 2003-12-04 20:37:31 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux ia64; en-US; rv:1.5)
Gecko/20031120 Firebird/0.7

Description of problem:
sysrq+t only displays a header, it doesn't show any task tracebacks.
this is connected to an hp rx5670 console via a telnet connection to
the mp.  sysrq + s works on this setup.

[bigeverest:root]# cat /proc/sys/kernel/sysrq
0
[bigeverest:root]# echo 1 > /proc/sys/kernel/sysrq
[bigeverest:root]#
telnet> ?
Commands may be abbreviated.  Commands are:
                                                                     
          
close           close current connection
logout          forcibly logout remote user and close the connection
display         display operating parameters
mode            try to enter line or character mode ('mode ?' for more)
open            connect to a site
quit            exit telnet
send            transmit special characters ('send ?' for more)
set             set operating parameters ('set ?' for more)
unset           unset operating parameters ('unset ?' for more)
status          print status information
toggle          toggle operating parameters ('toggle ?' for more)
slc             set treatment of special characters
                                                                     
          
z               suspend telnet
environ         change environment variables ('environ ?' for more)
telnet> send ?
ao              Send Telnet Abort output
ayt             Send Telnet 'Are You There'
brk             Send Telnet Break
ec              Send Telnet Erase Character
el              Send Telnet Erase Line
escape          Send current escape character
ga              Send Telnet 'Go Ahead' sequence
ip              Send Telnet Interrupt Process
nop             Send Telnet 'No operation'
eor             Send Telnet 'End of Record'
abort           Send Telnet 'Abort Process'
susp            Send Telnet 'Suspend Process'
eof             Send Telnet End of File Character
synch           Perform Telnet 'Synch operation'
getstatus       Send request for STATUS
?               Display send options
telnet> send brk
SysRq : Emergency Sync
Syncing device 08:14 ... OK
Syncing device 08:12 ... OK
Syncing device 08:13 ... OK
Syncing device 08:21 ... OK
Done.
                                                                     
          
[bigeverest:root]#
[bigeverest:root]#
telnet> send brk
SysRq : Show State
                                                                     
          

Version-Release number of selected component (if applicable):
2.4.18-e.37smp

How reproducible:
Always

Steps to Reproduce:
1. echo 1 > /proc/sys/kernel/sysrq
2. send a break + t over console
3. 
    

Actual Results:  the following is displayed on the console:
SysRq : Show State


Expected Results:  tracebacks of tasks on the system are displayed

Additional info:

Comment 1 Dave Anderson 2004-01-05 15:39:38 UTC
What is the output of:

  # echo /proc/sys/kernel/printk

If I remember correctly, on AS2.1 for IA64, the default values are:

  3 4 1 7

The first number is the console log level, and the second number is
the default message level.  When kernel printk's are issued without
a specified message level preceding the output string (KERN_INFO,
KERN_WARNING, KERN_ERR, etc.), then the printk function uses the
second number above as the message level.  Then, only if the console
log level is greater than the the message level will the messages be
printed to the console.

The "Show State" string will be always be printed because the sysrq.c
handler temporarily bumps the console log level to 7.  But then it
sets it back to its original value, and calls the code that prints out 
the back traces.  Since those printks do not have a KERN_XXX at the
beginning of each string, the level is set to the default message
level.  Therefore, if the first number (the console log level) is
less than the default message level of 4, then the messages are not
printed to the console -- but only go to the kernel's message buffer,
and eventually to /var/log/messages.

So if you do this:

 # echo 7 4 1 7 > /proc/sys/kernel/printk

then the back trace code will be displayed.  (The first number must
be greater than the second, so "5" would work as well as "7" since it
is greater than the default message level of "4")


Comment 2 dann frazier 2004-01-07 19:12:03 UTC
> What is the output of:
> 
>  # echo /proc/sys/kernel/printk

/proc/sys/kernel/printk :)

> If I remember correctly, on AS2.1 for IA64, the default values are:
>
>  3 4 1 7

yes, that is correct.

> So if you do this:
> 
>  # echo 7 4 1 7 > /proc/sys/kernel/printk
> 
> then the back trace code will be displayed.  (The first number must
> be greater than the second, so "5" would work as well as "7" since 
> it is greater than the default message level of "4")

yes, that worked. thank you Dave.


Note You need to log in before you can comment on or make changes to this bug.