GNU bug report logs - #12478
cat SEGV when I press Ctrl-Alt-SysRq-1 on text console

Previous Next

Package: coreutils;

Reported by: "Rafal W." <kenorb <at> gmail.com>

Date: Thu, 20 Sep 2012 15:56:02 UTC

Severity: normal

Tags: moreinfo, notabug

Done: Bob Proulx <bob <at> proulx.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Bob Proulx <bob <at> proulx.com>
To: "Rafal W." <kenorb <at> gmail.com>
Cc: 12478 <at> debbugs.gnu.org
Subject: bug#12478: cat SEGV when I press Ctrl-Alt-SysRq-1 on text console
Date: Mon, 1 Oct 2012 14:53:45 -0600
Rafal W. wrote:
> Thanks. Without Control more things are working.
> Alt-SysRq-m and other letters works, doesn't kill the process.
> So the only problems are numbers:
> Alt-SysRq-1 to 9 (exempt 5 & 6) is killing the process.
> Looks like 5 and 6 have some special privileges.

Typically 5 and 6 will change the kernel logging level to those
values.  For whatever reason on my Debian system the other numbers are
not enabled to change the log level.  I have never bothered to
investigate why.  On my system the other number 1-4,7-9,0 keys appear
to do nothing.  But it is documented that the Alt-SysRq-0 through
Alt-SysRq-9 keys set the console log level.

  http://kernel.org/doc/Documentation/sysrq.txt

The useful kernel log levels are:

  #define KERN_EMERG   "<0>" /* system is unusable                    */
  #define KERN_ALERT   "<1>" /* action must be taken immediately      */
  #define KERN_CRIT    "<2>" /* critical conditions                   */
  #define KERN_ERR     "<3>" /* error conditions                      */
  #define KERN_WARNING "<4>" /* warning conditions                    */
  #define KERN_NOTICE  "<5>" /* normal but significant condition      */
  #define KERN_INFO    "<6>" /* informational                         */
  #define KERN_DEBUG   "<7>" /* debug-level messages                  */

The linux kernel default is 8 so that all messages are logged to the
console.  This can produce a large amount of noise to the point of
making the console unusable on a firewall machine with an active
Internet connection since this will cause many log events rapidly
consuming the screen display.  At least one distro sets it to 3 and
another leaves it at the linux kernel default setting of 8.  I
normally set this to 5 to reduce the noise on the console.  I normally
do this with the 'dmesg -n5' command in the firewall init scripts but
there are several different ways to set this.  The key sequence is
intended to restore usability to a console that is getting bombarded
with log events and Alt-SysRq-5 is useful for that purpose.

I think you should determine what actions are enabled on your system.
You can do this by using the /proc kernel interface directly.

  $ cat /proc/sys/kernel/sysrq

What level number is produced there?

  # echo h > /proc/sysrq-trigger
  # tail /var/log/syslog (or tail /var/log/messages or whatever)

On my system it shows:

  $ cat /proc/sys/kernel/sysrq
  438

That is 0x1b6 or 2 + 4 + 16 + 32 + 128 + 256 and with this bitmap we
can see that some features are not enabled by default on my system.

          2 - enable control of console logging level
          4 - enable control of keyboard (SAK, unraw)
          8 - enable debugging dumps of processes etc.
         16 - enable sync command
         32 - enable remount read-only
         64 - enable signalling of processes (term, kill, oom-kill)
        128 - allow reboot/poweroff
        256 - allow nicing of all RT tasks

  # echo h > /proc/sysrq-trigger
  # tail /var/log/syslog
  ... SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount force-fb(V) show-blocked-tasks(W) dump-ftrace-buffer(Z)

Running 'tail -f /var/log/syslog' (or /var/log/messages, or whatever)
while you are testing pressing those keys is useful because the kernel
will log actions taken there.

Bob




This bug report was last modified 12 years and 237 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.