Server with 3TB Crashing at boot

Konstantin Belousov kostikbel at gmail.com
Mon Mar 16 15:40:29 UTC 2015


On Mon, Mar 16, 2015 at 03:29:42PM +0100, Michael Fuckner wrote:
> On 03/16/2015 11:53 AM, Konstantin Belousov wrote:
> > On Mon, Mar 16, 2015 at 11:36:47AM +0100, Michael Fuckner wrote:
> >> On 03/16/2015 11:31 AM, Konstantin Belousov wrote:
> >>> On Mon, Mar 16, 2015 at 11:17:08AM +0100, Michael Fuckner wrote:
> >>>> Just generated, anything I should test in debugger?
> >>>> Else I'll do the same with STABLE next.
> >>> With stable, it is only interesting if 'fault' lines are gone.
> >>>
> >>>>
> >>>> http://dedi3.fuckner.net/~molli123/temp/head.txt
> >>>>
> >>>> doing minimal network traffic causes the kernel to panic.
> >>> Please do the following:
> >>> gdb kernel.debug (your kernel should be build with makeoptions	DEBUG=-g)
> >>> in gdb do
> >>> (gdb) list *dmar_bus_dmamap_load_buffer+0x53
> >>>
> >>
> >> http://dedi3.fuckner.net/~molli123/temp/gdb.txt <- is this what you need?
> >
> > No.  gdb must be run on the live system, at the shell prompt.  You did it
> > from the ddb.
> 
> root at s4l:~ # gdb head-kernel.debug
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain 
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "amd64-marcel-freebsd"...
> (gdb) list *dmar_bus_dmamap_load_buffer+0x53
> 0xffffffff80e7dd43 is in dmar_bus_dmamap_load_buffer 
> (/usr/src-head/sys/x86/iommu/busdma_dmar.c:656).
> 651		map = (struct bus_dmamap_dmar *)map1;
> 652		pstart = trunc_page((vm_offset_t)buf);
> 653		pend = round_page((vm_offset_t)buf + buflen);
> 654		offset = (vm_offset_t)buf & PAGE_MASK;
> 655		ma_cnt = OFF_TO_IDX(pend - pstart);
> 656		ma = malloc(sizeof(vm_page_t) * ma_cnt, M_DEVBUF, map->cansleep ?
> 657		    M_WAITOK : M_NOWAIT);
> 658		if (ma == NULL)
> 659			return (ENOMEM);
> 660		if (dumping) {
> (gdb) root at s4l:~ # logout
> 
> 
> 
> kernel crashed instantly with the patches, bu maybe I made a mistake, 
> serial was doing strange things. Recompiling now and booting again. I'll 
> keep you updated.
Try to apply only the first patch for now, keeping the second (leaky patch)
out of scope.



More information about the freebsd-hackers mailing list