panic: absolutely cannot call smp_ipi_shootdown with interrupts already disabled

Morten Rodal morten at rodal.no
Mon Sep 15 23:29:49 PDT 2003


On Fri, Sep 12, 2003 at 08:54:59AM +0200, Morten Rodal wrote:
> A little bit of history first.  I am having great trouble in running
> any of the Mozilla web browsers under -CURRENT with libkse.  (If you
> are really interested see the thread on threads@)
> 
> When I ran Mozilla Firebird with the --debug (which lets you run
> Mozilla Firebird from within gdb) the machine paniced.  The backtrace
> is rather long and I am not sure if the subject of this email is the
> real panic either.  This computer is/was (I am currently rebuilding
> the kernel to todays sources) running:
> 
> FreeBSD slurp.rodal.no 5.1-CURRENT FreeBSD 5.1-CURRENT #1: Fri Aug 22 18:06:03 CEST 2003     root at slurp.rodal.no:/usr/obj/usr/src/sys/slurp i386
> 
> More details are available upon request.
> 

Since the last panic I upgraded to

FreeBSD slurp.rodal.no 5.1-CURRENT FreeBSD 5.1-CURRENT #2: Fri Sep 12 08:59:58 CEST 2003     root at slurp.rodal.no:/usr/obj/usr/src/sys/slurp i386

(both world and kernel).  I am still able to reproduce this, and it is
fairly simple.  On a smp machine (haven't tried my laptop, and I got
more important stuff there that I dont want to lose in a panic) do the
following:

 1) Install the mozilla-firebird port
 2) Edit libmap.conf so that it uses libkse
 3) Start it by running "firebird --debug", this will present you with
    a gdb prompt.  Type run here and watch your computer panic.  (It
    takes a little while)

So this brings up the question, is there a known problem with
debugging multi-threaded applications (which use libkse) that can
cause a panic?  I will bring home my laptop, and will be able to use a
serial debugger if that would help anyone willing to trace this down.

-- 
Morten Rodal

-------------- next part --------------
Script started on Tue Sep 16 08:25:54 2003
slurp# gdb -k kernel.13 vmcore.13
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-undermydesk-freebsd"...
panic: absolutely cannot call smp_ipi_shootdown with interrupts already disabled
panic messages:
---
panic: absolutely cannot call smp_ipi_shootdown with interrupts already disabled
cpuid = 0; lapic.id = 01000000
Stack backtrace:
boot() called on cpu#0

syncing disks, buffers remaining... panic: absolutely cannot call smp_ipi_shootdown with interrupts already disabled
cpuid = 0; lapic.id = 01000000
boot() called on cpu#0
Uptime: 3d19h39m32s
Dumping 447 MB
 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 336 352 368 384 400 416 432
---
Reading symbols from /usr/obj/usr/src/sys/slurp/modules/usr/src/sys/modules/linux/linux.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/slurp/modules/usr/src/sys/modules/linux/linux.ko.debug
Reading symbols from /boot/kernel/snd_sb16.ko...done.
Loaded symbols for /boot/kernel/snd_sb16.ko
Reading symbols from /boot/kernel/snd_sbc.ko...done.
Loaded symbols for /boot/kernel/snd_sbc.ko
Reading symbols from /boot/kernel/snd_pcm.ko...done.
Loaded symbols for /boot/kernel/snd_pcm.ko
Reading symbols from /usr/obj/usr/src/sys/slurp/modules/usr/src/sys/modules/acpi/acpi.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/slurp/modules/usr/src/sys/modules/acpi/acpi.ko.debug
Reading symbols from /usr/obj/usr/src/sys/slurp/modules/usr/src/sys/modules/if_gif/if_gif.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/slurp/modules/usr/src/sys/modules/if_gif/if_gif.ko.debug
Reading symbols from /boot/kernel/nvidia.ko...done.
Loaded symbols for /boot/kernel/nvidia.ko
Reading symbols from /usr/obj/usr/src/sys/slurp/modules/usr/src/sys/modules/cd9660/cd9660.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/slurp/modules/usr/src/sys/modules/cd9660/cd9660.ko.debug
Reading symbols from /usr/obj/usr/src/sys/slurp/modules/usr/src/sys/modules/nfsserver/nfsserver.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/slurp/modules/usr/src/sys/modules/nfsserver/nfsserver.ko.debug
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
240		dumping++;
(kgdb) bt
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
#1  0xc01de9b6 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:372
#2  0xc01dee08 in panic () at /usr/src/sys/kern/kern_shutdown.c:550
#3  0xc0320467 in smp_tlb_shootdown (vector=0, addr1=0, addr2=0)
    at /usr/src/sys/i386/i386/mp_machdep.c:2396
#4  0xc03207a9 in smp_invlpg_range (addr1=0, addr2=0)
    at /usr/src/sys/i386/i386/mp_machdep.c:2527
#5  0xc0322b38 in pmap_invalidate_range (pmap=0xc03eda40, sva=3440447488, 
    eva=3440463872) at /usr/src/sys/i386/i386/pmap.c:719
