Date: Tue, 9 Jun 2009 19:36:11 GMT From: Mukosi Abraham Mukwevho <mukosi@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/135421: FreeBSD Xen PVM DomU network failure - netfronc.c driver crashes when downloading/uploading files Message-ID: <200906091936.n59JaBFZ067513@www.freebsd.org> Resent-Message-ID: <200906091940.n59Je2Du087064@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906091936.n59JaBFZ067513>