Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jun 2004 12:01:22 -0400
From:      Don Bowman <don@sandvine.com>
To:        Don Bowman <don@sandvine.com>, 'Bruce Evans' <bde@zeta.org.au>
Cc:        "'current@freebsd.org'" <current@FreeBSD.org>
Subject:   RE: kernel trap 19 with interrupts disabled: system hang
Message-ID:  <FE045D4D9F7AED4CBFF1B3B813C85337051D8FAD@mail.sandvine.com>

next in thread | raw e-mail | index | archive | help
From: Don Bowman=20
> It trapped again, and i've got it in db this time.
> 3 are in sched_switch, and one is in=20
> smp_tlb_shootdown
>=20

 ... and here it is with line numbers. This is from=20
cvs as of june 10.

(kgdb) bt
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:236
#1  0xc04509f6 in db_fncall (dummy1=3D0, dummy2=3D0, =
dummy3=3D-1066661999,=20
    dummy4=3D0xeec7da80 "=B4=DA=C7=EE\001") at =
/usr/src/sys/ddb/db_command.c:551
#2  0xc0450804 in db_command (last_cmdp=3D0xc0733940, cmd_table=3D0x0,=20
    aux_cmd_tablep=3D0xc06f7924, aux_cmd_tablep_end=3D0xc06f793c)
    at /usr/src/sys/ddb/db_command.c:348
#3  0xc04508dc in db_command_loop () at =
/usr/src/sys/ddb/db_command.c:475
#4  0xc0453075 in db_trap (type=3D19, code=3D0) at =
/usr/src/sys/ddb/db_trap.c:73
#5  0xc0682557 in kdb_trap (type=3D19, code=3D0, regs=3D0xeec7dbb0)
    at /usr/src/sys/i386/i386/db_interface.c:226
#6  0xc0694ed5 in trap (frame=3D
      {tf_fs =3D 24, tf_es =3D 786448, tf_ds =3D 16, tf_edi =3D =
-413478912, tf_esi =3D
-1065886336, tf_ebp =3D -288891916, tf_isp =3D -288891940, tf_ebx =3D =
3, tf_edx =3D
0, tf_ecx =3D 786678, tf_eax =3D 2, tf_trapno =3D 19, tf_err =3D 0, =
tf_eip =3D
-1066868634, tf_cs =3D 8, tf_eflags =3D 151, tf_esp =3D -413347840, =
tf_ss =3D
-288891896})
    at /usr/src/sys/i386/i386/trap.c:606
#7  0xc068e066 in smp_tlb_shootdown (vector=3D246, addr1=3D0, =
addr2=3D0)
    at machine/cpufunc.h:305
#8  0xc068e1d0 in smp_invlpg_range (addr1=3D3881488384, =
addr2=3D3881619456)
    at /usr/src/sys/i386/i386/mp_machdep.c:1030
#9  0xc0690643 in pmap_invalidate_range (pmap=3D0xc077dd80, =
sva=3D3881488384,=20
    eva=3D3881619456) at /usr/src/sys/i386/i386/pmap.c:640
#10 0xc0690c25 in pmap_qremove (sva=3D3881488384, count=3D0)
    at /usr/src/sys/i386/i386/pmap.c:976
#11 0xc058acdb in cluster_callback (bp=3D0xde54c3e8)
    at /usr/src/sys/kern/vfs_cluster.c:534
#12 0xc058719f in bufdone (bp=3D0xde54c3e8) at
/usr/src/sys/kern/vfs_bio.c:3141
#13 0xc0586ffb in bufdonebio (bp=3D0x0) at =
/usr/src/sys/kern/vfs_bio.c:3071
#14 0xc0586e56 in biodone (bp=3D0xde54c3e8) at
/usr/src/sys/kern/vfs_bio.c:2995
#15 0xc051354b in g_dev_done (bp2=3D0xca646660)
    at /usr/src/sys/geom/geom_dev.c:360
#16 0xc0586e56 in biodone (bp=3D0xca646660) at
/usr/src/sys/kern/vfs_bio.c:2995
#17 0xc0515472 in g_io_schedule_up (tp=3D0xc54ab930)
    at /usr/src/sys/geom/geom_io.c:405
