(unknown charset) Re: ptcwrite panic (with dump)

From: (unknown charset) Doug White <dwhite_at_gumbysoft.com>
Date: Sun, 8 May 2005 16:32:24 -0700 (PDT)
Can you print *tp in frame 23, and then print tp->t_pgrp->pg_members?  The
code above should avoid the case of t_pgrp being NULL, but I wonder if
there is a race or if pg_members can end up uninitialized somewhere.

On Sun, 8 May 2005, Kris Kennaway wrote:

> Grr, truncation.
>
> Script started on Sun May  8 23:18:33 2005
> pointyhat# kgdb vmcokernel.debug.1 vmcore.1
> [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	pcpu.h: No such file or directory.
> 	in pcpu.h
> (kgdb) bt full
> #0  doadump () at pcpu.h:165
> No locals.
> #1  0xc045b605 in db_fncall (dummy1=1016, dummy2=0, dummy3=11, dummy4=0xee3e38d4 "\f")
>     at ../../../ddb/db_command.c:531
> 	fn_addr = -1068399536
> 	args = {0 <repeats 11 times>}
> 	nargs = 11
> 	retval = 0
> 	func = (fcn_10args_t *) 0xc0518450 <doadump>
> 	t = 0
> #2  0xc045b392 in db_command (last_cmdp=0xc0753584, cmd_table=0x0, aux_cmd_tablep=0xc071f13c,
>     aux_cmd_tablep_end=0xc071f140) at ../../../ddb/db_command.c:349
> 	cmd = (struct command *) 0xc0724600
> 	t = 0
> 	modif = "\f\000\000\000ø\003\000\000ð8>îfòhÀø\003\000\000ø\003\000\000\r\000\000\000\0349>î¥ôhÀ\0049>îø\003\000\000\200%\000\000\f\000\017\003\v\222UÀx\000\000\000\200>uÀ\f\000\000\00049>î1ÚEÀ}èoÀ°ÖEÀ\000\000\000\000\020\000\000\000\f\000\000\000\200>uÀÆÌEÀ\200>uÀ86uÀx\000\000\000\2309>î"
> 	addr = 1016
> 	count = 11
> 	have_addr = 0
> 	result = 0
> #3  0xc045b4a5 in db_command_loop () at ../../../ddb/db_command.c:455
> No locals.
> #4  0xc045d5e5 in db_trap (type=12, code=0) at ../../../ddb/db_main.c:221
> 	jb = {{_jb = {-297911912, -297911940, -297911860, 1, 12, -1069165178, 1, 12, -297911860,
>       -1068242440, -297911860, -1068273856}}}
> 	prev_jb = (void *) 0x0
> 	bkpt = 0
> #5  0xc0536fee in kdb_trap (type=0, code=0, tf=0xee3e3ab0) at ../../../kern/subr_kdb.c:421
> 	did_stop_cpus = 1
> 	handled = -297911632
> #6  0xc06bbf06 in trap_fatal (frame=0xee3e3ab0, eva=0) at ../../../i386/i386/trap.c:801
> 	code = 40
> ---Type <return> to continue, or q <return> to quit---
> 	type = 12
> 	ss = 40
> 	esp = 0
> 	softseg = {ssd_base = 0, ssd_limit = 1048575, ssd_type = 27, ssd_dpl = 0, ssd_p = 1,
>   ssd_xx = 11, ssd_xx1 = 1, ssd_def32 = 1, ssd_gran = 1}
> #7  0xc06bbbc2 in trap_pfault (frame=0xee3e3ab0, usermode=0, eva=8) at ../../../i386/i386/trap.c:724
> 	va = 0
> 	vm = (struct vmspace *) 0x0
> 	map = 0x1
> 	rv = 1
> 	ftype = 1 '\001'
> 	td = (struct thread *) 0xc3a5ad80
> 	p = (struct proc *) 0xc3a593f8
> #8  0xc06bb78e in trap (frame=
>       {tf_fs = 8, tf_es = -1066074072, tf_ds = -1066074072, tf_edi = -1017107456, tf_esi = -1017107456, tf_ebp = -297911476, tf_isp = -297911588, tf_ebx = 20, tf_edx = 4, tf_ecx = 1, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1068146714, tf_cs = 32, tf_eflags = 66178, tf_esp = -1066031968, tf_ss = -1066384328}) at ../../../i386/i386/trap.c:414
> 	td = (struct thread *) 0xc3a5ad80
> 	p = (struct proc *) 0xc3a593f8
> 	sticks = 3228935364
> 	i = 0
> 	ucode = 0
> 	type = 12
> 	code = 0
> 	eva = 8
> #9  0xc06a683a in calltrap () at ../../../i386/i386/exception.s:139
> No locals.
> #10 0x00000008 in ?? ()
> No symbol table info available.
> #11 0xc0750028 in legacy_pcib_methods ()
> No symbol table info available.
> #12 0xc0750028 in legacy_pcib_methods ()
> ---Type <return> to continue, or q <return> to quit---
> No symbol table info available.
> #13 0xc3602c00 in ?? ()
> No symbol table info available.
> #14 0xc3602c00 in ?? ()
> No symbol table info available.
> #15 0xee3e3b4c in ?? ()
> No symbol table info available.
> #16 0xee3e3adc in ?? ()
> No symbol table info available.
> #17 0x00000014 in ?? ()
> No symbol table info available.
> #18 0x00000004 in ?? ()
> No symbol table info available.
> #19 0x00000001 in ?? ()
> No symbol table info available.
> #20 0x00000000 in ?? ()
> No symbol table info available.
> #21 0x0000000c in ?? ()
> No symbol table info available.
> #22 0x00000000 in ?? ()
> No symbol table info available.
> #23 0xc0555fe6 in ttyinfo (tp=0xc3602c00) at ../../../kern/tty.c:2565
> 	utime = {tv_sec = -1009844964, tv_usec = 1}
> 	stime = {tv_sec = -1066411237, tv_usec = 299}
> 	p = (struct proc *) 0x14
> 	pick = (struct proc *) 0xc050e9fa
> 	td = (struct thread *) 0x0
> 	stateprefix = 0xee3e3b4c "\200;>îä(UÀ"
> 	state = 0xc0704438 "../../../kern/tty.c"
> 	rss = 623
> 	load = 0
> 	pctcpu = -1017107456
> #24 0xc05528e4 in ttyinput (c=20, tp=0xc3602c00) at ../../../kern/tty.c:626
> ---Type <return> to continue, or q <return> to quit---
> 	iflag = 11010
> 	lflag = 1483
> 	cc = (cc_t *) 0xc3602cbc "\004ÿÿ\177\027\025\022\b\003\034\032\031\021\023\026\017\001"
> 	i = 0
> 	err = 0
> #25 0xc0559ef0 in ptcwrite (dev=0x0, uio=0xee3e3c70, flag=4) at linedisc.h:122
> 	tp = (struct tty *) 0xc3602c00
> 	cp = (u_char *) 0xee3e3ba1 ""
> 	cc = 1
> 	locbuf = "\024\000\000\000\027¬oÀÌ;>îúéPÀ\200\210uÀ\001\000\000\000\033ÛoÀ+\001\000\000\000\177sÀ\000í\nÆ\200­¥Ãä;>î*²NÀ\200\210uÀ\000\000\000\000\027¬oÀC\000\000\000\004<>î\200£uÀV\005\000\000\003\201oÀ\034<>î:éPÀ\200£uÀ\b\000\000"
> 	cnt = 0
> 	error = 0
> #26 0xc04cf504 in devfs_write_f (fp=0xc5874d38, uio=0xee3e3c70, cred=0xc3c30e80, flags=0, td=0x1)
>     at ../../../fs/devfs/devfs_vnops.c:1367
> 	dev = (struct cdev *) 0xc60aed00
> 	error = 4
> 	ioflag = 4
> 	resid = 1
> 	dsw = (struct cdevsw *) 0xc0737f00
> #27 0xc054594b in dofilewrite (td=0xc3a5ad80, fp=0xc5874d38, fd=0, buf=0x0, nbyte=3228744800, offset=Unhandled dwarf expression opcode 0x93
> )
>     at file.h:246
> 	auio = {uio_iov = 0xee3e3c68, uio_iovcnt = 1, uio_offset = 1506491, uio_resid = 0,
>   uio_segflg = UIO_USERSPACE, uio_rw = UIO_WRITE, uio_td = 0xc3a5ad80}
> 	aiov = {iov_base = 0x80f30e5, iov_len = 0}
> 	cnt = 1
> 	error = -1066222496
> 	ktruio = (struct uio *) 0x0
> #28 0xc0545779 in write (td=0xc3a5ad80, uap=0xee3e3d04) at ../../../kern/sys_generic.c:301
> 	fp = (struct file *) 0xc5874d38
> 	error = 0
> #29 0xc06bc280 in syscall (frame=
> ---Type <return> to continue, or q <return> to quit---
>       {tf_fs = 59, tf_es = 59, tf_ds = -1078001605, tf_edi = 0, tf_esi = 0, tf_ebp = -1077943160, tf_isp = -297910940, tf_ebx = 135213056, tf_edx = 1, tf_ecx = 13, tf_eax = 4, tf_trapno = 0, tf_err = 2, tf_eip = 672630591, tf_cs = 51, tf_eflags = 514, tf_esp = -1077943188, tf_ss = 59})
>     at ../../../i386/i386/trap.c:951
> 	params = 0xbfbfe470 <Address 0xbfbfe470 out of bounds>
> 	callp = (struct sysent *) 0xc072ddc0
> 	td = (struct thread *) 0xc3a5ad80
> 	p = (struct proc *) 0xc3a593f8
> 	orig_tf_eflags = 514
> 	sticks = 61923
> 	error = 0
> 	narg = 3
> 	args = {13, 135213284, 1, 0, 0, -297910996, -1066739755, 135213056}
> 	code = 4
> #30 0xc06a688f in Xint0x80_syscall () at ../../../i386/i386/exception.s:200
> No locals.
> #31 0x0000003b in ?? ()
> No symbol table info available.
> #32 0x0000003b in ?? ()
> No symbol table info available.
> #33 0xbfbf003b in ?? ()
> No symbol table info available.
> #34 0x00000000 in ?? ()
> No symbol table info available.
> #35 0x00000000 in ?? ()
> No symbol table info available.
> #36 0xbfbfe488 in ?? ()
> No symbol table info available.
> #37 0xee3e3d64 in ?? ()
> No symbol table info available.
> #38 0x080f3000 in ?? ()
> No symbol table info available.
> #39 0x00000001 in ?? ()
> ---Type <return> to continue, or q <return> to quit---
> No symbol table info available.
> #40 0x0000000d in ?? ()
> No symbol table info available.
> #41 0x00000004 in ?? ()
> No symbol table info available.
> #42 0x00000000 in ?? ()
> No symbol table info available.
> #43 0x00000002 in ?? ()
> No symbol table info available.
> #44 0x2817873f in ?? ()
> No symbol table info available.
> #45 0x00000033 in ?? ()
> No symbol table info available.
> #46 0x00000202 in ?? ()
> No symbol table info available.
> #47 0xbfbfe46c in ?? ()
> No symbol table info available.
> #48 0x0000003b in ?? ()
> No symbol table info available.
> #49 0x00000000 in ?? ()
> No symbol table info available.
> #50 0x00000000 in ?? ()
> No symbol table info available.
> #51 0x00000000 in ?? ()
> No symbol table info available.
> #52 0x00000000 in ?? ()
> No symbol table info available.
> #53 0x60abe000 in ?? ()
> No symbol table info available.
> #54 0xc3a593f8 in ?? ()
> No symbol table info available.
> #55 0xc3a5ad80 in ?? ()
> No symbol table info available.
> ---Type <return> to continue, or q <return> to quit---
> #56 0xee3e36d4 in ?? ()
> No symbol table info available.
> #57 0xee3e36b0 in ?? ()
> No symbol table info available.
> #58 0xc34df600 in ?? ()
> No symbol table info available.
> #59 0xc052d050 in sched_switch (td=0x0, newtd=0x80f3000, flags=Cannot access memory at address 0xbfbfe498
> ) at ../../../kern/sched_4bsd.c:971
> 	kg = (struct ksegrp *) 0x0
> 	p = (struct proc *) 0x0
> Previous frame inner to this frame (corrupt stack?)
>

-- 
Doug White                    |  FreeBSD: The Power to Serve
dwhite_at_gumbysoft.com          |  www.FreeBSD.org
Received on Sun May 08 2005 - 21:32:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:34 UTC