(kgdb) backtrace
#0 doadump () at pcpu.h:196
#1 0xc0790ea7 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2 0xc0791179 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:574
#3 0xc0aa338c in trap_fatal (frame=0xe7e419e4, eva=851974)
at /usr/src/sys/i386/i386/trap.c:939
#4 0xc0aa3610 in trap_pfault (frame=0xe7e419e4, usermode=0, eva=851974)
at /usr/src/sys/i386/i386/trap.c:852
#5 0xc0aa3fcc in trap (frame=0xe7e419e4) at /usr/src/sys/i386/i386/trap.c:530
#6 0xc0a89e3b in calltrap () at /usr/src/sys/i386/i386/exception.s:159
#7 0xc0737c89 in g_io_request (bp=0xc6005528, cp=0xcac4cd00)
at /usr/src/sys/geom/geom_io.c:364
#8 0xc073c286 in g_vfs_strategy (bo=0xc8dbeec4, bp=0xd91e1c14)
at /usr/src/sys/geom/geom_vfs.c:107
#9 0xc074cfd0 in cd9660_strategy (ap=0xe7e41aa8)
at /usr/src/sys/fs/cd9660/cd9660_vnops.c:758
#10 0xc0ab90dd in VOP_STRATEGY_APV (vop=0xc0bd6100, a=0xe7e41aa8) at vnode_if.c:1771
#11 0xc07f5b6e in bufstrategy (bo=0xc93582e8, bp=0xd91e1c14) at vnode_if.h:935
#12 0xc07fca7a in breadn (vp=0xc9358228, blkno=0, size=2048, rablkno=0x0, rabsize=0x0,
cnt=0, cred=0x0, bpp=0xe7e41b3c) at buf.h:429
#13 0xc07fcb2c in bread (vp=0xc9358228, blkno=Unhandled dwarf expression opcode 0x93
) at /usr/src/sys/kern/vfs_bio.c:734
#14 0xc0748ee0 in cd9660_blkatoff (vp=0xc9358228, offset=0, res=0x0, bpp=0xe7e41bc0)
at /usr/src/sys/fs/cd9660/cd9660_lookup.c:407
#15 0xc074d82d in cd9660_readdir (ap=0xe7e41c00)
at /usr/src/sys/fs/cd9660/cd9660_vnops.c:516
#16 0xc0ab8352 in VOP_READDIR_APV (vop=0xc0bd6100, a=0xe7e41c00) at vnode_if.c:1407
#17 0xc081ab40 in kern_getdirentries (td=0xc6525230, fd=5,
buf=0x2832c000
, count=4096, basep=0xe7e41c74)
at vnode_if.h:747
---Type to continue, or q to quit---
#18 0xc081ad51 in getdirentries (td=0xc6525230, uap=0xe7e41cfc)
at /usr/src/sys/kern/vfs_syscalls.c:3767
#19 0xc0aa3965 in syscall (frame=0xe7e41d38) at /usr/src/sys/i386/i386/trap.c:1090
#20 0xc0a89ea0 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:255
#21 0x00000033 in ?? ()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(kgdb) list
255 call syscall
256 add $4, %esp
257 MEXITCOUNT
258 jmp doreti
259
260 ENTRY(fork_trampoline)
261 pushl %esp /* trapframe pointer */
262 pushl %ebx /* arg1 */
263 pushl %esi /* function */
264 call fork_exit
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(kgdb) up
#1 0xc0790ea7 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
(kgdb) list -
408 /*
409 * Ok, now do things that assume all filesystem activity has
410 * been completed.
411 */
412 EVENTHANDLER_INVOKE(shutdown_post_sync, howto);
413
414 /* XXX This doesn't disable interrupts any more. Reconsider? */
415 splhigh();
416
417 if ((howto & (RB_HALT|RB_DUMP)) == RB_DUMP && !cold && !dumping)
418 doadump();
(kgdb) list
413
414 /* XXX This doesn't disable interrupts any more. Reconsider? */
415 splhigh();
416
417 if ((howto & (RB_HALT|RB_DUMP)) == RB_DUMP && !cold && !dumping)
418 doadump();
419
420 /* Now that we're going to really halt the system... */
421 EVENTHANDLER_INVOKE(shutdown_final, howto);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(kgdb) up
#2 0xc0791179 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:574
574 boot(bootopt);
(kgdb) list -
559 /* See if the user aborted the panic, in which case we continue. */
560 if (panicstr == NULL) {
561 #ifdef SMP
562 atomic_store_rel_int(&panic_cpu, NOCPU);
563 #endif
564 return;
565 }
566 #endif
567 #endif
568 /*thread_lock(td); */
(kgdb) list
569 td->td_flags |= TDF_INPANIC;
570 /* thread_unlock(td); */
571 if (!sync_on_panic)
572 bootopt |= RB_NOSYNC;
573 critical_exit();
574 boot(bootopt);
575 }
576
577 /*
578 * Support for poweroff delay.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(kgdb) up
#3 0xc0aa338c in trap_fatal (frame=0xe7e419e4, eva=851974) at /usr/src/sys/i386/i386/trap.c:939
939 panic("%s", trap_msg[type]);
(kgdb) l -
929 frame->tf_err = eva; /* smuggle fault address to ddb */
930 if (kdb_trap(type, 0, frame)) {
931 frame->tf_err = code; /* restore error code */
932 return;
933 }
934 frame->tf_err = code; /* restore error code */
935 }
936 #endif
937 printf("trap number = %d\n", type);
938 if (type <= MAX_TRAP_MSG)
(kgdb) l
939 panic("%s", trap_msg[type]);
940 else
941 panic("unknown/reserved trap");
942 }
943
944 /*
945 * Double fault handler. Called when a fault occurs while writing
946 * a frame for a trap/exception onto the stack. This usually occurs
947 * when the stack overflows (such is the case with infinite recursion,
948 * for example).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(kgdb) up
#4 0xc0aa3610 in trap_pfault (frame=0xe7e419e4, usermode=0, eva=851974) at /usr/src/sys/i386/i386/trap.c:852
852 trap_fatal(frame, eva);
(kgdb) l -
842 }
843 if (rv == KERN_SUCCESS)
844 return (0);
845 nogo:
846 if (!usermode) {
847 if (td->td_intr_nesting_level == 0 &&
848 PCPU_GET(curpcb)->pcb_onfault != NULL) {
849 frame->tf_eip = (int)PCPU_GET(curpcb)->pcb_onfault;
850 return (0);
851 }
(kgdb) l
852 trap_fatal(frame, eva);
853 return (-1);
854 }
855
856 return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV);
857 }
858
859 static void
860 trap_fatal(frame, eva)
861 struct trapframe *frame;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(kgdb) up
#5 0xc0aa3fcc in trap (frame=0xe7e419e4) at /usr/src/sys/i386/i386/trap.c:530
530 (void) trap_pfault(frame, FALSE, eva);
(kgdb) l -
520 i = SIGFPE;
521 break;
522 }
523 } else {
524 /* kernel trap */
525
526 KASSERT(cold || td->td_ucred != NULL,
527 ("kernel trap doesn't have ucred"));
528 switch (type) {
529 case T_PAGEFLT: /* page fault */
(kgdb) l
530 (void) trap_pfault(frame, FALSE, eva);
531 goto out;
532
533 case T_DNA:
534 #ifdef DEV_NPX
535 /*
536 * The kernel is apparently using npx for copying.
537 * XXX this should be fatal unless the kernel has
538 * registered such use.
539 */
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(kgdb) up
#6 0xc0a89e3b in calltrap () at /usr/src/sys/i386/i386/exception.s:159
159 call trap
(kgdb) l -
149 alltraps:
150 pushal
151 pushl %ds
152 pushl %es
153 pushl %fs
154 alltraps_with_regs_pushed:
155 SET_KERNEL_SREGS
156 FAKE_MCOUNT(TF_EIP(%esp))
157 calltrap:
158 pushl %esp
(kgdb) l
159 call trap
160 add $4, %esp
161
162 /*
163 * Return via doreti to handle ASTs.
164 */
165 MEXITCOUNT
166 jmp doreti
167
168 /*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(kgdb) up
#7 0xc0737c89 in g_io_request (bp=0xc6005528, cp=0xcac4cd00) at /usr/src/sys/geom/geom_io.c:364
364 g_trace(G_T_BIO, "bio_request(%p) from %p(%s) to %p(%s) cmd %d",
Current language: auto; currently c
(kgdb) l -
354 }
355 if (bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_DELETE)) {
356 KASSERT(bp->bio_offset % cp->provider->sectorsize == 0,
357 ("wrong offset %jd for sectorsize %u",
358 bp->bio_offset, cp->provider->sectorsize));
359 KASSERT(bp->bio_length % cp->provider->sectorsize == 0,
360 ("wrong length %jd for sectorsize %u",
361 bp->bio_length, cp->provider->sectorsize));
362 }
363
(kgdb) l
364 g_trace(G_T_BIO, "bio_request(%p) from %p(%s) to %p(%s) cmd %d",
365 bp, cp, cp->geom->name, pp, pp->name, bp->bio_cmd);
366
367 bp->bio_from = cp;
368 bp->bio_to = pp;
369 bp->bio_error = 0;
370 bp->bio_completed = 0;
371
372 KASSERT(!(bp->bio_flags & BIO_ONQUEUE),
373 ("Bio already on queue bp=%p", bp));
(kgdb) p cp->geom->name
$1 = 0xc0b3c773 "vfslock"
(kgdb) p pp->name
Cannot access memory at address 0xd0006
(kgdb) p bp->bio_cmd
$2 = 1 '\001'
(kgdb) info locals
pp = (struct g_provider *) 0xd0006
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(kgdb) up
#8 0xc073c286 in g_vfs_strategy (bo=0xc8dbeec4, bp=0xd91e1c14) at /usr/src/sys/geom/geom_vfs.c:107
107 g_io_request(bip, cp);
(kgdb) l -
97 cp = bo->bo_private;
98 G_VALID_CONSUMER(cp);
99
100 bip = g_alloc_bio();
101 bip->bio_cmd = bp->b_iocmd;
102 bip->bio_offset = bp->b_iooffset;
103 bip->bio_data = bp->b_data;
104 bip->bio_done = g_vfs_done;
105 bip->bio_caller2 = bp;
106 bip->bio_length = bp->b_bcount;
(kgdb) l
107 g_io_request(bip, cp);
108 }
109
110 static void
111 g_vfs_orphan(struct g_consumer *cp)
112 {
113
114 /*
115 * Don't do anything here yet.
116 *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(kgdb) up
#9 0xc074cfd0 in cd9660_strategy (ap=0xe7e41aa8) at /usr/src/sys/fs/cd9660/cd9660_vnops.c:758
758 BO_STRATEGY(bo, bp);
(kgdb) l -
748 (ip->i_mnt->im_bshift - DEV_BSHIFT);
749 if ((long)bp->b_blkno == -1) /* XXX: cut&paste junk ? */
750 clrbuf(bp);
751 }
752 if ((long)bp->b_blkno == -1) { /* XXX: cut&paste junk ? */
753 bufdone(bp);
754 return (0);
755 }
756 bp->b_iooffset = dbtob(bp->b_blkno);
757 bo = ip->i_mnt->im_bo;
(kgdb) l
758 BO_STRATEGY(bo, bp);
759 return (0);
760 }
761
762 /*
763 * Return POSIX pathconf information applicable to cd9660 filesystems.
764 */
765 static int
766 cd9660_pathconf(ap)
767 struct vop_pathconf_args /* {