From owner-freebsd-current@FreeBSD.ORG Mon Aug 31 20:26:56 2009 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 69854106566C for ; Mon, 31 Aug 2009 20:26:56 +0000 (UTC) (envelope-from ubm@u-boot-man.de) Received: from mail.upper.net (mail.upper.net [62.75.224.33]) by mx1.freebsd.org (Postfix) with ESMTP id 037F28FC18 for ; Mon, 31 Aug 2009 20:26:55 +0000 (UTC) Received: from ubm.mine.nu (mail.upper.net [62.75.224.33]) (authenticated bits=0) by mail.upper.net (8.12.10/8.12.10/SuSE Linux 0.7) with ESMTP id n7VKQoBv019134 for ; Mon, 31 Aug 2009 22:26:51 +0200 Received: from ubm.mine.nu ([85.181.48.119] helo=ubm.mine.nu) by ASSP.nospam.UpPeRnEt; 31 Aug 2009 22:26:50 +0200 Date: Mon, 31 Aug 2009 22:26:50 +0200 From: Marc "UBM" Bocklet To: current@freebsd.org Message-Id: <20090831222650.45b6c806.ubm@u-boot-man.de> In-Reply-To: <200908241631.06112.jhb@freebsd.org> References: <20090822115958.f93fcf29.ubm.freebsd@gmail.com> <200908241631.06112.jhb@freebsd.org> X-Mailer: Sylpheed 2.7.0 (GTK+ 2.16.4; i386-portbld-freebsd8.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Mon, 31 Aug 2009 20:28:17 +0000 Cc: Subject: Re: panic: apic_free_vector: Thread already bound. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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: Mon, 31 Aug 2009 20:26:56 -0000 On Mon, 24 Aug 2009 16:31:05 -0400 John Baldwin wrote: > On Saturday 22 August 2009 5:59:58 am Marc UBM wrote: > > > > Hiho! :-) > > > > I'm seeing above panic in the final stages of the shutdown process. > > Coredump is available, bt as follows, textdump attached. > > > > > > FreeBSD hamstor 8.0-BETA2 FreeBSD 8.0-BETA2 #14: Wed Aug 19 22:43:17 > > CEST 2009 oni0@hamstor:/usr/obj/usr/src/sys/HAMSTOR amd64 > > > > > > (kgdb) bt > > #0 doadump () at pcpu.h:223 > > #1 0xffffffff801b561c in db_fncall (dummy1=Variable "dummy1" is not > > #available. > > ) at /usr/src/sys/ddb/db_command.c:548 > > #2 0xffffffff801b5951 in db_command (last_cmdp=0xffffffff808594a0, > > #cmd_table=Variable "cmd_table" is not available. > > ) at /usr/src/sys/ddb/db_command.c:445 > > #3 0xffffffff801b5ba0 in db_command_loop () > > #at /usr/src/sys/ddb/db_command.c:498 4 0xffffffff801b7b69 in > > #db_trap (type=Variable "type" is not available. > > ) at /usr/src/sys/ddb/db_main.c:229 > > #5 0xffffffff8038d775 in kdb_trap (type=3, code=0, > > #tf=0xffffff8000017760) at /usr/src/sys/kern/subr_kdb.c:535 6 > > #0xffffffff8060e170 in trap (frame=0xffffff8000017760) > > #at /usr/src/sys/amd64/amd64/trap.c:611 7 0xffffffff805f3b23 in > > #calltrap () at /usr/src/sys/amd64/amd64/exception.S:224 8 > > #0xffffffff8038d94d in kdb_enter (why=0xffffffff80681954 "panic", > > #msg=0xa
) at cpufunc.h:63 9 > > #0xffffffff8035e04b in panic (fmt=Variable "fmt" is not available. > > ) at /usr/src/sys/kern/kern_shutdown.c:562 > > #10 0xffffffff805fafbb in apic_free_vector (apic_id=Variable > > #"apic_id" is not available. > > ) at /usr/src/sys/amd64/amd64/local_apic.c:995 > > #11 0xffffffff805f7560 in intr_remove_handler (cookie=Variable > > #"cookie" is not available. > > ) at /usr/src/sys/amd64/amd64/intr_machdep.c:203 > > #12 0xffffffff806250d4 in hpt_shutdown_vbus > > #(vbus_ext=0xffffff8000254000, howto=Variable "howto" is not > > #available. > > ) at /usr/src/sys/dev/hptrr/hptrr_osm_bsd.c:361 > > #13 0xffffffff8035da8b in boot (howto=16392) > > #at /usr/src/sys/kern/kern_shutdown.c:419 14 0xffffffff8035e126 in > > #reboot (td=Variable "td" is not available. > > ) at /usr/src/sys/kern/kern_shutdown.c:173 > > #15 0xffffffff8060dbba in syscall (frame=0xffffff8000017c80) > > #at /usr/src/sys/amd64/amd64/trap.c:982 16 0xffffffff805f3e01 in > > #Xfast_syscall () at /usr/src/sys/amd64/amd64/exception.S:373 17 > > #0x000000000040892c in ?? () > > Previous frame inner to this frame (corrupt stack?) > > > > frame #12 & #13 make me suspect the hptrr driver (again :-)), but > > I'm not sure. > > Ah, any driver shutting off its interrupt handler during shutdown > would actually trigger this. The hptrr driver doesn't really need to > do this during shutdown, but I think we don't want to panic in this > case. Unfortunately we don't currently have a "in_shutdown" type of > global flag that we can check in apic_free_vector() to not worry > about the thread already being bound. Is there any chance this fix might make it into 8.0? It's not a real problem for me since I can just power-off by force, but I imagine it might be a real pita for people who only have remote access and want to reboot, etc. Bye Marc -- "Come away, O human child! To the waters and the wild With a faery, hand in hand, For the world's more full of weeping than you can understand." W.B. Yeats, The Stolen Child