From owner-freebsd-bugs@FreeBSD.ORG Tue Jun 9 19:40:02 2009 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFEF11065670 for ; Tue, 9 Jun 2009 19:40:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id CA5958FC26 for ; Tue, 9 Jun 2009 19:40:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n59Je23c087065 for ; Tue, 9 Jun 2009 19:40:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n59Je2Du087064; Tue, 9 Jun 2009 19:40:02 GMT (envelope-from gnats) Resent-Date: Tue, 9 Jun 2009 19:40:02 GMT Resent-Message-Id: <200906091940.n59Je2Du087064@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Mukosi Abraham Mukwevho Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7EE33106564A for ; Tue, 9 Jun 2009 19:36:11 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 6C3A68FC12 for ; Tue, 9 Jun 2009 19:36:11 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n59JaBrV067514 for ; Tue, 9 Jun 2009 19:36:11 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id n59JaBFZ067513; Tue, 9 Jun 2009 19:36:11 GMT (envelope-from nobody) Message-Id: <200906091936.n59JaBFZ067513@www.freebsd.org> Date: Tue, 9 Jun 2009 19:36:11 GMT From: Mukosi Abraham Mukwevho To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/135421: FreeBSD Xen PVM DomU network failure - netfronc.c driver crashes when downloading/uploading files X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Jun 2009 19:40:03 -0000 >Number: 135421 >Category: kern >Synopsis: FreeBSD Xen PVM DomU network failure - netfronc.c driver crashes when downloading/uploading files >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jun 09 19:40:02 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Mukosi Abraham Mukwevho >Release: 8.0-CURRENT-200905 (May 5th) >Organization: University of South Africa >Environment: FreeBSD Environment: # uname -a FreeBSD 8.0-CURRENT-200905 FreeBSD 8.0-CURRENT-200905 #1: Mon Jun 8 21:11:26 SAST 2009 root@:/usr/obj/usr/src/sys/XEN i386 # Dom0 is a Linux CentOS 5.3 x86_64 as follows: [root@viNEX ~]# uname -a Linux viNEX.net 2.6.18.8-xen #1 SMP Sat Jun 6 22:01:16 SAST 2009 x86_64 x86_64 x86_64 GNU/Linux [root@viNEX ~]# >Description: I booted a Xen PVM DomU kernel using the latest FreeBSD-8.0-CURRENT cd, all seemed fine until I tried to configure networking on interface xn0 to connect direct with Dom0. The interface was up and I managed to connect using sftp to the Dom0. I tried to download a 4.9MB file to the dom0 and noticed the xn0 failing. It started with bandwidth of about 1.8MB/s and it fell down slowly until in reached about 6KB/s and then the interface crashed. The interface xn0 failed with the following error message: # # sftp root@10.0.1.1 Connecting to 10.0.1.1... root@10.0.1.1's password: sftp> put kernel Uploading kernel to /root/kernel kernel 65% 2880KB 6.5KB/s 03:49 ETAKernel page fault with the following non-sleepable locks held: exclusive sleep mutex xennetif_rx (network receive lock) r = 0 (0xc18560b4) locked @ /usr/src/sys/dev/xen/netfront/netfront.c:1123 KDB: stack backtrace: X_db_sym_numargs(c035d3eb,cbe5eaf0,c0111c65,c037f573,463,...) at X_db_sym_numargs+0x146 kdb_backtrace(c037f573,463,ffffffff,c050ce0c,cbe5eb28,...) at kdb_backtrace+0x29 witness_display_spinlock(c035f708,cbe5eb3c,4,1,0,...) at witness_display_spinlock+0x75 witness_warn(5,0,c0387853,c0880108,c,...) at witness_warn+0x1fd trap(cbe5ebc4) at trap+0x10e alltraps(c1856000,cbe5ecc8,c00c39a4,c03d0bc0,c1704ab8,...) at alltraps+0x1b intr_event_execute_handlers(c17077ec,c1704a80,c035601d,4dd,c1704af0,...) at intr_event_execute_handlers+0x125 intr_event_add_handler(c1766460,cbe5ed38,c0355d8c,32d,c17077ec,...) at intr_event_add_handler+0x41f fork_exit(c00afe30,c1766460,cbe5ed38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xcbe5ed70, ebp = 0 --- Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x0 fault code = supervisor write, page not present instruction pointer = 0x21:0xc0300f27 stack pointer = 0x29:0xcbe5ec04 frame pointer = 0x29:0xcbe5eca0 code segment = base 0x0, limit 0xf9800, type 0x1b = DPL 1, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 12 (irq134: xn) [thread pid 12 tid 100023 ] Stopped at xlvbd_add+0x3747: movl %edx,0(%esi) db> >How-To-Repeat: (1) Boot a FreeBSD XEN DomU and logon to it and configure networking between DomU and Dom0 (2) Inside the DomU Locate a file which is reasonably bigger, it this case I used the "kernel" file which was about 4.7MB. (3) From inside the DomU, connect to Dom0 using a file transferring tool such as 'sftp'. (4) Upload the file using the put command. (5) The speed shown by sftp fall down sharply from 1.8MB/s down to about 6KB/s and then the network interface crashes with the following error message: kernel 65% 2880KB 6.5KB/s 03:49 ETAKernel page fault with the following non-sleepable locks held: exclusive sleep mutex xennetif_rx (network receive lock) r = 0 (0xc18560b4) locked @ /usr/src/sys/dev/xen/netfront/netfront.c:1123 KDB: stack backtrace: X_db_sym_numargs(c035d3eb,cbe5eaf0,c0111c65,c037f573,463,...) at X_db_sym_numargs+0x146 kdb_backtrace(c037f573,463,ffffffff,c050ce0c,cbe5eb28,...) at kdb_backtrace+0x29 witness_display_spinlock(c035f708,cbe5eb3c,4,1,0,...) at witness_display_spinlock+0x75 witness_warn(5,0,c0387853,c0880108,c,...) at witness_warn+0x1fd trap(cbe5ebc4) at trap+0x10e alltraps(c1856000,cbe5ecc8,c00c39a4,c03d0bc0,c1704ab8,...) at alltraps+0x1b intr_event_execute_handlers(c17077ec,c1704a80,c035601d,4dd,c1704af0,...) at intr_event_execute_handlers+0x125 intr_event_add_handler(c1766460,cbe5ed38,c0355d8c,32d,c17077ec,...) at intr_event_add_handler+0x41f fork_exit(c00afe30,c1766460,cbe5ed38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xcbe5ed70, ebp = 0 --- Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x0 fault code = supervisor write, page not present instruction pointer = 0x21:0xc0300f27 stack pointer = 0x29:0xcbe5ec04 frame pointer = 0x29:0xcbe5eca0 code segment = base 0x0, limit 0xf9800, type 0x1b = DPL 1, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 12 (irq134: xn) [thread pid 12 tid 100023 ] Stopped at xlvbd_add+0x3747: movl %edx,0(%esi) db> >Fix: >Release-Note: >Audit-Trail: >Unformatted: