Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Nov 2005 16:01:36 +0100 (CET)
From:      "Lars Kristiansen" <lars+lister.freebsd@adventuras.no>
To:        freebsd-stable@freebsd.org
Subject:   Re: Swapfile problem in 6?
Message-ID:  <54759.213.236.228.129.1132153296.squirrel@mail.adventuras.no>
In-Reply-To: <20051115103821.GJ39882@cirb503493.alcatel.com.au>
References:  <20051115065740.GH39882@cirb503493.alcatel.com.au> <20051115100813.74195.qmail@web36214.mail.mud.yahoo.com> <20051115103821.GJ39882@cirb503493.alcatel.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
> On Tue, 2005-Nov-15 02:08:12 -0800, Rob wrote:
>> makeoptions DEBUG=-g
>> options INVARIANTS
>> options WITNESS
>> options WITNESS_KDB
>> options KDB
>> options DDB
>> options DDB_NUMSYM
>> options GDB
>>
>>Is that enough?
>
> If your system is headless, you probably want 'options BREAK_TO_DEBUGGER'
> as well.
>
> First question is: Does the system still deadlock?  INVARIANTS and
> WITNESS will have added sanity checks which might have picked up the
> problem.
>
>>1) Can I debug a kernel that does not crash, but
>>   just hangs in a deadlock? Everything seems to
>>   be frozen, except pinging the PC....
>
> Have a look at
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug-online-ddb.html
> and ddb(4).  Unless you have another system handy, you might like to print
> out ddb(4) - it's difficult to read man pages when you're in the kernel
> debugger :-).
>
>>2) Is such debugging possible on a headless PC
>>   without a keyboard attached?
>>   I do have serial console access.
>
> Yes.  See above URL.  The advantage is that you can (hopefully)
> capture a log of your debug session.  Send a serial BREAK and you
> should get a DDB> prompt.
>
> Basically, wait until your system deadlocks.  BREAK into DDB.
> As a start, run 'show lockedvnods', 'ps'.  My guess is that you'll
> see a lock that has a number of waiters - which is probably the
> culprit.  Use 'panic' to get a crashdump and then you can use kgdb
> to rummage around once you reboot - see
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug-gdb.html
>
> If in doubt, post the output from the above commands here and someone
> will hopefully provide further input.

Hello again, I am the "me too"-guy with console-access.
I am not a programmer and it is the first time I see debugging screen.

It deadlocked again, and I did as advised above:
(ddb: show lockedvnods; ps ; panic)
 but did not understand much of the output.
 Looked maybe like syncer and swap_pager was locked?
Do i need to write all this down or can I get the output saved somewhere?

I got a 32MB coredump but the same lack of understanding applies.

Please tell me if I can be of any help! This is fun.
--
Lars

>
> --
> Peter Jeremy
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54759.213.236.228.129.1132153296.squirrel>