> Can you add some more yourself ? We need to find out where Giant > is lost, it is picked up here: > > case MD_VNODE: > mtx_lock(&Giant); > hasgiant = 1; > break; > > And only dropped again when we exit. > > Somehow it gets lost on your machine and there is nothing but for us > to find out where. > > Can you try if you can reproduce it with WITNESS enabled ? First, I want to tell that I have triggered the panic even with softupdates disabled. When I first tried it, I thought the panic was occuring immediately on creation of the first md(4) device, therefore when I succeeded in creating /dev/md0 with a non-softupdates filesystem, I believed this was related. In fact, I think now it's clearly a race condition since the panic is not reproducible in a deterministic way. Sometimes it occurs on the first creation of a md(4) device, sometimes I have to create up to 4 devices to get it triggered. While talking about WITNESS, I checked my kernel config and remembered that FULL_PREEMPTION is on. The panic disappeared when I turned off the latter : I managed to create up to about 16 md(4) devices. I know this should not be enabled for users, but I'm interested in "exposing race conditions" as said in the comment. I think you don't really have time to fix this kind of bugs caused by FULL_PREEMPTION so I'll try myself. I'm sorry for wasting your time. FYI, here is my kernel configuration: %%% options PREEMPTION options FULL_PREEMPTION options MUTEX_DEBUG options KDB options DDB options INVARIANT_SUPPORT options INVARIANTS options DIAGNOSTIC options WITNESS options WITNESS_KDB options SCHED_ULE %%% Following some advices from a friend of mine, I'm going to give a try to the KTR tracing facility. First I wanted to set a watchpoint on Giant, but I've been told that this feature is not very efficient and furthermore I'm dreading that Giant might be used many times a second. Advices and help are of course welcome. -- Jeremie Le Hen jeremie_at_le-hen.orgReceived on Mon Jan 24 2005 - 12:46:00 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:26 UTC