9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Venkatesh Srinivas <me@acm.jhu.edu>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] fossil 'sync' lockup?
Date: Sun,  6 Sep 2009 12:19:08 -0400	[thread overview]
Message-ID: <f75780240909060919n7a504104kb86b0bea5b46d741@mail.gmail.com> (raw)
In-Reply-To: <dd2fe088386e0d018a2866f374be4eba@quanstro.net>

On Sun, Sep 6, 2009 at 11:54 AM, erik quanstrom<quanstro@quanstro.net> wrote:
>> I executed the fossil 'sync' command when my terminal was under
>> moderate I/O load earlier today. Fossil seems to have locked up. Has
>> anyone seen anything like this?

The locking I can see along the path of 'sync' is vtlock (exclusive
lock) of the Epoch lock in fsSync, the per-file locks in
fileMetaFlush, and the cache's dirty lock and main lock in cacheFlush.
Luckily VtLocks know their holder...

Why are VtLocks in liboventi? And why does liboventi have an
implementation of a subset of the thread library (rwlocks and
rendezvous?)

>> I have a dump of the first 256mb of kernel memory and all physical
>> memory. Are there any structures that are kept at reasonably constant
>> places in memory, so that I can start trawling them to see what fossil
>> was doing when it died?
>
> how did you generate this dump?  i've never done that.

I was running my terminal in qemu. Switch to the monitor, pmemsave and memsave.

> the short answer is that any non-automatic variables have
> fixed address.  for example, the process table is here
> port/proc.c:/^procalloc in .arena

Okay, thanks! Luckily nm worked with 9pcf and I found procalloc; I was
going to start at the mach structure (always at KZERO + 0x15000) ,
find the current process structure's address, and then trawl memory
for processes around it till I found fossil.

> i hope i'm missing something.

I hope so too. grep and seeking to the right offsets in a dump was not
my least favorite thing ever, but its close.

Thanks,
-- vs



  reply	other threads:[~2009-09-06 16:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-06 15:00 Venkatesh Srinivas
2009-09-06 15:54 ` erik quanstrom
2009-09-06 16:19   ` Venkatesh Srinivas [this message]
2009-09-07 13:54     ` erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f75780240909060919n7a504104kb86b0bea5b46d741@mail.gmail.com \
    --to=me@acm.jhu.edu \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).