From owner-freebsd-stable@FreeBSD.ORG Mon May 24 17:13:40 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DFDED106566B; Mon, 24 May 2010 17:13:39 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: from mail-pv0-f182.google.com (mail-pv0-f182.google.com [74.125.83.182]) by mx1.freebsd.org (Postfix) with ESMTP id A63178FC08; Mon, 24 May 2010 17:13:39 +0000 (UTC) Received: by pvh11 with SMTP id 11so587419pvh.13 for ; Mon, 24 May 2010 10:13:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:from:date:to:cc :subject:message-id:reply-to:references:mime-version:content-type :content-disposition:in-reply-to:user-agent; bh=qRtN5dMjL5O3fkhAkTNDOBOwIqPseYNlbImcwf4Hbv0=; b=pbk1krvx0NjmWje1r7wtwC01P5PldeEN8tBY1chkLDUY0RJf9R6kziwDH49h+WqNpX r5IjZxLaDOZcIz/WnS3LFImi8UYO2uyvMOxqcZfDBJORXROVI/Q35dcQkUAse0cLApLE VIXMIrY5YlqTtdEav1GvuFRCSrsFRpF09gSdE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:date:to:cc:subject:message-id:reply-to:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=Nl+7ZqTCUUUgecWBwR3NqyzjWIZlFi5lXtMdEXoq8b/xcZ9v7W6yywD1NqAusplHjy AODMmkUBMY4c/VHwvJ55dxZNqv4DHSvMTU6n4PUFFFIyvX4qVPOIu/gSLymlNBu9i5tz lKsENaRqM/y22OWM7wWieP4tvo50X38vPhC1s= Received: by 10.115.114.21 with SMTP id r21mr5111034wam.132.1274721218636; Mon, 24 May 2010 10:13:38 -0700 (PDT) Received: from pyunyh@gmail.com ([174.35.1.224]) by mx.google.com with ESMTPS id n29sm39901738wae.16.2010.05.24.10.13.37 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 24 May 2010 10:13:37 -0700 (PDT) Received: by pyunyh@gmail.com (sSMTP sendmail emulation); Mon, 24 May 2010 10:12:11 -0700 From: Pyun YongHyeon Date: Mon, 24 May 2010 10:12:10 -0700 To: John Baldwin Message-ID: <20100524171210.GA1418@michelle.cdnetworks.com> References: <77DFF2E5-7A1E-4063-A852-2C7AD9BC3DD4@gmail.com> <201005240948.33555.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201005240948.33555.jhb@freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: Nikolay Denev , freebsd-stable@freebsd.org Subject: Re: if_sge related panics X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pyunyh@gmail.com List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 May 2010 17:13:40 -0000 On Mon, May 24, 2010 at 09:48:33AM -0400, John Baldwin wrote: > On Monday 24 May 2010 6:35:01 am Nikolay Denev wrote: > > On May 24, 2010, at 8:57 AM, Nikolay Denev wrote: > > > > > Hi, > > > > > > Recently I started to experience a if_sge(4) related panic. > > > It happens almost every time I try to download a torrent file for example. > > > Copying of large files over NFS seem not to trigger it, but I haven't tested extensively. > > > > > > Here is the panic message : > > > > > > Fatal trap 12: page fault while in kernel mode > > > cpuid = 0; apic id = 00 > > > fault virtual address = 0x8 > > > fault code = supervisor write data, page not present > > > instruction pointer = 0x20:0xffffffff80230413 > > > stack pointer = 0x28:0xffffff80001e9280 > > > frame pointer = 0x28:0xffffff80001e9510 > > > code segment = base 0x0, limit 0xfffff, type 0x1b > > > = DPL 0, pres 1, long 1, def32 0, gran 1 > > > processor eflags = interrupt enabled, resume, IOPL = 0 > > > current process = 12 (irq19: sge0) > > > trap number = 12 > > > panic: page fault > > > cpuid = 0 > > > Uptime: 1d20h56m20s > > > Cannot dump. Device not defined or unavailable > > > Automatic reboot in 15 seconds - press a key on the console to abort > > > Sleeping thread (tid 100039, pid 12) owns a non-sleepable lock > > > > > > My swap is on a zvol, so I don't have dump. I'll try to attach a disk on the eSATA port and dump there if needed. > > > > Here is some info from the crashdump : > > > > (kgdb) #0 doadump () at pcpu.h:223 > > #1 0xffffffff802fb149 in boot (howto=260) > > at /usr/src/sys/kern/kern_shutdown.c:416 > > #2 0xffffffff802fb57c in panic (fmt=0xffffffff8055d564 "%s") > > at /usr/src/sys/kern/kern_shutdown.c:590 > > #3 0xffffffff805055b8 in trap_fatal (frame=0xffffff000288a3e0, eva=Variable "eva" is not available. > > ) > > at /usr/src/sys/amd64/amd64/trap.c:777 > > #4 0xffffffff805059dc in trap_pfault (frame=0xffffff80001e91d0, usermode=0) > > at /usr/src/sys/amd64/amd64/trap.c:693 > > #5 0xffffffff805061c5 in trap (frame=0xffffff80001e91d0) > > at /usr/src/sys/amd64/amd64/trap.c:451 > > #6 0xffffffff804eb977 in calltrap () > > at /usr/src/sys/amd64/amd64/exception.S:223 > > #7 0xffffffff80230413 in sge_start_locked (ifp=0xffffff000270d800) > > at /usr/src/sys/dev/sge/if_sge.c:1591 > > Try this. sge_encap() can sometimes return an error with m_head set to NULL: > Thanks John. Committed in r208512. > Index: if_sge.c > =================================================================== > --- if_sge.c (revision 208375) > +++ if_sge.c (working copy) > @@ -1588,7 +1588,8 @@ > if (m_head == NULL) > break; > if (sge_encap(sc, &m_head)) { > - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); > + if (m_head != NULL) > + IFQ_DRV_PREPEND(&ifp->if_snd, m_head); > ifp->if_drv_flags |= IFF_DRV_OACTIVE; > break; > } > > -- > John Baldwin