Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Aug 2011 14:12:31 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Steven Hartland <killing@multiplay.co.uk>
Cc:        freebsd-stable@FreeBSD.org
Subject:   Re: debugging frequent kernel panics on 8.2-RELEASE
Message-ID:  <4E4BA21F.6010805@FreeBSD.org>
In-Reply-To: <6A7238AED44542A880B082A40304D940@multiplay.co.uk>
References:  <47F0D04ADF034695BC8B0AC166553371@multiplay.co.uk><A71C3ACF01EC4D36871E49805C1A5321@multiplay.co.uk><4E4380C0.7070908@FreeBSD.org><EBC06A239BAB4B3293C28D793329F9CA@multiplay.co.uk> <4E43E272.1060204@FreeBSD.org> <62BF25D0ED914876BEE75E2ADF28DDF7@multiplay.co.uk> <4E440865.1040500@FreeBSD.org> <6F08A8DE780545ADB9FA93B0A8AA4DA1@multiplay.co.uk> <4E441314.6060606@FreeBSD.org> <2C4B0D05C8924F24A73B56EA652FA4B0@multiplay.co.uk> <4E48D967.9060804@FreeBSD.org> <9D034F992B064E8092E5D1D249B3E959@multiplay.co.uk> <4E490DAF.1080009@FreeBSD.org> <796FD5A096DE4558B57338A8FA1E125B@multiplay.co.uk> <4E491D01.1090902@FreeBSD.org> <570C5495A5E242F7946E806CA7AC5D68@multiplay.co.uk> <4E4AD35C.7020504@FreeBSD.org> <6A7238AED44542A880B082A40304D940@multiplay.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
on 16/08/2011 23:43 Steven Hartland said the following:
> 
> ----- Original Message ----- From: "Andriy Gapon" <avg@FreeBSD.org>
> To: "Steven Hartland" <killing@multiplay.co.uk>
> Cc: <freebsd-stable@FreeBSD.org>
> Sent: Tuesday, August 16, 2011 9:30 PM
> Subject: Re: debugging frequent kernel panics on 8.2-RELEASE
> 
> 
>> on 15/08/2011 17:56 Steven Hartland said the following:
>>> (kgdb) x/512a 0xffffff8d8f357210
>> [snip]
>>
>> Can you please also provide the following for this core?
>> list *vm_map_growstack+93
>> list *lim_cur+17
>> list *lim_rlimit+18
>>
>> Also, it would be interesting to get panic output with DDB option.
> 
> Here's the info:-
> 
> (kgdb) list *vm_map_growstack+93
> 0xffffffff80543ffd is in vm_map_growstack (/usr/src/sys/vm/vm_map.c:3305).
> 3300            struct uidinfo *uip;
> 3301
> 3302    Retry:
> 3303            PROC_LOCK(p);
> 3304            stacklim = lim_cur(p, RLIMIT_STACK);
> 3305            vmemlim = lim_cur(p, RLIMIT_VMEM);
> 3306            PROC_UNLOCK(p);
> 3307
> 3308            vm_map_lock_read(map);
> 3309
> (kgdb) list *lim_cur+17
> 0xffffffff80384681 is in lim_cur (/usr/src/sys/kern/kern_resource.c:1150).
> 1145    rlim_t
> 1146    lim_cur(struct proc *p, int which)
> 1147    {
> 1148            struct rlimit rl;
> 1149
> 1150            lim_rlimit(p, which, &rl);
> 1151            return (rl.rlim_cur);
> 1152    }
> 1153
> 1154    /*
> (kgdb) list *lim_rlimit+18
> 0xffffffff80384632 is in lim_rlimit (/usr/src/sys/kern/kern_resource.c:1165).
> 1160    {
> 1161
> 1162            PROC_LOCK_ASSERT(p, MA_OWNED);
> 1163            KASSERT(which >= 0 && which < RLIM_NLIMITS,
> 1164                ("request for invalid resource limit"));
> 1165            *rlp = p->p_limit->pl_rlimit[which];
> 1166            if (p->p_sysent->sv_fixlimit != NULL)
> 1167                    p->p_sysent->sv_fixlimit(rlp, which);
> 1168    }
> 1169
> 
> I've yet to have the machine with DDB + expanded stack panic.
> 
> I plan to leave it a day or so more then try a reboot to see if that
> triggers it. If not I'll drop the stack back down to 4 and see if that
> enables us to get another panic.

OK, thank you for continuing to debug this!
Another request: could you please execute the following commands in kgdb on the
above core file?

define allpcpu
set $i = 0
while ($i <= mp_maxid)
p *cpuid_to_pcpu[$i]
set $i = $i + 1
end
end
allpcpu


A little bit later I will send you another patch that, I hope, will produce better
diagnostics for this crash (without DDB in kernel).

-- 
Andriy Gapon



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