From owner-freebsd-bugs@FreeBSD.ORG Wed Mar 23 16:16:00 2005 Return-Path: Delivered-To: freebsd-bugs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A7ADC16A4CE for ; Wed, 23 Mar 2005 16:16:00 +0000 (GMT) Received: from gandalf.osk.com.ua (osk.com.ua [195.5.17.76]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3870843D2D for ; Wed, 23 Mar 2005 16:15:58 +0000 (GMT) (envelope-from subscriber@osk.com.ua) Received: from oleg.osk.lan (unknown [192.168.0.20]) by gandalf.osk.com.ua (Postfix) with ESMTP id B014978C54; Wed, 23 Mar 2005 18:16:19 +0200 (EET) Date: Wed, 23 Mar 2005 18:17:42 +0200 From: Oleg Tarasov X-Mailer: The Bat! (v3.0.1.33) Professional X-Priority: 3 (Normal) Message-ID: <1101884216.20050323181742@osk.com.ua> To: Bruce Evans In-Reply-To: <20050323235823.E19701@epsplex.bde.org> References: <815955888.20050323113529@osk.com.ua> <20050323235823.E19701@epsplex.bde.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: freebsd-bugs@FreeBSD.org Subject: Re: sio interrupt-level buffer overflows X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: FreeBSD MailList List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2005 16:16:00 -0000 Hello, Bruce Evans wrote: > Working flow control might mask the kernel bug causing this. Are you using > pppd's crtscts option? If things used to work, then the problem might be > amplified by the new modem not having working flow control. Yes, I have the option crtscts. But this model must have working flow control - it was tested for it (as I know). About my panics. They persist and when this server panics it somehow overloads my network so it stops functioning until reboot. This is very, very bad. Maybe you could tell me where to write, or you could personally tell me what should I do. Using all my theoretical skills I have come to this data I could obtain from my dump: (kgdb) backtrace #0 doadump () at pcpu.h:159 #1 0xc060b063 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:397 #2 0xc060b389 in panic (fmt=0xc080321d "spin lock held too long") at /usr/src/sys/kern/kern_shutdown.c:553 #3 0xc060270c in _mtx_lock_spin (m=0xc08d7800, td=0xc19ca320, opts=0, file=0x0, line=0) at /usr/src/sys/kern/kern_mutex.c:613 #4 0xc077c165 in siointr (arg=0xc1ab8800) at /usr/src/sys/dev/sio/sio.c:1710 #5 0xc0790ead in intr_execute_handlers (isrc=0xc19b8890, iframe=0xd541ac94) at /usr/src/sys/i386/i386/intr_machdep.c:203 #6 0xc07932be in lapic_handle_intr (frame= {if_vec = 52, if_fs = -717160424, if_es = -1067384816, if_ds = 16, if_edi = -1046699232, if_esi = -1064591424, if_ebp = -717116188, if_ebx = -1046425600, if_edx = -1064566184, if_ecx = 0, if_eax = -1046425600, if_eip = -1067440569, if _cs = 8, if_eflags = 582, if_esp = -1045200000, if_ss = 4}) at /usr/src/sys/i386/i386/local_apic.c:490 #7 0xc078d753 in Xapic_isr1 () at apic_vector.s:110 #8 0x00000034 in ?? () #9 0xd5410018 in ?? () #10 0xc0610010 in coredump (td=0xc08b9fc0) at vnode_if.h:1244 #11 0xc05f6f46 in ithread_loop (arg=0xc1981c80) at /usr/src/sys/kern/kern_intr.c:546 #12 0xc05f6001 in fork_exit (callout=0xc05f6df8 , arg=0xc1981c80, frame=0xd541ad48) at /usr/src/sys/kern/kern_fork.c:811 #13 0xc078d3fc in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:209 (kgdb) list *0xc077c165 0xc077c165 is in siointr (/usr/src/sys/dev/sio/sio.c:1710). 1705 1706 #ifndef COM_MULTIPORT 1707 com = (struct com_s *)arg; 1708 1709 mtx_lock_spin(&sio_lock); 1710 siointr1(com); 1711 mtx_unlock_spin(&sio_lock); 1712 #else /* COM_MULTIPORT */ 1713 bool_t possibly_more_intrs; 1714 int unit; (kgdb) list *0xc060270c 0xc060270c is in _mtx_lock_spin (cpufunc.h:305). 300 } 301 302 static __inline void 303 ia32_pause(void) 304 { 305 __asm __volatile("pause"); 306 } 307 308 static __inline u_int 309 read_eflags(void) (kgdb) list *0xc060b389 0xc060b389 is at /usr/src/sys/kern/kern_shutdown.c:553. 548 mtx_lock_spin(&sched_lock); 549 td->td_flags |= TDF_INPANIC; 550 mtx_unlock_spin(&sched_lock); 551 if (!sync_on_panic) 552 bootopt |= RB_NOSYNC; 553 boot(bootopt); 554 } 555 556 /* 557 * Support for poweroff delay. (kgdb) list *0xc07932be 0xc07932be is in lapic_handle_intr (/usr/src/sys/i386/i386/local_apic.c:491). 486 487 if (frame.if_vec == -1) 488 panic("Couldn't get vector from ISR!"); 489 isrc = intr_lookup_source(apic_idt_to_irq(frame.if_vec)); 490 intr_execute_handlers(isrc, &frame); 491 } 492 493 /* Translate between IDT vectors and IRQ vectors. */ 494 u_int 495 apic_irq_to_idt(u_int irq) -- Best regards, Oleg Tarasov mailto:subscriber@osk.com.ua