Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jul 2009 14:48:11 +0200
From:      Attilio Rao <attilio@freebsd.org>
To:        Nick Esborn <nick@desert.net>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: threads/136345: Recursive read rwlocks in thread A cause deadlock with write lock in thread B
Message-ID:  <3bbf2fe10907160548l74de896bka609de7a9a994899@mail.gmail.com>
In-Reply-To: <3bbf2fe10907160526l2f066698qce8a5e77aee6366b@mail.gmail.com>
References:  <200907152140.n6FLe42l045879@freefall.freebsd.org> <3bbf2fe10907160526l2f066698qce8a5e77aee6366b@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
2009/7/16 Attilio Rao <attilio@freebsd.org>:
> 2009/7/15 Nick Esborn <nick@desert.net>:
>> The following reply was made to PR threads/136345; it has been noted by GNATS.
>>
>> From: Nick Esborn <nick@desert.net>
>> To: bug-followup@FreeBSD.org,
>>  rink@FreeBSD.org
>> Cc:
>> Subject: Re: threads/136345: Recursive read rwlocks in thread A cause deadlock with write lock in thread B
>> Date: Wed, 15 Jul 2009 14:32:38 -0700
>>
>>  This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
>>  --Apple-Mail-19-950902279
>>  Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
>>  Content-Transfer-Encoding: 7bit
>>
>>  Even after the above patch, I still run into occasional MySQL thread
>>  deadlocks, which I originally described in what is now threads/135673.
>>
>>  I also posted on freebsd-current a few days ago:
>>
>>    http://lists.freebsd.org/pipermail/freebsd-current/2009-July/009328.html
>>
>>  I'd be happy to collect whatever data would be helpful in tracking
>>  down this deadlock.  This only seems to happen under our production
>>  workload, so that might make it harder to capture meaningful debug
>>  data, but I'm certainly willing to try.  I can also arrange for
>>  developer access to the system in question, if that would help
>>  significantly.
>
> So did you backport this to 7 and still experience deadlocks?
> I just committed the fix to HEAD not to STABLE branch.

Ok, I got, you just upgraded.
Can you try the following things?:
- Upgrade to the -CURRENT of today
- Recompile the kernel with the following options:
KDB, DDB, SCHED_ULE, PREEMPTION, FULL_PREEMPTION, INVARIANT_SUPPORT,
INVARIANTS, WITNESS
- When the deadlock takes place break into DDB and please retrieve the
following info:
db> show allpcpu
db> ps
db> alltrace
db> show alllock

- Save them with a serial console output or using the textdump(4) format.

(if necessary read the ddb(4) and textdump(4) before to set up the
whole system).
This would shade a light if the problem lives within the kernel or not.

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein



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