9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] lock loop messages (anything particular I should do?)
@ 2003-04-04 21:52 Axel Belinfante
  2003-04-04 22:03 ` Sape Mullender
  2003-04-04 22:03 ` Axel Belinfante
  0 siblings, 2 replies; 6+ messages in thread
From: Axel Belinfante @ 2003-04-04 21:52 UTC (permalink / raw)
  To: 9fans

Just got a scrolling screen of 'lock loop' messages (for playlistfs).
Not having seen this before I was just wondering if there was something
someone might want me to do/look at before (or after?) I just switch
off the machine (and, later, try to fix my bugs).
I don't care about (rebooting) the machine.


Background:
I have been playing with Sape's classic/srv/juke, to add in support
for ogg and probably overlooked something. At least I succeeded to
break the update from playlistfs to the Error pane of classicjuke,
at least that I guess from the debugging output I got.
However, I suppose I will be able to fix that, that's not the
reason I'm posting this.

I'm testing what I did on a diskless terminal at home (booted over
the net of the office fs).  The terminal now seems to hang, more or less,
apart from the following text scrolling (slowly) over the screen:

lock 0x8029bd68 loop key 0xdeaddead pc 0x80104e08 held by pc 0x0104e08 proc 486
486: playlistfs pc 5311 dbgpc 139a Fault(Running) ut 0 st 0 bss c3000 qpc 0 nl 1 nd 0 lpc 80125c4e
486: playlistfs pc 5311 dbgpc 139a Fault(Running) ut 0 st 0 bss c3000 qpc 0 nl 1 nd 0 lpc 80125c4e
(and here it repeats with the 'lock' line)

I got that after in the player program the decoder (vorbisdec) died,
maybe several times in a row, each for a different song.


Axel.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9fans] lock loop messages (anything particular I should do?)
  2003-04-04 21:52 [9fans] lock loop messages (anything particular I should do?) Axel Belinfante
@ 2003-04-04 22:03 ` Sape Mullender
  2003-04-04 22:03 ` Axel Belinfante
  1 sibling, 0 replies; 6+ messages in thread
From: Sape Mullender @ 2003-04-04 22:03 UTC (permalink / raw)
  To: 9fans

> Just got a scrolling screen of 'lock loop' messages (for playlistfs).
> Not having seen this before I was just wondering if there was something
> someone might want me to do/look at before (or after?) I just switch
> off the machine (and, later, try to fix my bugs).
> I don't care about (rebooting) the machine.
>
> lock 0x8029bd68 loop key 0xdeaddead pc 0x80104e08 held by pc 0x0104e08 proc 486
> 486: playlistfs pc 5311 dbgpc 139a Fault(Running) ut 0 st 0 bss c3000 qpc 0 nl 1 nd 0 lpc 80125c4e
> 486: playlistfs pc 5311 dbgpc 139a Fault(Running) ut 0 st 0 bss c3000 qpc 0 nl 1 nd 0 lpc 80125c4e
> (and here it repeats with the 'lock' line)

Lock loops mean that one process has been trying to get a (kernel) lock for a long time but never got it.
Could be that another process got stuck somewhere holding that lock.  The usb driver has a bad
reputation in this repect.

Locks record where they are acquired, so acid the kernel and find pc 0x0104e08.

	Sape



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9fans] lock loop messages (anything particular I should do?)
  2003-04-04 21:52 [9fans] lock loop messages (anything particular I should do?) Axel Belinfante
  2003-04-04 22:03 ` Sape Mullender
@ 2003-04-04 22:03 ` Axel Belinfante
  2003-04-04 22:12   ` Sape Mullender
  1 sibling, 1 reply; 6+ messages in thread
From: Axel Belinfante @ 2003-04-04 22:03 UTC (permalink / raw)
  To: 9fans

sorry. some typos in the numbers of last msg. the correct ones are:

lock 0x8029bd68 loop key 0xdeaddead pc 0x80104e08 held by pc 0x80104e08 proc 486
486: playlistfs pc 5311 dbgpc 1396a Fault(Running) ut 0 st 0 bss c3000 qpc 0 nl 1 nd 0 lpc 80125c4e
486: playlistfs pc 5311 dbgpc 1396a Fault(Running) ut 0 st 0 bss c3000 qpc 0 nl 1 nd 0 lpc 80125c4e
(and here it repeats with the 'lock' line)


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9fans] lock loop messages (anything particular I should do?)
  2003-04-04 22:03 ` Axel Belinfante