#6  0xc0323011 in pmap_qremove (sva=3440447488, count=0)
    at /usr/src/sys/i386/i386/pmap.c:985
#7  0xc022ba4a in vfs_vmio_release (bp=0xcca1ec60)
    at /usr/src/sys/kern/vfs_bio.c:1588
#8  0xc022c2d4 in getnewbuf (slpflag=0, slptimeo=0, size=16384, maxsize=16384)
    at /usr/src/sys/kern/vfs_bio.c:1873
#9  0xc022dc4a in geteblk (size=16384) at /usr/src/sys/kern/vfs_bio.c:2647
#10 0xc022965c in bwrite (bp=0x4000) at /usr/src/sys/kern/vfs_bio.c:815
#11 0xc022a3bc in bawrite (bp=0x0) at /usr/src/sys/kern/vfs_bio.c:1139
#12 0xc0234930 in vop_stdfsync (ap=0xdbee2708)
    at /usr/src/sys/kern/vfs_default.c:742
#13 0xc01a33c0 in spec_fsync (ap=0xdbee2708)
    at /usr/src/sys/fs/specfs/spec_vnops.c:417
#14 0xc01a27b8 in spec_vnoperate (ap=0x0)
    at /usr/src/sys/fs/specfs/spec_vnops.c:122
#15 0xc02befb1 in ffs_sync (mp=0xc3a67800, waitfor=2, cred=0xc1378e80, 
    td=0xc03adbe0) at vnode_if.h:627
#16 0xc024287b in sync (td=0xc03adbe0, uap=0x0)
    at /usr/src/sys/kern/vfs_syscalls.c:142
#17 0xc01de4bf in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:281
#18 0xc01dee08 in panic () at /usr/src/sys/kern/kern_shutdown.c:550
#19 0xc0320467 in smp_tlb_shootdown (vector=0, addr1=0, addr2=0)
    at /usr/src/sys/i386/i386/mp_machdep.c:2396
#20 0xc032076a in smp_invlpg (addr=0)
    at /usr/src/sys/i386/i386/mp_machdep.c:2514
#21 0xc0322ab3 in pmap_invalidate_page (pmap=0xc03eda40, va=3316568064)
    at /usr/src/sys/i386/i386/pmap.c:691
#22 0xc0324a69 in pmap_enter (pmap=0xc03eda40, va=3225344576, m=0xc0872fc8, 
    prot=7 '\a', wired=1) at /usr/src/sys/i386/i386/pmap.c:2061
#23 0xc02d9647 in kmem_malloc (map=0xc082f0b0, size=8192, flags=2)
    at /usr/src/sys/vm/vm_kern.c:442
#24 0xc02ebab7 in page_alloc (zone=0xc134f300, bytes=0, pflag=0x0, wait=0)
    at /usr/src/sys/vm/uma_core.c:807
#25 0xc02eb809 in slab_zalloc (zone=0xc134f300, wait=2)
    at /usr/src/sys/vm/uma_core.c:717
#26 0xc02ecb48 in uma_zone_slab (zone=0xc134f300, flags=2)
    at /usr/src/sys/vm/uma_core.c:1532
#27 0xc02ecdc5 in uma_zalloc_bucket (zone=0xc134f300, flags=2)
    at /usr/src/sys/vm/uma_core.c:1635
#28 0xc02ec9b9 in uma_zalloc_arg (zone=0xc134f300, udata=0x0, flags=2)
    at /usr/src/sys/vm/uma_core.c:1463
#29 0xc01d200c in malloc (size=9, type=0xc0384fa0, flags=2)
    at /usr/src/sys/vm/uma.h:229
#30 0xc01b0acb in elf32_coredump (td=0xc46ec260, vp=0xc4f63920, 
    limit=9223372036854775807) at /usr/src/sys/kern/imgact_elf.c:954
#31 0xc01e49c7 in coredump (td=0xc46ec260) at /usr/src/sys/kern/kern_sig.c:2597
#32 0xc01e4008 in sigexit (td=0xc46ec260, sig=5)
    at /usr/src/sys/kern/kern_sig.c:2408
#33 0xc01e2310 in trapsignal (td=0xc46ec260, sig=5, code=0)
    at /usr/src/sys/kern/kern_sig.c:1550
#34 0xc03284f6 in trap (frame=
      {tf_fs = -1078001617, tf_es = 671612975, tf_ds = -1078001617, tf_edi = 0, tf_esi = 258, tf_ebp = -1077941848, tf_isp = -605147788, tf_ebx = 671557976, tf_edx = 1, tf_ecx = 115, tf_eax = 671569624, tf_trapno = 3, tf_err = 0, tf_eip = 671461041, tf_cs = 31, tf_eflags = 646, tf_esp = -1077941908, tf_ss = 47})
    at /usr/src/sys/i386/i386/trap.c:623
#35 0xc0310738 in calltrap () at {standard input}:103
---Can't read userspace from dump, or kernel process---

(kgdb) quit
slurp# exit
exit

Script done on Tue Sep 16 08:27:10 2003
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20030916/e2d89a8d/attachment.bin


More information about the freebsd-current mailing list