Re: Sony V505BX ATA panic

From: Simon L. Nielsen <simon_at_FreeBSD.org>
Date: Sat, 14 Feb 2004 22:44:13 +0100
On 2004.02.14 21:50:33 +0100, Søren Schmidt wrote:
> Simon L. Nielsen wrote:
> >On 2004.02.14 21:38:37 +0100, Søren Schmidt wrote:
> >
> >>Simon L. Nielsen wrote:
> >>
> >>>On 2004.02.14 20:24:51 +0300, Maxim Konovalov wrote:
> >>>
> >>>
> >>>>Hi Soren,
> >>>>
> >>>>It seems the following commit broke my Sony V505BX:
> >>>>
> >>>>%sos         2004/01/30 11:16:08 PST
> >>>>%
> >>>>%  FreeBSD src repository
> >>>>%
> >>>>%    Modified files:
> >>>>%      sys/dev/ata          ata-all.c ata-queue.c
> >>>>%    Log:
> >>>>%    Be more robust in the probe. We dont want to get into a loop with
> >>>>%    reinitting when we try to identify devices. If they dont interrupt
> >>>>%    on identify we retry once. If this fails we simply ignore that 
> >>>>device.
> >>>>%
> >>>>%    Revision  Changes    Path
> >>>>%    1.203     +10 -11    src/sys/dev/ata/ata-all.c
> >>>>%    1.19      +28 -13    src/sys/dev/ata/ata-queue.c
> >>>>
> >>>>It panics right after the message
> >>>>
> >>>>ad0: 57231MB <FUJITSU MHS2060AT> [116280/16/63] at ata0-master UDMA100
> >>>>ata1-slave: TIMEOUT - ATAPI_IDENTIFY no interrupt
> >>>>ata1-slave: TIMEOUT - ATAPI_IDENTIFY no interrupt
> >>>>acd0: CDRW <UJDA745 DVD/CDRW> at ata1-master UDMA33
> >>>
> >>>
> >>>This also makes my IBM Thinkpad R40 boot again.
> >>
> >>And it disables the LiteOn workaround...
> >
> >
> >Yes, exactly... (hardware sucks) I mainly wanted to let other poeple
> >with the same hardware know about this workaround.
> >
> >Since this is a real panic, and not a hang, I think this workaround just
> >hides the real problem which might be somewhere else.  I hope to have a
> >look what really goes wrong tomorrow.  I guess it's time to try firewire
> >debugging.
> >
> >BTW. I haven't told you about the problem before because didn't want to
> >bother you with the problem until I could give you a proper error
> >report.
> 
> Just get a panic with ddb and get me the traceback...

Here it goes :

atapci0: <Intel ICH4 UDMA100 controller> port 0x1860-0x186f,0-0x3,0-0x7,0-0x3,0-0x7 at device 31.1 on pci0
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0-master: stat=0x50 err=0x01 lsb=0x00 msb=0x00
ata0-slave:  stat=0x00 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 mask=03 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
ata0: at 0x1f0 irq 14 on atapci0
ata0: [MPSAFE]
ata1: reset tp1 mask=03 ostat0=50 ostat1=00
ata1-master: stat=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1-slave:  stat=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1: reset tp2 mask=03 stat0=00 stat1=00 devices=0xc<ATAPI_SLAVE,ATAPI_MASTER>
ata1: at 0x170 irq 15 on atapci0
ata1: [MPSAFE]

[snip]

ata0-master: pio=0x0c wdma=0x22 udma=0x45 cable=80pin
ata0-master: setting PIO4 on Intel ICH4 chip
ata0-master: setting UDMA100 on Intel ICH4 chip
ad0: <HTS548080M9AT00/MG4OA50A> ATA-6 disk at ata0-master
ad0: 73863MB (151271845 sectors), 150071 C, 16 H, 63 S, 512 B
ad0: 16 secs/int, 1 depth queue, UDMA100

[snip]

ata1-slave: FAILURE - ATAPI_IDENTIFY no interrupt
ata1-slave: FAILURE - ATAPI_IDENTIFY no interrupt
ata1-master: pio=0x0c wdma=0x22 udma=0x42 cable=40pin
ata1-master: setting PIO4 on Intel ICH4 chip
acd0: <UJDA740 DVD/CDRW/1.04> CDRW drive at ata1 as master
acd0: read 689KB/s (4134KB/s) write 4134KB/s (4134KB/s), 2048KB buffer, PIO4
acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, DVDRAM, packet
acd0: Writes: CDR, CDRW, test write, burnproof
acd0: Audio: play, 256 volume levels
acd0: Mechanism: ejectable tray, unlocked
acd0: Medium: CD-R 120mm data disc
Memory modified after free 0xc4667200(508) val=1000100 _at_ 0xc4667200


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x1000120
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc06627c2
stack pointer           = 0x10:0xc0c21ba4
frame pointer           = 0x10:0xc0c21bc0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 0 (swapper)
kernel: type 12 trap, code=0
Stopped at      mtrash_ctor+0x3a:       movl    0x20(%eax),%eax
db> trace
mtrash_ctor(c4667200,200,0) at mtrash_ctor+0x3a
uma_zalloc_arg(c1051cc0,0,1) at uma_zalloc_arg+0x169
malloc(1a0,c072a4a0,1,c443dd80,c457b3c0) at malloc+0xb7
xpt_alloc_device(c443dd80,c457b3c0,0) at xpt_alloc_device+0x3e
xpt_compile_path(c4482bd0,c1985d80,0,2,0) at xpt_compile_path+0x84
xpt_create_path(c0c21ca4,c1985d80,0,2,0) at xpt_create_path+0x49
xpt_scan_bus(c1985d80,c4661400,c0c21cf0,c043a51d,c443ddc0) at xpt_scan_bus+0xea
xpt_action(c4661400,c4661400,c443dd80,c043a030,c0c21d14) at xpt_action+0x7e2
xpt_finishconfig(c1985d80,c4661400) at xpt_finishconfig+0x30
xptconfigfunc(c443dd80,0,c0c21d40,c0439e97,c443dd80) at xptconfigfunc+0x10b
xptdefbusfunc(c443dd80,c0c21d54) at xptdefbusfunc+0x15
xptbustraverse(0,c043a030,c0c21d54,0,c043d590) at xptbustraverse+0x2b
xpt_for_all_busses(c043d590,0) at xpt_for_all_busses+0x29
xpt_config(0) at xpt_config+0x74
run_interrupt_driven_config_hooks(0,c1ec00,c1e000,0,c0435ad5) at run_interrupt_driven_config_hooks+0x18
mi_startup() at mi_startup+0x96
begin() at begin+0x2c
db> 

I got Firewire debugging up and running (laptop has no serial) so I
might be able to get a gdb tradeback (haven't tried yet).

If you need anything else, just let me know.

-- 
Simon L. Nielsen
FreeBSD Documentation Team

Received on Sat Feb 14 2004 - 12:44:15 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:43 UTC