@ 2003-04-04 22:12   ` Sape Mullender
  2003-04-04 22:51     ` Axel Belinfante
  0 siblings, 1 reply; 6+ messages in thread
From: Sape Mullender @ 2003-04-04 22:12 UTC (permalink / raw)
  To: 9fans

> sorry. some typos in the numbers of last msg. the correct ones are:
>
> lock 0x8029bd68 loop key 0xdeaddead pc 0x80104e08 held by pc 0x80104e08 proc 486

The numbers are irrelevant to me.  You have to look at them through your kernel.

	Sape



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9fans] lock loop messages (anything particular I should do?)
  2003-04-04 22:12   ` Sape Mullender
@ 2003-04-04 22:51     ` Axel Belinfante
  2003-04-05  2:00       ` David Presotto
  0 siblings, 1 reply; 6+ messages in thread
From: Axel Belinfante @ 2003-04-04 22:51 UTC (permalink / raw)
  To: 9fans

> > lock 0x8029bd68 loop key 0xdeaddead pc 0x80104e08 held by pc 0x80104e08 pro
> c 486
>
> The numbers are irrelevant to me.  You have to look at them through
> your kernel.

Ok. I was wondering wether it meant something that the same pc number
appeared twice in the lock line. Or is it just one number that gets
printed twice?


Acid tells me:

term% acid 9pcdisk
9pcdisk:386 plan 9 boot image

/sys/lib/acid/port
/sys/lib/acid/386
acid: src(0x80104e08)
/sys/src/9/pc/mmu.c:332
 327
 328		mach0 = MACHP(0);
 329
 330		lock(&mmukmaplock);
 331
>332		if((pte = mmuwalk(mach0->pdb, va, 1, 0)) == nil){
 333			unlock(&mmukmaplock);
 334			return 0;
 335		}
 336		if(!(*pte & PTESIZE) && mmuwalk(mach0->pdb, va, 2, 0) == nil){
 337			unlock(&mmukmaplock);
acid:

My /sys/src/9/pc/mmu.c is of Apr 11 2002.
In case it helpful: I compiled that kernel on Feb 18 2003.


Axel.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9fans] lock loop messages (anything particular I should do?)
  2003-04-04 22:51     ` Axel Belinfante
@ 2003-04-05  2:00       ` David Presotto
  0 siblings, 0 replies; 6+ messages in thread
From: David Presotto @ 2003-04-05  2:00 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 253 bytes --]

Looks to me like lock(&mmukmaplock) should really be an ilock since
mmukmapsync() gets called by trap (i.e. in an interrupt) and by mmukmap()
called in upamalloc() (not necessarily in an interrupt).  I'll change it
and update.  Thanks for the report.

[-- Attachment #2: Type: message/rfc822, Size: 3633 bytes --]

From: Axel Belinfante <Axel.Belinfante@cs.utwente.nl>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] lock loop messages (anything particular I should do?)
Date: Sat, 05 Apr 2003 00:51:36 +0200
Message-ID: <200304042251.h34Mpb502659@zamenhof.cs.utwente.nl>

> > lock 0x8029bd68 loop key 0xdeaddead pc 0x80104e08 held by pc 0x80104e08 pro
> c 486
>
> The numbers are irrelevant to me.  You have to look at them through
> your kernel.

Ok. I was wondering wether it meant something that the same pc number
appeared twice in the lock line. Or is it just one number that gets
printed twice?


Acid tells me:

term% acid 9pcdisk
9pcdisk:386 plan 9 boot image

/sys/lib/acid/port
/sys/lib/acid/386
acid: src(0x80104e08)
/sys/src/9/pc/mmu.c:332
 327
 328		mach0 = MACHP(0);
 329
 330		lock(&mmukmaplock);
 331
>332		if((pte = mmuwalk(mach0->pdb, va, 1, 0)) == nil){
 333			unlock(&mmukmaplock);
 334			return 0;
 335		}
 336		if(!(*pte & PTESIZE) && mmuwalk(mach0->pdb, va, 2, 0) == nil){
 337			unlock(&mmukmaplock);
acid:

My /sys/src/9/pc/mmu.c is of Apr 11 2002.
In case it helpful: I compiled that kernel on Feb 18 2003.


Axel.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-04-05  2:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-04 21:52 [9fans] lock loop messages (anything particular I should do?) Axel Belinfante
2003-04-04 22:03 ` Sape Mullender
2003-04-04 22:03 ` Axel Belinfante
2003-04-04 22:12   ` Sape Mullender
2003-04-04 22:51     ` Axel Belinfante
2003-04-05  2:00       ` David Presotto

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).