From mboxrd@z Thu Jan 1 00:00:00 1970 Message-Id: <200202261801.NAA07515@math.psu.edu> To: 9fans@cse.psu.edu From: Dan Cross Subject: [9fans] Weird problem. Date: Tue, 26 Feb 2002 13:01:42 -0500 Topicbox-Message-UUID: 5729c6f4-eaca-11e9-9e20-41e7f4b1d025 I'm looking at a Plan 9 machine where ps(1) keeps hanging; in particular, it hangs while trying to open one of the status files under /proc/*. (eg, open("/proc/$somepid/status", OREAD); hangs). Looking at the source code to devproc.c, I see that one of the first things procopen() does is lock p->debug once it finds the proctable entry for the process that particular file is associated with. My guess, based only on vague feeling and nothing more substantial, is that there exists some sort of deadlock with p->debug. Is there a way to see what locks a process holds, short of instrumenting the kernel to do so? I'd hate to simply reboot the machine, since I think that the error state would be difficult to recreate, and I'd really like to understand what's going on. Alternatively, if anyone's seen this before and knows what's up, that'd be great. - Dan C.