Date: Thu, 11 Oct 2001 00:25:14 -0600 (MDT) From: Heath Nielson <heath@cs.byu.edu> To: =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@freebsd.dk> Cc: <stable@FreeBSD.ORG> Subject: Re: Panic on DVD read Message-ID: <Pine.LNX.4.33.0110110001560.16433-100000@organ.cs.byu.edu> In-Reply-To: <Pine.LNX.4.33.0110101358490.12618-100000@organ.cs.byu.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 10 Oct 2001, Heath Nielson wrote:
> On Wed, 10 Oct 2001, Søren Schmidt wrote:
>
> > It seems Steve O'Hara-Smith wrote:
> > > On Wed, 10 Oct 2001 11:47:37 -0600 (MDT)
> > > Heath Nielson <heath@cs.byu.edu> wrote:
> > >
> > > HN> Does anyone have any clue what might be occurring here? I've cc'ed Søren
> > > HN> Schmidt since this seems to be related to the ata driver. I've also included
> > > HN> a dmesg of my system if it can help.
> > >
> > > This could be the VIA 686 data corruption problem biting you, if so
> > > you need a flash update.
> >
> > Nope, he has a VIA '686A which doesn't have that problem...
> >
> > However, without a dump, or at least the place where it panics
> > (use gdb on kernel.debug and the panic address), its hard to
> > say whats going on...
> >
> > -Søren
> >
>
> OK how is this done exactly? Here's what I did:
>
> bash-2.05$ gdb -k
> GNU gdb 4.18
> Copyright 1998 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-unknown-freebsd".
> (kgdb) symbol-file kernel.debug
>
> (kgdb) info line *0xc021e20f <-- IP at first panic
> Line 113 of "machine/atomic.h" starts at address 0xc021e20f <vm_fault+295>
> and ends at 0xc021e213 <vm_fault+299>.
>
> (kgdb) info line *0xc020cd04 <-- IP at second panic
> Line 271 of "../../ufs/ffs/ffs_softdep.c"
> starts at address 0xc020ccff <acquire_lock+67>
> and ends at 0xc020cd0a <acquire_lock+78>.
>
> Is there any other information I can provide?
>
> Heath
>
To follow up on my own message, I was able to get rid of the second panic
by turning off softupdates on my /usr partition (why is softupdates
causing a problem anyways?).
I was also able to get a crashdump. Apparently my USB keyboard was
somehow conflicting with the dump routine. When the dump first started
it printed 511 and then stopped, if I hit a key on the keyboard the
message "[Control-C to cancel]" would pop up. I found that each time I
hit a key on the keyboard, the harddrive's light would briefly light up
as if it was writing. Repeating the process 16 times caused the
decremented dump counter to appear. When I finally clued into this,
I tried the same thing again with a PS/2 keyboard and success. I'm
guessing that the dump process is somehow stuck waiting for the USB
keyboard.
Finally, here it a backtrace of the dump:
(kgdb) bt
#0 dumpsys () at ../../kern/kern_shutdown.c:473
#1 0xc015a4b3 in boot (howto=256) at ../../kern/kern_shutdown.c:313
#2 0xc015a880 in poweroff_wait (junk=0xc02ab9ec, howto=-1070942961)
at ../../kern/kern_shutdown.c:581
#3 0xc026843a in trap_fatal (frame=0xc02b3cfc, eva=58)
at ../../i386/i386/trap.c:956
#4 0xc026810d in trap_pfault (frame=0xc02b3cfc, usermode=0, eva=58)
at ../../i386/i386/trap.c:849
#5 0xc0267cf7 in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16,
tf_edi = -779649024, tf_esi = -1070715380, tf_ebp = -1070907940,
tf_isp = -1070908120, tf_ebx = 0, tf_edx = 0, tf_ecx = -1070908024,
tf_eax = 1, tf_trapno = 12, tf_err = 2, tf_eip = -1071521265, tf_cs = 8,
tf_eflags = 66182, tf_esp = 0, tf_ss = -1070715380})
at ../../i386/i386/trap.c:448
#6 0xc021e20f in vm_fault (map=0xc02e2e0c, vaddr=3515318272,
fault_type=3 '\003', fault_flags=0) at ../../vm/vm_object.h:189
#7 0xc02680ba in trap_pfault (frame=0xc02b3e50, usermode=0, eva=3515318272)
at ../../i386/i386/trap.c:838
#8 0xc0267cf7 in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16,
tf_edi = -779649024, tf_esi = 36864, tf_ebp = -1070907744,
tf_isp = -1070907780, tf_ebx = -1051628160, tf_edx = 368, tf_ecx = 8125,
tf_eax = -1053439360, tf_trapno = 12, tf_err = 2, tf_eip = -1071360054,
tf_cs = 8, tf_eflags = 66070, tf_esp = -1053295776, tf_ss = -1051628160})
at ../../i386/i386/trap.c:448
#9 0xc02457ca in atapi_read (request=0xc1516d80, length=36864)
at machine/cpufunc.h:225
#10 0xc024525f in atapi_interrupt (request=0xc1516d80)
at ../../dev/ata/atapi-all.c:391
#11 0xc023e6da in ata_intr (data=0xc135ca80) at ../../dev/ata/ata-all.c:1165
(kgdb) up
.
.
.
(kgdb) up
#10 0xc024525f in atapi_interrupt (request=0xc1516d80)
at ../../dev/ata/atapi-all.c:391
391 atapi_read(request, length);
(kgdb) print *request
$1 = {device = 0xc137fb60,
ccb = "(\000\000>\177wÓ\023ò\000\000\000\000\000\000", ccbsize = 12,
bytecount = 2560593920, donecount = 0, timeout = 3000, timeout_handle = {
callout = 0xcba19540}, retries = 0, result = 0, error = 0, sense = {
error_code = 0 '\000', valid = 0 '\000', segment = 0 '\000',
sense_key = 0 '\000', reserved2_4 = 0 '\000', ili = 0 '\000',
eom = 0 '\000', filemark = 0 '\000', cmd_info = 0,
sense_length = 0 '\000', cmd_specific_info = 0, asc = 0 '\000',
ascq = 0 '\000', replaceable_unit_code = 0 '\000', sk_specific = 0 '\000',
sksv = 0 '\000', sk_specific1 = 0 '\000', sk_specific2 = 0 '\000'},
flags = 1, data = 0xd1876ef4 "", callback = 0xc0247f28 <acd_done>,
dmatab = 0xc171a000, driver = 0xcba32088, chain = {tqe_next = 0x0,
tqe_prev = 0xc135cae0}}
Is there anything else I can provide you with?
Thanks,
Heath
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.33.0110110001560.16433-100000>
