Re: panic: APIC: Previous IPI is stuck

From: Thierry Herbelot (thierry_at_herbelot.com)
Date: 08/03/05

  • Next message: Bsderss: "Replacing select() with kqueue() and kevent()"
    To: freebsd-current@freebsd.org
    Date: Wed, 3 Aug 2005 06:26:55 +0200
    
    

    Le Tuesday 2 August 2005 22:41, Thierry Herbelot a écrit :

    [SNIP DDB panic trace]

    >
    > KGDB trace to follow :

    # kgdb kernel.debug /files3/tmp/vmcore.159
    [GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so:
    Undefined symbol "ps_pglobal_lookup"]
    GNU gdb 6.1.1 [FreeBSD]
    Copyright 2004 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-marcel-freebsd".
    #0 doadump () at pcpu.h:165
    165 __asm __volatile("movl %%fs:0,%0" : "=r" (td));
    (kgdb) bt
    #0 doadump () at pcpu.h:165
    #1 0xc0469103 in db_fncall (dummy1=0, dummy2=0, dummy3=-1, dummy4=0xc725e860
    "\224è%Ç")
        at /usr/src/sys/ddb/db_command.c:489
    #2 0xc0468f08 in db_command (last_cmdp=0xc0906564, cmd_table=0x0,
    aux_cmd_tablep=0xc088384c,
        aux_cmd_tablep_end=0xc0883868) at /usr/src/sys/ddb/db_command.c:349
    #3 0xc0468fd0 in db_command_loop () at /usr/src/sys/ddb/db_command.c:455
    #4 0xc046ab71 in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:221
    #5 0xc064a6f4 in kdb_trap (type=3, code=0, tf=0xc725e9a4)
    at /usr/src/sys/kern/subr_kdb.c:473
    #6 0xc07ef510 in trap (frame=
          {tf_fs = -953876472, tf_es = -1067188184, tf_ds = -1065025496, tf_edi =
    -1064845538, tf_esi = 1, tf_ebp = -953816604, tf_isp = -953816624, tf_ebx =
    -953816560, tf_edx = 0, tf_ecx = -1056755712, tf_eax = 18, tf_trapno = 3,
    tf_err = 0, tf_eip = -1067146149, tf_cs = 32, tf_eflags = 150, tf_esp =
    -953816572, tf_ss = -1067243449}) at /usr/src/sys/i386/i386/trap.c:601
    #7 0xc07dcfba in calltrap () at /usr/src/sys/i386/i386/exception.s:139
    #8 0xc7250008 in ?? ()
    #9 0xc0640028 in be_uuid_dec (buf=0xc0857f0a, uuid=0xc725ea10) at endian.h:97
    #10 0xc0632847 in panic (fmt=0xc087bf1e "APIC: Previous IPI is stuck")
        at /usr/src/sys/kern/kern_shutdown.c:537
    #11 0xc07e3907 in lapic_ipi_vectored (vector=0, dest=0)
        at /usr/src/sys/i386/i386/local_apic.c:932
    #12 0xc07e7f91 in ipi_all_but_self (ipi=244)
    at /usr/src/sys/i386/i386/mp_machdep.c:1259
    #13 0xc07e7c89 in smp_tlb_shootdown (vector=244, addr1=0, addr2=0)
        at /usr/src/sys/i386/i386/mp_machdep.c:1006
    #14 0xc07e7e03 in smp_invlpg (addr=3328839680)
    at /usr/src/sys/i386/i386/mp_machdep.c:1117
    #15 0xc07ea0c8 in pmap_invalidate_page (pmap=0xc09a1100, va=3328839680)
        at /usr/src/sys/i386/i386/pmap.c:570
    ---Type <return> to continue, or q <return> to quit---
    #16 0xc07eb326 in pmap_remove_pte (pmap=0xc09a1100, ptq=0xbff19a84,
    va=3328839680)
        at /usr/src/sys/i386/i386/pmap.c:1548
    #17 0xc07eb546 in pmap_remove (pmap=0xc09a1100, sva=3328839680,
    eva=3328856064)
        at /usr/src/sys/i386/i386/pmap.c:1668
    #18 0xc078a021 in vm_map_delete (map=0xc1042000, start=3238273024,
    end=3328856064)
        at /usr/src/sys/vm/vm_map.c:2290
    #19 0xc078a0be in vm_map_remove (map=0xc1042000, start=3328839680,
    end=3328856064)
        at /usr/src/sys/vm/vm_map.c:2319
    #20 0xc06597d5 in pipe_free_kmem (cpipe=0xc1767990)
    at /usr/src/sys/kern/sys_pipe.c:1450
    #21 0xc0659b2d in pipeclose (cpipe=0xc1767990)
    at /usr/src/sys/kern/sys_pipe.c:1515
    #22 0xc065977a in pipe_close (fp=0x0, td=0xc134b600)
    at /usr/src/sys/kern/sys_pipe.c:1436
    #23 0xc06173cc in fdrop_locked (fp=0xc160b360, td=0xc134b600) at file.h:289
    #24 0xc061733c in fdrop (fp=0xc160b360, td=0xc134b600)
    at /usr/src/sys/kern/kern_descrip.c:2099
    #25 0xc0615e2b in closef (fp=0xc160b360, td=0xc134b600)
        at /usr/src/sys/kern/kern_descrip.c:1919
    #26 0xc061508f in fdfree (td=0xc134b600)
    at /usr/src/sys/kern/kern_descrip.c:1620
    #27 0xc061d0f2 in exit1 (td=0xc134b600, rv=0)
    at /usr/src/sys/kern/kern_exit.c:237
    #28 0xc061ccfc in sys_exit (td=0xc134b600, uap=0x0)
    at /usr/src/sys/kern/kern_exit.c:94
    #29 0xc07efcfb in syscall (frame=
          {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = 134549595, tf_esi =
    -1077942456, tf_ebp = -1077942616, tf_isp = -953815708, tf_ebx = 672395848,
    tf_edx = 10, tf_ecx = 672395280, tf_eax = 1, tf_trapno = 0, tf_err = 2,
    tf_eip = 672335739, tf_cs = 51, tf_eflags = 658, tf_esp = -1077942644, tf_ss
    = 59}) at /usr/src/sys/i386/i386/trap.c:986
    (kgdb) frame 11
    #11 0xc07e3907 in lapic_ipi_vectored (vector=0, dest=0)
        at /usr/src/sys/i386/i386/local_apic.c:932
    932 panic("APIC: Previous IPI is stuck");
    (kgdb) list
    927 destfield = dest;
    928 }
    929
    930 /* Wait for an earlier IPI to finish. */
    931 if (!lapic_ipi_wait(BEFORE_SPIN))
    932 panic("APIC: Previous IPI is stuck");
    933
    934 lapic_ipi_raw(icrlo, destfield);
    935
    936 #ifdef DETECT_DEADLOCK

    -------------------------------------
    kernel identification :

    Copyright (c) 1992-2005 The FreeBSD Project.
    Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
            The Regents of the University of California. All rights reserved.
    FreeBSD 7.0-CURRENT #746: Tue Aug 2 16:27:35 CEST 2005
        thierry.herbelot@multi-cur.herbelot.nom:/usr/obj/usr/src/sys/GENERIC
    WARNING: WITNESS option enabled, expect reduced performance.
    MPTable: <OEM00000 PROD00000000>
    Timecounter "i8254" frequency 1193182 Hz quality 0
    CPU: Pentium II/Pentium II Xeon/Celeron (334.09-MHz 686-class CPU)
      Origin = "GenuineIntel" Id = 0x665 Stepping = 5
      
    Features=0x183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
    real memory = 100663296 (96 MB)
    avail memory = 88850432 (84 MB)
    FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
     cpu0 (BSP): APIC ID: 0
     cpu1 (AP): APIC ID: 1

    -------------------------------------
    the panic is not repeatable : the same kernel just completed a full make
    buildworld + make buildkernel (heisenbug ?)

            TfH
    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"


  • Next message: Bsderss: "Replacing select() with kqueue() and kevent()"

    Relevant Pages

    • fbsd 7.0 amd 64 crash
      ... Copyright 2004 Free Software Foundation, ... GDB is free software, covered by the GNU General Public License, and you are ... Quit ...
      (freebsd-current)
    • Re: Kernel crashed due to pagefault while running net/avahi
      ... GNU gdb 6.1.1 ... Previous frame inner to this frame ... Will FreeBSD 7.0-RELEASE be recommended for production systems. ...
      (freebsd-questions)
    • Re: FreeBSD 7.0 crashed when running super-smack upon PostgreSQL
      ... This is the backtrace output in the culprit thread: ... GNU gdb 6.1.1 ... Copyright 2004 Free Software Foundation, ...
      (freebsd-stable)
    • Kernel crash: doadump () at pcpu.h:165
      ... I have been getting occasional reboots on my FreeBSD 6-STABLE machine. ... Copyright 2004 Free Software Foundation, ... GDB is free software, covered by the GNU General Public License, and you are ... Previous frame inner to this frame ...
      (freebsd-questions)
    • Help debugging kernel dump?
      ... I have been getting occasional reboots on my FreeBSD 6-STABLE machine. ... Copyright 2004 Free Software Foundation, ... GDB is free software, covered by the GNU General Public License, and you are ... Previous frame inner to this frame ...
      (freebsd-hackers)