From owner-freebsd-current@FreeBSD.ORG Wed Sep 17 07:00:18 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 52B2016A4BF for ; Wed, 17 Sep 2003 07:00:18 -0700 (PDT) Received: from mail.evip.pl (mail.evip.com.pl [212.244.157.179]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7007C43FAF for ; Wed, 17 Sep 2003 07:00:12 -0700 (PDT) (envelope-from w@evip.pl) Received: from drwebc by mail.evip.pl with drweb-scanned (Exim 4.22) id 19zcqn-0001TS-J1; Wed, 17 Sep 2003 16:00:09 +0200 Received: from w by mail.evip.pl with local (Exim 4.22) id 19zcqn-0001TM-Fu; Wed, 17 Sep 2003 16:00:09 +0200 Date: Wed, 17 Sep 2003 16:00:09 +0200 From: Wiktor Niesiobedzki To: Sam Leffler Message-ID: <20030917140009.GQ1054@mail.evip.pl> References: <20030915204410.GK1054@mail.evip.pl> <253838380.1063634907@melange.errno.com> <20030916132710.GL1054@mail.evip.pl> <323480099.1063704547@melange.errno.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <323480099.1063704547@melange.errno.com> User-Agent: Mutt/1.4i cc: current@freebsd.org Subject: Re: HEADS UP/STATUS: network locking X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Sep 2003 14:00:18 -0000 On Tue, Sep 16, 2003 at 09:29:07AM -0700, Sam Leffler wrote: > > Please send me your kernel config and tell me again exactly what fails. I > will try to reproduce your problem. > > Sam After your yesterday/today commits, I got panic while doing netstat -an. On the kernel from about two days ago, with manually added patches, the netstat command render system unusable (with netstat process in LOCK state, or, in other cases - (swi8: tty:sio clock) process in LOCK state). System has: dc0: <3Com OfficeConnect 10/100B> port 0xe400-0xe4ff mem 0xe9000000-0xe90003ff irq 10 at device 18.0 on pci0 rl0: port 0xe800-0xe8ff mem 0xe9001000-0xe90010ff irq 12 at device 19.0 on pci0 It acts as a home router to my DSL line (over PPPoE). If there's any other information I may provide, please let me know. Kernel config attached Cheers, Wiktor Niesiobędzki panic: page fault panic messages: --- Fatal trap 12: page fault while in kernel mode fault virtual address = 0x24 fault code = supervisor read, page not present instruction pointer = 0x8:0xc018a11b stack pointer = 0x10:0xcebaeae4 frame pointer = 0x10:0xcebaeaf8 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 2914 (sshd) trap number = 12 panic: page fault syncing disks, buffers remaining... 2236 2236 Fatal trap 12: page fault while in kernel mode fault virtual address = 0x24 fault code = supervisor read, page not present instruction pointer = 0x8:0xc018a11b stack pointer = 0x10:0xcd751c88 frame pointer = 0x10:0xcd751c9c code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 23 (irq12: rl0) trap number = 12 panic: page fault Uptime: 1h59m32s Dumping 256 MB 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 (kgdb) bt #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240 #1 0xc0194ef0 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:372 #2 0xc01952d8 in panic () at /usr/src/sys/kern/kern_shutdown.c:550 #3 0xc02a9e56 in trap_fatal (frame=0xcd751c48, eva=0) at /usr/src/sys/i386/i386/trap.c:818 #4 0xc02a9493 in trap (frame= {tf_fs = -1072037864, tf_es = 16, tf_ds = -847970288, tf_edi = 4, tf_esi = 16, tf_ebp = -847962980, tf_isp = -847963020, tf_ebx = 0, tf_edx = -1070828335, tf_ecx = -1030343792, tf_eax = 16, tf_trapno = 12, tf_err = 0, tf_eip = -1072127717, tf_cs = 8, tf_eflags = 66195, tf_esp = 1242790725, tf_ss = 66572650}) at /usr/src/sys/i386/i386/trap.c:251 #5 0xc02997a8 in calltrap () at {standard input}:102 #6 0xc018a559 in _mtx_lock_sleep (m=0x10, opts=0, file=0x0, line=0) at /usr/src/sys/kern/kern_mutex.c:635 #7 0xc017f014 in ithread_loop (arg=0xc0eac600) at /usr/src/sys/kern/kern_intr.c:533 #8 0xc017dcc1 in fork_exit (callout=0xc017ee50 , arg=0x0, frame=0x0) at /usr/src/sys/kern/kern_fork.c:796 (kgdb) fr 6 #6 0xc018a559 in _mtx_lock_sleep (m=0x10, opts=0, file=0x0, line=0) at /usr/src/sys/kern/kern_mutex.c:635 635 propagate_priority(td); (kgdb) l 635 630 * Save who we're blocked on. 631 */ 632 td->td_blocked = m; 633 td->td_lockname = m->mtx_object.lo_name; 634 TD_SET_LOCK(td); 635 propagate_priority(td); 636 637 if (LOCK_LOG_TEST(&m->mtx_object, opts)) 638 CTR3(KTR_LOCK, 639 "_mtx_lock_sleep: p %p blocked on [%p] %s", td, m, (kgdb) fr 4 #4 0xc02a9493 in trap (frame= {tf_fs = -1072037864, tf_es = 16, tf_ds = -847970288, tf_edi = 4, tf_esi = 16, tf_ebp = -847962980, tf_isp = -847963020, tf_ebx = 0, tf_edx = -1070828335, tf_ecx = -1030343792, tf_eax = 16, tf_trapno = 12, tf_err = 0, tf_eip = -1072127717, tf_cs = 8, tf_eflags = 66195, tf_esp = 1242790725, tf_ss = 66572650}) at /usr/src/sys/i386/i386/trap.c:251 251 trap_fatal(&frame, eva); (kgdb) p/x frame.tf_eip $1 = 0xc018a11b (kgdb) disass 0xc018a11b Dump of assembler code for function propagate_priority: 0xc018a090 : push %ebp 0xc018a091 : mov %esp,%ebp 0xc018a093 : push %edi 0xc018a094 : push %esi 0xc018a095 : push %ebx 0xc018a096 : sub $0x8,%esp 0xc018a099 : mov 0x8(%ebp),%ecx 0xc018a09c : movzbl 0xdd(%ecx),%esi 0xc018a0a3 : mov 0x5c(%ecx),%ebx 0xc018a0a6 : lea 0x0(%esi),%esi 0xc018a0a9 : lea 0x0(%edi,1),%edi 0xc018a0b0 : mov 0x1c(%ebx),%eax 0xc018a0b3 : mov $0x0,%ecx 0xc018a0b8 : cmp $0x4,%eax 0xc018a0bb : je 0xc018a0c5 0xc018a0bd : mov 0x1c(%ebx),%eax 0xc018a0c0 : mov %eax,%ecx 0xc018a0c2 : and $0xfffffffc,%ecx 0xc018a0c5 : test %ecx,%ecx 0xc018a0c7 : je 0xc018a18b 0xc018a0cd : movzbl 0xdd(%ecx),%eax 0xc018a0d4 : cmp %esi,%eax 0xc018a0d6 : jle 0xc018a18b 0xc018a0dc : cmpl $0x4,0xe4(%ecx) 0xc018a0e3 : jne 0xc018a0f2 0xc018a0e5 : mov %esi,%eax 0xc018a0e7 : mov %al,0xdd(%ecx) 0xc018a0ed : jmp 0xc018a18b 0xc018a0f2 : cmpl $0x3,0xe4(%ecx) 0xc018a0f9 : jne 0xc018a110 0xc018a0fb : mov %esi,%edx 0xc018a0fd : movzbl %dl,%eax 0xc018a100 : mov %eax,0x4(%esp,1) 0xc018a104 : mov %ecx,(%esp,1) 0xc018a107 : call 0xc01ab810 0xc018a10c : jmp 0xc018a18b 0xc018a10e : mov %esi,%esi 0xc018a110 : mov %esi,%eax 0xc018a112 : mov %al,0xdd(%ecx) 0xc018a118 : mov 0x5c(%ecx),%ebx 0xc018a11b : cmp 0x24(%ebx),%ecx 0xc018a11e : je 0xc018a0b0 0xc018a120 : mov 0x24(%ecx),%edi 0xc018a123 : mov 0x4(%edi),%eax 0xc018a126 : mov (%eax),%edx 0xc018a128 : movzbl 0xdd(%edx),%eax 0xc018a12f : cmp %esi,%eax 0xc018a131 : jle 0xc018a0b0 0xc018a137 : cmpl $0x0,0x20(%ecx) ---Type to continue, or q to quit--- 18a13b : je 0xc018a145 0xc018a13d : mov 0x20(%ecx),%eax 0xc018a140 : mov %edi,0x24(%eax) 0xc018a143 : jmp 0xc018a14b 0xc018a145 : mov 0x24(%ecx),%eax 0xc018a148 : mov %eax,0x28(%ebx) 0xc018a14b : mov 0x24(%ecx),%edx 0xc018a14e : mov 0x20(%ecx),%eax 0xc018a151 : mov %eax,(%edx) 0xc018a153 : mov 0x24(%ebx),%edx 0xc018a156 : test %edx,%edx 0xc018a158 : je 0xc018a172 0xc018a15a : lea 0x0(%esi),%esi 0xc018a160 : movzbl 0xdd(%edx),%eax 0xc018a167 : cmp %esi,%eax 0xc018a169 : jg 0xc018a172 0xc018a16b : mov 0x20(%edx),%edx 0xc018a16e : test %edx,%edx 0xc018a170 : jne 0xc018a160 0xc018a172 : mov 0x24(%edx),%eax 0xc018a175 : mov %eax,0x24(%ecx) 0xc018a178 : mov %edx,0x20(%ecx) 0xc018a17b : mov 0x24(%edx),%eax 0xc018a17e : mov %ecx,(%eax) 0xc018a180 : lea 0x20(%ecx),%eax 0xc018a183 : mov %eax,0x24(%edx) 0xc018a186 : jmp 0xc018a0b0 0xc018a18b : add $0x8,%esp 0xc018a18e : pop %ebx 0xc018a18f : pop %esi 0xc018a190 : pop %edi 0xc018a191 : pop %ebp 0xc018a192 : ret End of assembler dump.