Skip site navigation (1)Skip section navigation (2)
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>