#18 0xc05156b6 in g_up_procbody () at /usr/src/sys/geom/geom_kern.c:92
#19 0xc0531a7d in fork_exit (callout=3D0xc051569c <g_up_procbody>, =
arg=3D0x0,=20
    frame=3D0xeec7dd48) at /usr/src/sys/kern/kern_fork.c:816
(kgdb) up 8
#8  0xc068e1d0 in smp_invlpg_range (addr1=3D3881488384, =
addr2=3D3881619456)
    at /usr/src/sys/i386/i386/mp_machdep.c:1030
1030			smp_tlb_shootdown(IPI_INVLRNG, addr1, addr2);
(kgdb) p/x addr1
$1 =3D 0xe75ad000
(kgdb) p/x addr2
$2 =3D 0xe75cd000
(kgdb) l
1025=09
1026	void
1027	smp_invlpg_range(vm_offset_t addr1, vm_offset_t addr2)
1028	{
1029		if (smp_started) {
1030			smp_tlb_shootdown(IPI_INVLRNG, addr1, addr2);
1031	#ifdef COUNT_XINVLTLB_HITS
1032			ipi_range++;
1033			ipi_range_size +=3D (addr2 - addr1) / PAGE_SIZE;
1034	#endif
(kgdb) p smp_started
$3 =3D 1
(kgdb) up
#9  0xc0690643 in pmap_invalidate_range (pmap=3D0xc077dd80, =
sva=3D3881488384,=20
    eva=3D3881619456) at /usr/src/sys/i386/i386/pmap.c:640
640			smp_invlpg_range(sva, eva);
(kgdb) p/x sva
$4 =3D 0xe75ad000
(kgdb) p/x eva
$5 =3D 0xe75cd000
(kgdb) l
635		 * XXX critical sections disable interrupts again
636		 */
637		if (pmap =3D=3D kernel_pmap || pmap->pm_active =3D=3D all_cpus) {
638			for (addr =3D sva; addr < eva; addr +=3D PAGE_SIZE)
639				invlpg(addr);
640			smp_invlpg_range(sva, eva);
641		} else {
642			cpumask =3D PCPU_GET(cpumask);
643			other_cpus =3D PCPU_GET(other_cpus);
644			if (pmap->pm_active & cpumask)
(kgdb) p pmap
$6 =3D 0xc077dd80
(kgdb) p kernel_pmap
No symbol "kernel_pmap" in current context.
(kgdb) p/x =08 =08=08 =08=08 =08 pmap->pm_active
$7 =3D 4294967295
(kgdb) p/x pmap->pm_active
$8 =3D 0xffffffff
(kgdb) p all_cpus
$9 =3D 15
(kgdb) p kernel_pmap
No symbol "kernel_pmap" in current context.
(kgdb) p &kernel_pmap_sture
No symbol "kernel_pmap_sture" in current context.
(kgdb) p &kernel_pmap_store
$10 =3D (struct pmap *) 0xc077dd80
(kgdb) p *m=08 =08=08 =08=08 =08/x *pmap
$11 =3D {pm_pdir =3D 0xc0c1e000, pm_pvlist =3D {tqh_first =3D =
0xe92c7498,=20
    tqh_last =3D 0xe93539b0}, pm_active =3D 0xffffffff, pm_stats =3D {
    resident_count =3D 0x574c, wired_count =3D 0x5748}, pm_list =3D =
{le_next =3D
0x0,=20
    le_prev =3D 0xc074c278}}
(kgdb) up
#10 0xc0690c25 in pmap_qremove (sva=3D3881488384, count=3D0)
    at /usr/src/sys/i386/i386/pmap.c:976
976		pmap_invalidate_range(kernel_pmap, sva, va);
(kgdb) l
971		va =3D sva;
972		while (count-- > 0) {
973			pmap_kremove(va);
974			va +=3D PAGE_SIZE;
975		}
976		pmap_invalidate_range(kernel_pmap, sva, va);
977	}
978=09
979	/***************************************************
980	 * Page table page management routines.....
(kgdb) p/x va
$12 =3D 0x0
(kgdb) p/x sva
$13 =3D 0xe75ad000
(kgdb) p/x count
$14 =3D 0x0
(kgdb) up
#11 0xc058acdb in cluster_callback (bp=3D0xde54c3e8)
    at /usr/src/sys/kern/vfs_cluster.c:534
534		pmap_qremove(trunc_page((vm_offset_t) bp->b_data),
bp->b_npages);
(kgdb) l
529		 * Must propogate errors to all the components.
530		 */
531		if (bp->b_ioflags & BIO_ERROR)
532			error =3D bp->b_error;
533=09
534		pmap_qremove(trunc_page((vm_offset_t) bp->b_data),
bp->b_npages);
535		/*
536		 * Move memory from the large cluster buffer into the
component
537		 * buffers and mark IO as done on these.
538		 */
(kgdb) p bp->b_npages
$15 =3D 32
(kgdb) p =08 =08/x bp->b_data
There is no member named b_data.
(kgdb) p/x *bp
$16 =3D {b_io =3D {bio_cmd =3D 0x2, bio_dev =3D 0xc5982d00, bio_disk =
=3D 0x0,=20
    bio_offset =3D 0x5ffa74000, bio_bcount =3D 0x20000, bio_data =3D =
0xe75ad000,=20
    bio_flags =3D 0x4, bio_error =3D 0x0, bio_resid =3D 0x0, bio_done =
=3D
0xc0586fbc,=20
    bio_driver1 =3D 0x0, bio_driver2 =3D 0x0, bio_caller1 =3D 0x0,=20
    bio_caller2 =3D 0xde54c3e8, bio_queue =3D {tqe_next =3D 0x0, =
tqe_prev =3D 0x0},=20
    bio_attribute =3D 0x0, bio_from =3D 0x0, bio_to =3D 0x0, bio_length =
=3D 0x0,=20
    bio_completed =3D 0x0, bio_children =3D 0x2ce7, bio_inbed =3D 0x0,=20
    bio_parent =3D 0x0, bio_t0 =3D {sec =3D 0x0, frac =3D 0x0}, =
bio_task =3D 0x0,=20
    bio_task_arg =3D 0x0, bio_pblkno =3D 0x0}, b_op =3D 0xc071a588,=20
  b_magic =3D 0x10b10b10, b_iodone =3D 0x0, b_blkno =3D 0x2ffd3a0,=20
  b_offset =3D 0xbc0000, b_vnbufs =3D {tqe_next =3D 0x0, tqe_prev =3D =
0x0},=20
  b_left =3D 0x0, b_right =3D 0x0, b_vflags =3D 0x0, b_freelist =3D {
    tqe_next =3D 0xde54bec0, tqe_prev =3D 0xc0764bec}, b_qindex =3D =
0x0,=20
  b_flags =3D 0x64000224, b_xflags =3D 0x0, b_lock =3D {lk_interlock =
=3D 0xc075032c,

    lk_flags =3D 0x400, lk_sharecount =3D 0x0, lk_waitcount =3D 0x0,=20
    lk_exclusivecount =3D 0x1, lk_prio =3D 0x50, lk_wmesg =3D =
0xc06e0fd3,=20
    lk_timo =3D 0x0, lk_lockholder =3D 0xfffffffe, lk_newlock =3D 0x0}, =

  b_bufsize =3D 0x20000, b_runningbufspace =3D 0x0, b_kvabase =3D =
0xe75ad000,=20
  b_kvasize =3D 0x20000, b_lblkno =3D 0x2f0, b_vp =3D 0xc80e2924,=20
  b_object =3D 0xc89ea294, b_dirtyoff =3D 0x0, b_dirtyend =3D 0x20000,=20
  b_rcred =3D 0x0, b_wcred =3D 0x0, b_saveaddr =3D 0xe75ad000, b_pager =
=3D {
    pg_reqpage =3D 0x0}, b_cluster =3D {cluster_head =3D {tqh_first =3D =
0xde84a298,=20
      tqh_last =3D 0xde7b91b8}, cluster_entry =3D {tqe_next =3D =
0xde84a298,=20
      tqe_prev =3D 0xde7b91b8}}, b_pages =3D {0xc46ecb58, 0xc10db4a0,
0xc3278fe8,=20
    0xc504a230, 0xc2f30a78, 0xc3fba9c0, 0xc1fd3208, 0xc14cfe50, =
0xc2ec9c98,=20
    0xc195f1e0, 0xc3c94128, 0xc1769f70, 0xc4352fb8, 0xc4ec0900, =
0xc4252848,=20
    0xc31ad090, 0xc18549d8, 0xc2363b20, 0xc24f1668, 0xc347f5b0, =
0xc2136df8,=20
    0xc2d19740, 0xc363a188, 0xc4f4d5d0, 0xc34f1a18, 0xc3756c60, =
0xc1c2dba8,=20
    0xc2bc02f0, 0xc4518a38, 0xc51abd80, 0xc1a0b9c8, 0xc18cc210},=20
  b_npages =3D 0x20, b_dep =3D {lh_first =3D 0x0}}
(kgdb) up
#12 0xc058719f in bufdone (bp=3D0xde54c3e8) at
/usr/src/sys/kern/vfs_bio.c:3141
3141			(*biodone) (bp);
(kgdb) l
3136=09
3137		/* call optional completion function if requested */
3138		if (bp->b_iodone !=3D NULL) {
3139			biodone =3D bp->b_iodone;
3140			bp->b_iodone =3D NULL;
3141			(*biodone) (bp);
3142			splx(s);
3143			return;
3144		}
3145		if (LIST_FIRST(&bp->b_dep) !=3D NULL)
(kgdb) p/x *bp
$17 =3D {b_io =3D {bio_cmd =3D 0x2, bio_dev =3D 0xc5982d00, bio_disk =
=3D 0x0,=20
    bio_offset =3D 0x5ffa74000, bio_bcount =3D 0x20000, bio_data =3D =
0xe75ad000,=20
    bio_flags =3D 0x4, bio_error =3D 0x0, bio_resid =3D 0x0, bio_done =
=3D
0xc0586fbc,=20
    bio_driver1 =3D 0x0, bio_driver2 =3D 0x0, bio_caller1 =3D 0x0,=20
    bio_caller2 =3D 0xde54c3e8, bio_queue =3D {tqe_next =3D 0x0, =
tqe_prev =3D 0x0},=20
    bio_attribute =3D 0x0, bio_from =3D 0x0, bio_to =3D 0x0, bio_length =
=3D 0x0,=20
    bio_completed =3D 0x0, bio_children =3D 0x2ce7, bio_inbed =3D 0x0,=20
    bio_parent =3D 0x0, bio_t0 =3D {sec =3D 0x0, frac =3D 0x0}, =
bio_task =3D 0x0,=20
    bio_task_arg =3D 0x0, bio_pblkno =3D 0x0}, b_op =3D 0xc071a588,=20
  b_magic =3D 0x10b10b10, b_iodone =3D 0x0, b_blkno =3D 0x2ffd3a0,=20
  b_offset =3D 0xbc0000, b_vnbufs =3D {tqe_next =3D 0x0, tqe_prev =3D =
0x0},=20
  b_left =3D 0x0, b_right =3D 0x0, b_vflags =3D 0x0, b_freelist =3D {
    tqe_next =3D 0xde54bec0, tqe_prev =3D 0xc0764bec}, b_qindex =3D =
0x0,=20
  b_flags =3D 0x64000224, b_xflags =3D 0x0, b_lock =3D {lk_interlock =
=3D 0xc075032c,

    lk_flags =3D 0x400, lk_sharecount =3D 0x0, lk_waitcount =3D 0x0,=20
    lk_exclusivecount =3D 0x1, lk_prio =3D 0x50, lk_wmesg =3D =
0xc06e0fd3,=20
    lk_timo =3D 0x0, lk_lockholder =3D 0xfffffffe, lk_newlock =3D 0x0}, =

  b_bufsize =3D 0x20000, b_runningbufspace =3D 0x0, b_kvabase =3D =
0xe75ad000,=20
  b_kvasize =3D 0x20000, b_lblkno =3D 0x2f0, b_vp =3D 0xc80e2924,=20
  b_object =3D 0xc89ea294, b_dirtyoff =3D 0x0, b_dirtyend =3D 0x20000,=20
  b_rcred =3D 0x0, b_wcred =3D 0x0, b_saveaddr =3D 0xe75ad000, b_pager =
=3D {
    pg_reqpage =3D 0x0}, b_cluster =3D {cluster_head =3D {tqh_first =3D =
0xde84a298,=20
      tqh_last =3D 0xde7b91b8}, cluster_entry =3D {tqe_next =3D =
0xde84a298,=20
      tqe_prev =3D 0xde7b91b8}}, b_pages =3D {0xc46ecb58, 0xc10db4a0,
0xc3278fe8,=20
    0xc504a230, 0xc2f30a78, 0xc3fba9c0, 0xc1fd3208, 0xc14cfe50, =
0xc2ec9c98,=20
    0xc195f1e0, 0xc3c94128, 0xc1769f70, 0xc4352fb8, 0xc4ec0900, =
0xc4252848,=20
    0xc31ad090, 0xc18549d8, 0xc2363b20, 0xc24f1668, 0xc347f5b0, =
0xc2136df8,=20
    0xc2d19740, 0xc363a188, 0xc4f4d5d0, 0xc34f1a18, 0xc3756c60, =
0xc1c2dba8,=20
    0xc2bc02f0, 0xc4518a38, 0xc51abd80, 0xc1a0b9c8, 0xc18cc210},=20
  b_npages =3D 0x20, b_dep =3D {lh_first =3D 0x0}}
(kgdb) p s
No symbol "s" in current context.
(kgdb) l
3146			buf_complete(bp);
3147=09
3148		if (bp->b_flags & B_VMIO) {
3149			int i;
3150			vm_ooffset_t foff;
3151			vm_page_t m;
3152			vm_object_t obj;
3153			int iosize;
3154			struct vnode *vp =3D bp->b_vp;
3155=09
(kgdb) disass splbio
No symbol "splbio" in current context.
(kgdb) p biodone
$18 =3D (void (*)(struct buf *)) 0
(kgdb) up
#13 0xc0586ffb in bufdonebio (bp=3D0x0) at =
/usr/src/sys/kern/vfs_bio.c:3071
3071		bufdone(bp->bio_caller2);
(kgdb) l
3066	bufdonebio(struct bio *bp)
3067	{
3068=09
3069		/* Device drivers may or may not hold giant, hold it here.
*/
3070		mtx_lock(&Giant);
3071		bufdone(bp->bio_caller2);
3072		mtx_unlock(&Giant);
3073	}
3074=09
3075	void
(kgdb) p bp->biocol=08 =08=08 =08aller2
There is no member named biocaller2.
(kgdb) p bp->biio=08 =08=08 =08o_caller2
---Can't read userspace from dump, or kernel process---

(kgdb) up
#14 0xc0586e56 in biodone (bp=3D0xde54c3e8) at
/usr/src/sys/kern/vfs_bio.c:2995
2995			bp->bio_done(bp);
(kgdb) l
2990		bp->bio_flags |=3D BIO_DONE;
2991		if (bp->bio_done =3D=3D NULL)
2992			wakeup(bp);
2993		mtx_unlock(&bdonelock);
2994		if (bp->bio_done !=3D NULL)
2995			bp->bio_done(bp);
2996	}
2997=09
2998	/*
2999	 * Wait for a BIO to finish.
(kgdb) up
#15 0xc051354b in g_dev_done (bp2=3D0xca646660)
    at /usr/src/sys/geom/geom_dev.c:360
360		biodone(bp);
(kgdb) l
355			g_trace(G_T_BIO, "g_dev_done(%p/%p) resid %ld
completed %jd",
356			    bp2, bp, bp->bio_resid,
(intmax_t)bp2->bio_completed);
357		}
358		bp->bio_resid =3D bp->bio_bcount - bp2->bio_completed;
359		g_destroy_bio(bp2);
360		biodone(bp);
361	}
362=09
363	static void
364	g_dev_strategy(struct bio *bp)
(kgdb) p bp2
$19 =3D (struct bio *) 0xca646660
(kgdb) p/x *bp2
$20 =3D {bio_cmd =3D 0x2, bio_dev =3D 0x0, bio_disk =3D 0x0, bio_offset =
=3D
0x5ffa74000,=20
  bio_bcount =3D 0x20000, bio_data =3D 0xe75ad000, bio_flags =3D 0x4,=20
  bio_error =3D 0x0, bio_resid =3D 0x0, bio_done =3D 0xc05134f0, =
bio_driver1 =3D
0x0,=20
  bio_driver2 =3D 0x0, bio_caller1 =3D 0x0, bio_caller2 =3D 0x0, =
bio_queue =3D {
    tqe_next =3D 0x0, tqe_prev =3D 0xc074bc00}, bio_attribute =3D 0x0,=20
  bio_from =3D 0xc55edf00, bio_to =3D 0xc59c9400, bio_length =3D =
0x20000,=20
  bio_completed =3D 0x20000, bio_children =3D 0x1, bio_inbed =3D 0x1,=20
  bio_parent =3D 0xde54c3e8, bio_t0 =3D {sec =3D 0x7e6f, frac =3D
0xb57a45f62e0379c0},=20
  bio_task =3D 0x0, bio_task_arg =3D 0x0, bio_pblkno =3D 0x0}
(kgdb) p/x *bp
$21 =3D {bio_cmd =3D 0x2, bio_dev =3D 0xc5982d00, bio_disk =3D 0x0,=20
  bio_offset =3D 0x5ffa74000, bio_bcount =3D 0x20000, bio_data =3D =
0xe75ad000,=20
  bio_flags =3D 0x4, bio_error =3D 0x0, bio_resid =3D 0x0, bio_done =3D =
0xc0586fbc,=20
  bio_driver1 =3D 0x0, bio_driver2 =3D 0x0, bio_caller1 =3D 0x0,=20
  bio_caller2 =3D 0xde54c3e8, bio_queue =3D {tqe_next =3D 0x0, tqe_prev =
=3D 0x0},=20
  bio_attribute =3D 0x0, bio_from =3D 0x0, bio_to =3D 0x0, bio_length =
=3D 0x0,=20
  bio_completed =3D 0x0, bio_children =3D 0x2ce7, bio_inbed =3D 0x0,=20
  bio_parent =3D 0x0, bio_t0 =3D {sec =3D 0x0, frac =3D 0x0}, bio_task =
=3D 0x0,=20
  bio_task_arg =3D 0x0, bio_pblkno =3D 0x0}
(kgdb) p/x bp2->bio_completed
$22 =3D 0x20000
(kgdb) up
#16 0xc0586e56 in biodone (bp=3D0xca646660) at
/usr/src/sys/kern/vfs_bio.c:2995
2995			bp->bio_done(bp);
(kgdb) l
2990		bp->bio_flags |=3D BIO_DONE;
2991		if (bp->bio_done =3D=3D NULL)
2992			wakeup(bp);
2993		mtx_unlock(&bdonelock);
2994		if (bp->bio_done !=3D NULL)
2995			bp->bio_done(bp);
2996	}
2997=09
2998	/*
2999	 * Wait for a BIO to finish.
(kgdb) up
#17 0xc0515472 in g_io_schedule_up (tp=3D0xc54ab930)
    at /usr/src/sys/geom/geom_io.c:405
405				biodone(bp);
(kgdb) l
400			}
401			bp =3D g_bioq_first(&g_bio_run_up);
402			if (bp !=3D NULL) {
403				g_bioq_unlock(&g_bio_run_up);
404				mtx_lock(&mymutex);
405				biodone(bp);
406				mtx_unlock(&mymutex);
407				continue;
408			}
409			msleep(&g_wait_up, &g_bio_run_up.bio_queue_lock,
(kgdb) up
#18 0xc05156b6 in g_up_procbody () at /usr/src/sys/geom/geom_kern.c:92
92			g_io_schedule_up(tp);
(kgdb) l
87		struct thread *tp =3D FIRST_THREAD_IN_PROC(p);
88=09
89		mtx_assert(&Giant, MA_NOTOWNED);
90		tp->td_base_pri =3D PRIBIO;
91		for(;;) {
92			g_io_schedule_up(tp);
93		}
94	}
95=09
96	struct kproc_desc g_up_kp =3D {
(kgdb) up=08 =08=08 =08=07=07p/x *tp
$23 =3D {td_proc =3D 0xc54d6a50, td_ksegrp =3D 0xc54d7000, td_plist =3D =
{
    tqe_next =3D 0x0, tqe_prev =3D 0xc54d6a60}, td_kglist =3D {tqe_next =
=3D 0x0,=20
    tqe_prev =3D 0xc54d701c}, td_slpq =3D {tqe_next =3D 0x0, tqe_prev =
=3D
0xeeca2c1c},=20
  td_lockq =3D {tqe_next =3D 0x0, tqe_prev =3D 0xf5413b90}, td_runq =3D =
{
    tqe_next =3D 0x0, tqe_prev =3D 0x0}, td_selq =3D {tqh_first =3D =
0x0,=20
    tqh_last =3D 0x0}, td_sleepqueue =3D 0xc542a4e0, td_turnstile =3D =
0xc5552280,=20
  td_tid =3D 0x3, td_flags =3D 0x0, td_inhibitors =3D 0x0, td_pflags =
=3D 0x0,=20
  td_last_kse =3D 0xc5458820, td_kse =3D 0xc5458820, td_dupfd =3D 0x0,=20
  td_wchan =3D 0x0, td_wmesg =3D 0x0, td_lastcpu =3D 0x0, td_oncpu =3D =
0x0,=20
  td_locks =3D 0x0, td_blocked =3D 0x0, td_ithd =3D 0x0, td_lockname =
=3D 0x0,=20
  td_contested =3D {lh_first =3D 0x0}, td_sleeplocks =3D 0x0,=20
  td_intr_nesting_level =3D 0x0, td_pinned =3D 0x0, td_mailbox =3D 0x0, =

  td_ucred =3D 0xc53d5180, td_standin =3D 0x0, td_prticks =3D 0x0, =
td_upcall =3D
0x0,=20
  td_sticks =3D 0x4383, td_uuticks =3D 0x0, td_usticks =3D 0x0, =
td_intrval =3D 0x0,=20
  td_oldsigmask =3D {__bits =3D {0x0, 0x0, 0x0, 0x0}}, td_sigmask =3D =
{__bits =3D {
      0x0, 0x0, 0x0, 0x0}}, td_siglist =3D {__bits =3D {0x0, 0x0, 0x0, =
0x0}},=20
  td_waitset =3D 0x0, td_umtx =3D {tqe_next =3D 0x0, tqe_prev =3D 0x0}, =

  td_generation =3D 0x6a92b5, td_sigstk =3D {ss_sp =3D 0x0, ss_size =3D =
0x0,=20
    ss_flags =3D 0x0}, td_kflags =3D 0x0, td_base_pri =3D 0x4c, =
td_priority =3D
0x4c,=20
  td_pcb =3D 0xeec7dda0, td_state =3D 0x4, td_retval =3D {0x0, 0x0},=20
  td_slpcallout =3D {c_links =3D {sle =3D {sle_next =3D 0x0}, tqe =3D =
{tqe_next =3D 0x0,

        tqe_prev =3D 0xde4b3908}}, c_time =3D 0x1ee0045, c_arg =3D =
0xc54ab930,=20
    c_func =3D 0x0, c_flags =3D 0x8}, td_frame =3D 0xeec7dd48,=20
  td_kstack_obj =3D 0xc104318c, td_kstack =3D 0xeec7c000, =
td_kstack_pages =3D 0x2,

  td_altkstack_obj =3D 0x0, td_altkstack =3D 0x0, td_altkstack_pages =
=3D 0x0,=20
  td_critnest =3D 0x1, td_md =3D {md_savecrit =3D 0x246}, td_sched =3D =
0xc54aba80}
(kgdb) up
#19 0xc0531a7d in fork_exit (callout=3D0xc051569c <g_up_procbody>, =
arg=3D0x0,=20
    frame=3D0xeec7dd48) at /usr/src/sys/kern/kern_fork.c:816
816		callout(arg, frame);
(kgdb) p/x *arg
Attempt to dereference a generic pointer.
(kgdb) p arg
$24 =3D (void *) 0x0
(kgdb) p frame
$25 =3D (struct trapframe *) 0xeec7dd48
(kgdb) p/x *frame
$26 =3D {tf_fs =3D 0x0, tf_es =3D 0x0, tf_ds =3D 0x0, tf_edi =3D 0x0, =
tf_esi =3D 0x0,=20
  tf_ebp =3D 0x0, tf_isp =3D 0x0, tf_ebx =3D 0x0, tf_edx =3D 0x1, =
tf_ecx =3D 0x0,=20
  tf_eax =3D 0x0, tf_trapno =3D 0x0, tf_err =3D 0x0, tf_eip =3D 0x0, =
tf_cs =3D 0x0,=20
  tf_eflags =3D 0x0, tf_esp =3D 0x0, tf_ss =3D 0x0}
(kgdb) up
Initial frame selected; you cannot go up.
(kgdb) bt
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:236
#1  0xc04509f6 in db_fncall (dummy1=3D0, dummy2=3D0, =
dummy3=3D-1066661999,=20
    dummy4=3D0xeec7da80 "=B4=DA=C7=EE\001") at =
/usr/src/sys/ddb/db_command.c:551
#2  0xc0450804 in db_command (last_cmdp=3D0xc0733940, cmd_table=3D0x0,=20
    aux_cmd_tablep=3D0xc06f7924, aux_cmd_tablep_end=3D0xc06f793c)
    at /usr/src/sys/ddb/db_command.c:348
#3  0xc04508dc in db_command_loop () at =
/usr/src/sys/ddb/db_command.c:475
#4  0xc0453075 in db_trap (type=3D19, code=3D0) at =
/usr/src/sys/ddb/db_trap.c:73
#5  0xc0682557 in kdb_trap (type=3D19, code=3D0, regs=3D0xeec7dbb0)
    at /usr/src/sys/i386/i386/db_interface.c:226
#6  0xc0694ed5 in trap (frame=3D
      {tf_fs =3D 24, tf_es =3D 786448, tf_ds =3D 16, tf_edi =3D =
-413478912, tf_esi =3D
-1065886336, tf_ebp =3D -288891916, tf_isp =3D -288891940, tf_ebx =3D =
3, tf_edx =3D
0, tf_ecx =3D 786678, tf_eax =3D 2, tf_trapno =3D 19, tf_err =3D 0, =
tf_eip =3D
-1066868634, tf_cs =3D 8, tf_eflags =3D 151, tf_esp =3D -413347840, =
tf_ss =3D
-288891896})
    at /usr/src/sys/i386/i386/trap.c:606
#7  0xc068e066 in smp_tlb_shootdown (vector=3D246, addr1=3D0, =
addr2=3D0)
    at machine/cpufunc.h:305
#8  0xc068e1d0 in smp_invlpg_range (addr1=3D3881488384, =
addr2=3D3881619456)
    at /usr/src/sys/i386/i386/mp_machdep.c:1030
#9  0xc0690643 in pmap_invalidate_range (pmap=3D0xc077dd80, =
sva=3D3881488384,=20
    eva=3D3881619456) at /usr/src/sys/i386/i386/pmap.c:640
#10 0xc0690c25 in pmap_qremove (sva=3D3881488384, count=3D0)
    at /usr/src/sys/i386/i386/pmap.c:976
#11 0xc058acdb in cluster_callback (bp=3D0xde54c3e8)
    at /usr/src/sys/kern/vfs_cluster.c:534
#12 0xc058719f in bufdone (bp=3D0xde54c3e8) at
/usr/src/sys/kern/vfs_bio.c:3141
#13 0xc0586ffb in bufdonebio (bp=3D0x0) at =
/usr/src/sys/kern/vfs_bio.c:3071
#14 0xc0586e56 in biodone (bp=3D0xde54c3e8) at
/usr/src/sys/kern/vfs_bio.c:2995
#15 0xc051354b in g_dev_done (bp2=3D0xca646660)
    at /usr/src/sys/geom/geom_dev.c:360
#16 0xc0586e56 in biodone (bp=3D0xca646660) at
/usr/src/sys/kern/vfs_bio.c:2995
#17 0xc0515472 in g_io_schedule_up (tp=3D0xc54ab930)
    at /usr/src/sys/geom/geom_io.c:405
#18 0xc05156b6 in g_up_procbody () at /usr/src/sys/geom/geom_kern.c:92
#19 0xc0531a7d in fork_exit (callout=3D0xc051569c <g_up_procbody>, =
arg=3D0x0,=20
    frame=3D0xeec7dd48) at /usr/src/sys/kern/kern_fork.c:816
(kgdb) quit




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE045D4D9F7AED4CBFF1B3B813C85337051D8FAD>