Skip to contentSkip to conversation

killing a set of user processes causes system

parisc-linux John David Anglin 2 participants 3 messages Dec 14, 2006 – Dec 16, 2006 2 messages not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw
Quoted 3 lines

Yes. We talked about this before. You have to set up a serial console to your C3K, and issue a SYSRQ-T to show where the process is stuck in the kernel.

I know but that's a problem. Can't capture enough info to graphics console. Don't have the right cable for a serial console, so I would probably have to build it. The machine's downtown and I haven't been driving for the last two weeks. Before that, Luxcom was sucking up most of my time.

I've now using ethernet consoles for the servers but that's not an option for the c3k. Really, it would be great if it were possible to do a SYSRQ-T over a standard ssh link.

The reason I haven't been driving is I had an eye operation two weeks ago to correct a tear in my retina. Not much warning, just an increase in the number of floaters in the eye. So, I booked an eye appointment. The doctor saw the problem and referred me to another doctor in his clinic who specializes in retina problems. He looked at me and referred me to a doctor at the General who specializes in surgery. Went in the same morning to the General and they did the first stage of the procedure (laser welding + gas bubble to hold the retina in place and to dry out fluid behind it).

Apparently, if the tear had got much larger, I would have had to undergo major surgery. There's no option since the tear would have progressively got larger resulting in blindness in the eye. This problem apparently happens to about 1 in 10000 around 60. So, far the results of the surgery seem good but can't be certain until the gas bubble disappears.

Quoted 2 lines

FYI I've been running gcc builds on my c3k to reproduce this, but I haven't seen anything like this.

Java testsuite on head. I think the binutils testsuite still has problems when it is run when the machine is under load.

Quoted 5 lines

Sorry to everyone who thinks I fell off the surface of the earth... it's true. I'm back on my thesis writing schedule, which means hours in the evenings are gone :(

I have a defense date in March! :)

Hey, spring graduation! Good luck.

Dave

Signature · 6 lines
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

A message that is not in the archive (sent off-list or not yet received): [email protected]

#3 lore raw
Quoted 9 lines · John David Anglin
Quoted 3 lines

Yes. We talked about this before. You have to set up a serial console to your C3K, and issue a SYSRQ-T to show where the process is stuck in the kernel.

I know but that's a problem. Can't capture enough info to graphics console. Don't have the right cable for a serial console, so I would probably have to build it. The machine's downtown and I haven't been driving for the last two weeks. Before that, Luxcom was sucking up most of my time.

I have a bunch of null-modem cables; you can borrow one if you like. Heck, if you give me directions (and sort out access permissions), I can go and install it for you.

Quoted 3 lines

I've now using ethernet consoles for the servers but that's not an option for the c3k. Really, it would be great if it were possible to do a SYSRQ-T over a standard ssh link.

Ah, /proc/sysrq-trigger is your friend here.

Best of luck with your eye problems!

_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

#4 lore raw

Re: [parisc-linux] killing a set of user processes causes system reboot

In reply to a message not in the archive
Quoted 2 lines

FYI I've been running gcc builds on my c3k to reproduce this, but I haven't seen anything like this.

A little more info.

I'm seeing this almost every time with GCC 4.2.0 branch using vmlinux-2.6.18-rc7-pa1 or vmlinux-2.6.19-g211c7899-dirty. The kernels are 32-bit with the default c3000 config. It's happened in the last two builds and checks running the libjava testsuite. The tests timeout, so I would think the dejagnu/tcl framework would have tried to kill them when the timeout occured.

Within a group of processes that are stuck, I can kill all but one without causing a system reboot. The processes appear stuck in the kernel. I don't see any activity with strace.

I often see this with the Process_3.java test. For example,
http://gcc.gnu.org/ml/gcc-testresults/2006-12/msg00637.html

Dave

Signature · 80 lines
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

// Create a process and pipe data through it.  waitFor() the process
// in a different thread than the one that created it.
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;


public class Process_3 implements Runnable
{
  Process p;

  public void run()
  {
    try
      {
	Runtime r = Runtime.getRuntime();
	String[] a = { "sed", "-e", "s/Hello/Goodbye/" };
	synchronized (this)
	  {
	    p = r.exec(a);
	    this.notifyAll();
	  }
	OutputStream os = p.getOutputStream();
	PrintStream ps = new PrintStream(os);
	ps.println("Hello World");
	ps.close();
      }
    catch (Exception ex)
      {
	System.out.println(ex.toString());
        System.exit(1);
      }
  }

  public static void main(String[] args)
  {
    try
      {
	Process_3 p3 = new Process_3();
	Thread t = new Thread(p3);
	t.start();
	synchronized (p3)
	  {
	    while (p3.p == null)
	      p3.wait();
	  }

	InputStream is = p3.p.getInputStream();
	InputStreamReader isr = new InputStreamReader(is);
	BufferedReader br = new BufferedReader(isr);
	String result = br.readLine();
	if (! "Goodbye World".equals(result))
	  {
	    System.out.println("bad 1");
	    return;
	  }
	result = br.readLine();
	if (result != null)
	  {
	    System.out.println("bad 2");
	    return;
	  }
	int c = p3.p.waitFor();
	System.out.println(c == 0 ? "ok" : "bad 3");
      }
    catch (Exception ex)
      {
	System.out.println(ex.toString());
      }
  }
}
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux