panic: absolutely cannot call smp_ipi_shootdown with interrupts already disabled

Morten Rodal morten at rodal.no
Thu Sep 11 23:55:03 PDT 2003


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.

-- 
Morten Rodal

-------------- next part --------------
Script started on Fri Sep 12 08:49:49 2003
slurp# gdb -k kernel.12 vmcore.12
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 = 1; lapic.id = 00000000
Stack backtrace:
boot() called on cpu#1

syncing disks, buffers remaining... panic: absolutely cannot call smp_ipi_shootdown with interrupts already disabled
cpuid = 1; lapic.id = 00000000
boot() called on cpu#1
Uptime: 3d0h0m11s
Dumping 447 MB
[CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort]  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 /boot/kernel/linux.ko...done.
Loaded symbols for /boot/kernel/linux.ko
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 /boot/kernel/nvidia.ko...done.
Loaded symbols for /boot/kernel/nvidia.ko
Reading symbols from /boot/kernel/acpi.ko...done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/if_gif.ko...done.
Loaded symbols for /boot/kernel/if_gif.ko
Reading symbols from /boot/kernel/nfsserver.ko...done.
Loaded symbols for /boot/kernel/nfsserver.ko
Reading symbols from /boot/kernel/cd9660.ko...done.
Loaded symbols for /boot/kernel/cd9660.ko
#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  0xc01e40f6 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:372
#2  0xc01e4548 in panic () at /usr/src/sys/kern/kern_shutdown.c:550
#3  0xc0322347 in smp_tlb_shootdown (vector=0, addr1=0, addr2=0)
    at /usr/src/sys/i386/i386/mp_machdep.c:2397
#4  0xc0322689 in smp_invlpg_range (addr1=0, addr2=0)
    at /usr/src/sys/i386/i386/mp_machdep.c:2529
#5  0xc0324a18 in pmap_invalidate_range (pmap=0xc03e6640, sva=3489652736, 
    eva=3489669120) at /usr/src/sys/i386/i386/pmap.c:719
#6  0xc0324d71 in pmap_qremove (sva=3489652736, count=0)
    at /usr/src/sys/i386/i386/pmap.c:961
#7  0xc022ffaa in vfs_vmio_release (bp=0xccab1058)
    at /usr/src/sys/kern/vfs_bio.c:1587
#8  0xc0230724 in getnewbuf (slpflag=0, slptimeo=0, size=6144, maxsize=16384)
    at /usr/src/sys/kern/vfs_bio.c:1864
#9  0xc0231fba in geteblk (size=6144) at /usr/src/sys/kern/vfs_bio.c:2627
#10 0xc022dca3 in bwrite (bp=0x4000) at /usr/src/sys/kern/vfs_bio.c:813
#11 0xc022eabc in bawrite (bp=0x0) at /usr/src/sys/kern/vfs_bio.c:1148
#12 0xc0238bc0 in vop_stdfsync (ap=0xdc2bc708)
    at /usr/src/sys/kern/vfs_default.c:742
#13 0xc01a8ad0 in spec_fsync (ap=0xdc2bc708)
    at /usr/src/sys/fs/specfs/spec_vnops.c:417
#14 0xc01a7ec8 in spec_vnoperate (ap=0x0)
    at /usr/src/sys/fs/specfs/spec_vnops.c:122
#15 0xc02c1fe1 in ffs_sync (mp=0xc3a2ec00, waitfor=2, cred=0xc1378e80, 
    td=0xc03adcc0) at vnode_if.h:627
#16 0xc0246aeb in sync (td=0xc03adcc0, uap=0x0)
    at /usr/src/sys/kern/vfs_syscalls.c:142
---Type <return> to continue, or q <return> to quit---
#17 0xc01e3bff in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:281
#18 0xc01e4548 in panic () at /usr/src/sys/kern/kern_shutdown.c:550
#19 0xc0322347 in smp_tlb_shootdown (vector=0, addr1=0, addr2=0)
    at /usr/src/sys/i386/i386/mp_machdep.c:2397
#20 0xc032264a in smp_invlpg (addr=0)
    at /usr/src/sys/i386/i386/mp_machdep.c:2516
#21 0xc0324993 in pmap_invalidate_page (pmap=0xc03e6640, va=3313360896)
    at /usr/src/sys/i386/i386/pmap.c:691
#22 0xc03267c9 in pmap_enter (pmap=0xc03e6640, va=3225314880, m=0xc0baac48, 
    prot=7 '\a', wired=1) at /usr/src/sys/i386/i386/pmap.c:2037
#23 0xc02dba67 in kmem_malloc (map=0xc082f0b0, size=8192, flags=2)
    at /usr/src/sys/vm/vm_kern.c:443
#24 0xc02edcd7 in page_alloc (zone=0xc134f300, bytes=0, pflag=0x0, wait=0)
    at /usr/src/sys/vm/uma_core.c:807
#25 0xc02eda29 in slab_zalloc (zone=0xc134f300, wait=2)
    at /usr/src/sys/vm/uma_core.c:717
#26 0xc02eed68 in uma_zone_slab (zone=0xc134f300, flags=2)
    at /usr/src/sys/vm/uma_core.c:1532
#27 0xc02eefe5 in uma_zalloc_bucket (zone=0xc134f300, flags=2)
    at /usr/src/sys/vm/uma_core.c:1635
#28 0xc02eebd9 in uma_zalloc_arg (zone=0xc134f300, udata=0x0, flags=2)
    at /usr/src/sys/vm/uma_core.c:1463
#29 0xc01d774c in malloc (size=9, type=0xc03852a0, flags=2)
    at /usr/src/sys/vm/uma.h:229
#30 0xc01b620b in elf32_coredump (td=0xc54ff260, vp=0xc476a000, 
    limit=9223372036854775807) at /usr/src/sys/kern/imgact_elf.c:954
#31 0xc01ea107 in coredump (td=0xc54ff260) at /usr/src/sys/kern/kern_sig.c:2597
#32 0xc01e9748 in sigexit (td=0xc54ff260, sig=5)
---Type <return> to continue, or q <return> to quit---
    at /usr/src/sys/kern/kern_sig.c:2408
#33 0xc01e7a50 in trapsignal (td=0xc54ff260, sig=5, code=0)
    at /usr/src/sys/kern/kern_sig.c:1550
#34 0xc032a1f6 in trap (frame=
      {tf_fs = 134545455, tf_es = 47, tf_ds = -1078001617, tf_edi = 0, tf_esi = 258, tf_ebp = -1077941848, tf_isp = -601109132, 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 0xc03125f8 in calltrap () at {standard input}:103
---Can't read userspace from dump, or kernel process---

(kgdb) up 32
#32 0xc01e9748 in sigexit (td=0xc54ff260, sig=5)
    at /usr/src/sys/kern/kern_sig.c:2408
2408			if (coredump(td) == 0)
(kgdb) p *td
$1 = {td_proc = 0xc3c77000, td_ksegrp = 0xc3c76680, td_plist = {
    tqe_next = 0xc3c465f0, tqe_prev = 0xc3e7abe8}, td_kglist = {
    tqe_next = 0xc3c465f0, tqe_prev = 0xc3e7abf0}, td_slpq = {
    tqe_next = 0xc3e7abe0, tqe_prev = 0xc4247868}, td_lockq = {tqe_next = 0x0, 
    tqe_prev = 0xc03b24a4}, td_runq = {tqe_next = 0x0, tqe_prev = 0xc3c766a4}, 
  td_selq = {tqh_first = 0x0, tqh_last = 0xc54ff290}, td_flags = 327682, 
  td_inhibitors = 0, td_pflags = 0, td_last_kse = 0xc3d4b300, 
  td_kse = 0xc3d4b300, td_dupfd = 0, td_wchan = 0x0, td_wmesg = 0x0, 
  td_lastcpu = 1 '\001', td_oncpu = 1 '\001', td_locks = 0, td_blocked = 0x0, 
  td_ithd = 0x0, td_lockname = 0xc035fa2f "Giant", td_contested = {
    lh_first = 0xc03b2480}, td_sleeplocks = 0x0, td_intr_nesting_level = 0, 
  td_mailbox = 0x0, td_ucred = 0xc565a180, td_switchin = 0, 
  td_standin = 0xc3e7a260, td_prticks = 0, td_upcall = 0xc54fb3c0, 
  td_sticks = 7, td_uuticks = 1, td_usticks = 0, td_intrval = 0, 
  td_oldsigmask = {__bits = {0, 0, 0, 0}}, td_sigmask = {__bits = {4294901503, 
      4294967295, 4294967295, 4294967295}}, td_siglist = {__bits = {0, 0, 0, 
      0}}, td_waitset = 0x0, td_umtx = {tqe_next = 0x0, tqe_prev = 0x0}, 
  td_base_pri = 160 '?', td_priority = 20 '\024', td_pcb = 0xdc2bcda0, 
  td_state = TDS_RUNNING, td_retval = {0, 134602752}, td_slpcallout = {
    c_links = {sle = {sle_next = 0xc3e7acd0}, tqe = {tqe_next = 0xc3e7acd0, 
        tqe_prev = 0xcc9236f8}}, c_time = 25933883, c_arg = 0xc54ff260, 
    c_func = 0, c_flags = 8}, td_frame = 0xdc2bcd48, 
  td_kstack_obj = 0xc4fafa68, td_kstack = 3693850624, td_kstack_pages = 2, 
  td_altkstack_obj = 0x0, td_altkstack = 0, td_altkstack_pages = 0, 
  td_critnest = 3, td_md = <incomplete type>, td_sched = 0xc54ff38c}
(kgdb) p *td->td_proc
$2 = {p_list = {le_next = 0xc3cf1b58, le_prev = 0xc03b4094}, p_ksegrps = {
    tqh_first = 0xc4248f00, tqh_last = 0xc3c76684}, p_threads = {
    tqh_first = 0xc3e7abe0, tqh_last = 0xc3c46398}, p_suspended = {
    tqh_first = 0x0, tqh_last = 0xc3c77018}, p_ucred = 0xc565a180, 
  p_fd = 0xc4377600, p_fdtol = 0x0, p_stats = 0xdacef000, 
  p_limit = 0xc3ca9200, p_upages_obj = 0xc3c6a094, p_sigacts = 0xc5683000, 
  p_flag = 55298, p_sflag = 1, p_state = PRS_NORMAL, p_pid = 56243, p_hash = {
    le_next = 0x0, le_prev = 0xc137cecc}, p_pglist = {le_next = 0x0, 
    le_prev = 0xc5239108}, p_pptr = 0xc3cf1b58, p_sibling = {le_next = 0x0, 
    le_prev = 0xc3cf1bc0}, p_children = {lh_first = 0x0}, p_mtx = {
    mtx_object = {lo_class = 0xc0386aec, lo_name = 0xc035fa40 "process lock", 
      lo_type = 0xc035fa40 "process lock", lo_flags = 4390912, lo_list = {
        tqe_next = 0x0, tqe_prev = 0x0}, lo_witness = 0x0}, mtx_lock = 4, 
    mtx_recurse = 0, mtx_blocked = {tqh_first = 0x0, tqh_last = 0xc3c77090}, 
    mtx_contested = {le_next = 0x0, le_prev = 0xc03b24ac}}, p_oppid = 56242, 
  p_vmspace = 0xc3a91a00, p_swtime = 49, p_realtimer = {it_interval = {
      tv_sec = 0, tv_usec = 0}, it_value = {tv_sec = 0, tv_usec = 0}}, 
  p_runtime = {sec = 3, frac = 9877315056620562300}, p_uu = 0, p_su = 4855, 
  p_iu = 0, p_uticks = 360, p_sticks = 82, p_iticks = 1, p_profthreads = 0, 
  p_maxthrwaits = 0, p_traceflag = 0, p_tracevp = 0x0, p_tracecred = 0x0, 
  p_textvp = 0xc409c7fc, p_siglist = {__bits = {0, 0, 0, 0}}, p_lock = 0 '\0', 
  p_klist = {slh_first = 0x0}, p_sigiolst = {slh_first = 0x0}, 
  p_sigparent = 20, p_sig = 5, p_code = 0, p_stops = 0, p_stype = 0, 
  p_step = 0 '\0', p_pfsflags = 0 '\0', p_nlminfo = 0x0, p_aioinfo = 0x0, 
  p_singlethread = 0x0, p_suspcount = 0, p_sigstk = {ss_sp = 0x0, ss_size = 0, 
    ss_flags = 4}, p_magic = 3203398350, p_comm = "MozillaFirebird-bin", 
  p_pgrp = 0xc5239100, p_sysent = 0xc039a9a0, p_args = 0xc4094d00, 
  p_cpulimit = 9223372036854775807, p_xstat = 0, p_numthreads = 4, 
---Type <return> to continue, or q <return> to quit---
  p_numksegrps = 2, p_md = {md_ldt = 0xc5620e40}, p_itcallout = {c_links = {
      sle = {sle_next = 0x0}, tqe = {tqe_next = 0x0, tqe_prev = 0xcc90eb28}}, 
    c_time = 25923265, c_arg = 0xc3c77000, c_func = 0, c_flags = 8}, 
  p_uarea = 0xdacef000, p_acflag = 24, p_ru = 0x0, p_peers = 0x0, 
  p_leader = 0xc3c77000, p_emuldata = 0x0, p_label = {l_flags = 0, 
    l_perpolicy = {{l_ptr = 0x0, l_long = 0}, {l_ptr = 0x0, l_long = 0}, {
        l_ptr = 0x0, l_long = 0}, {l_ptr = 0x0, l_long = 0}}}, 
  p_sched = 0xc3c771e4}
(kgdb) quit
slurp# exit
exit

Script done on Fri Sep 12 08:50:29 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/20030912/5b442d27/attachment.bin


More information about the freebsd-current mailing list