Date: Thu, 26 Sep 2013 11:23:04 +0100 (BST) From: Anton Shterenlikht <mexas@bris.ac.uk> To: davide@freebsd.org, mexas@bris.ac.uk Cc: freebsd-current@freebsd.org, freebsd-ia64@freebsd.org Subject: Re: panic: ia64 r255811: deadlkres: possible deadlock detected for 0xe000000012d07b00, blocked for 902743 ticks Message-ID: <201309261023.r8QAN45I013218@mech-cluster241.men.bris.ac.uk> In-Reply-To: <CACYV=-EewOqmQDm4xoL2iTpLxaxVg-5e1uHGg4LHYxAphgVjow@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>From davide.italiano@gmail.com Wed Sep 25 19:00:09 2013 > >On Wed, Sep 25, 2013 at 5:30 PM, Anton Shterenlikht <mexas@bris.ac.uk> wrote: >> >From davide.italiano@gmail.com Wed Sep 25 16:12:47 2013 >>> >>>Can you please paste the output of 'show locks', 'show alllocks', >>>'show lockedvnods' at least? >>>Ideally you should provide all the informations listed here. >>>http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug-deadlocks.html >> >> ok, I'll need to study this. >> >> I've in the kernel: >> >> # Debugging support. Always need this: >> options KDB # Enable kernel debugger support. >> options KDB_TRACE # Print a stack trace for a panic. >> # For full debugger support use (turn off in stable branch): >> options DDB # Support DDB >> options GDB # Support remote GDB >> options DEADLKRES # Enable the deadlock resolver >> options INVARIANTS # Enable calls of extra sanity checking >> options INVARIANT_SUPPORT # required by INVARIANTS >> options WITNESS # Enable checks to detect deadlocks and cycles >> options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed >> options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones >> >> so I'm missing DEBUG_LOCKS, DEBUG_VFS_LOCKS and DIAGNOSTIC >> from the handbook list. >> >> What about all debug options in GENERIC which are >> not mentioned in your link? Specifically, do I need >> to have DEADLKRES? >> > >Yes, you need that option because it's DEADLKRES that triggers the panic. > >> I've never used trace. >> Also, I'm getting a panic, so cannot run ps, I think. >> > >You can run 'ps' from ddb prompt. >As an advice I suggest you to setup textdump(4) on your machine and >set up a script to gather the required informations, so that you can >get those informations pretty easily for report. The manpage has >detailed description about how to do this. Regarding textdump(4), I'm not clear where the following "scripts" should be located and used: *quote* EXAMPLES In the following example, the script kdb.enter.panic will run when the kernel debugger is entered as a result of a panic, enable output capture, dump several useful pieces of debugging information, and then invoke panic in order to force a kernel dump to be written out followed by a reboot: script kdb.enter.panic=textdump set; capture on; show allpcpu; bt; ps; alltrace; show alllocks; call doadump; reset In the following example, the script kdb.enter.witness will run when the kernel debugger is entered as a result of a witness violation, printing lock-related information for the user: script kdb.enter.witness=show locks These scripts may also be configured using the ddb(8) utility. *end quote* Are these ddb(8) commands? Or do I set these in /etc/rc.conf? Please advise Thanks Anton
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309261023.r8QAN45I013218>