Date: Mon, 3 May 2010 18:20:31 GMT From: Timur <intel@intrans.baku.az> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/146270: Divide by zero in ata driver Message-ID: <201005031820.o43IKV3q027225@www.freebsd.org> Resent-Message-ID: <201005031830.o43IU2O2061618@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 146270 >Category: kern >Synopsis: Divide by zero in ata driver >Confidential: no >Severity: critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon May 03 18:30:02 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Timur >Release: 8.0 >Organization: intrans >Environment: FreeBSD 8.0-STABLE #0: Mon May 3 20:08:53 AZST 2010 intel@proxy1.intrans.baku.az:/usr/obj/nanobsd.pppoe/usr/src/sys/PPPOE i386 >Description: when i try to boot freebsd from compact flash (using ide-cf convertor) it' panics boot from same card using usb-cf cardreader is succesful i've compiled kernel with ddebugger. bootlog & backtrace is here Boot: 1 /boot.config: -h Consoles: serial port BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 638kB/1037184kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 (intel@proxy1.intrans.baku.az, Mon May 3 18:00:16 AZST 2010) Loading /boot/defaults/loader.conf /boot/kernel/kernel text=0x4c55b0 data=0xb2cb4+0x618f0 syms=[0x4+0x5cef0+0x4+0x7f851] - Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/boot/kernel/kernel]... /boot/kernel/acpi.ko text=0x59188 data=0x2504+0x1948 syms=[0x4+0x9390+0x4+0xc8ef] KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2010 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-STABLE #0: Mon May 3 20:08:53 AZST 2010 intel@proxy1.intrans.baku.az:/usr/obj/nanobsd.pppoe/usr/src/sys/PPPOE i386 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Pentium(R) Dual-Core CPU E5300 @ 2.60GHz (2600.01-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x1067a Family = 6 Model = 17 Stepping = 10 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x400e3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,XSAVE> AMD Features=0x20100000<NX,LM> AMD Features2=0x1<LAHF> TSC: P-state invariant real memory = 1073741824 (1024 MB) avail memory = 1031294976 (983 MB) ACPI APIC Table: <GBT GBTUACPI> ioapic0: Changing APIC ID to 2 ioapic0 <Version 2.0> irqs 0-23 on motherboard kbd1 at kbdmux0 acpi0: <GBT GBTUACPI> on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, 3f4e0000 (3) failed Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0 cpu0: <ACPI CPU> on acpi0 acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 14318180 Hz quality 900 acpi_button0: <Power Button> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 vgapci0: <VGA-compatible display> port 0xff00-0xff07 mem 0xfdf00000-0xfdf7ffff,0xd0000000-0xdfffffff,0xfdc00000-0xfdcfffff irq 16 at device 2.0 on pci0 pci0: <multimedia, HDA> at device 27.0 (no driver attached) pcib1: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0 pci1: <ACPI PCI bus> on pcib1 pcib2: <ACPI PCI-PCI bridge> irq 17 at device 28.1 on pci0 pci2: <ACPI PCI bus> on pcib2 alc0: <Atheros AR8131 PCIe Gigabit Ethernet> port 0xbf00-0xbf7f mem 0xfdec0000-0xfdefffff irq 17 at device 0.0 on pci2 alc0: 15872 Tx FIFO, 15360 Rx FIFO alc0: Using 1 MSI message(s). miibus0: <MII bus> on alc0 atphy0: <Atheros F1 10/100/1000 PHY> PHY 0 on miibus0 atphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto alc0: Ethernet address: 6c:f0:49:49:cb:c7 alc0: [FILTER] uhci0: <Intel 82801G (ICH7) USB controller USB-A> port 0xfe00-0xfe1f irq 23 at device 29.0 on pci0 uhci0: [ITHREAD] usbus0: <Intel 82801G (ICH7) USB controller USB-A> on uhci0 uhci1: <Intel 82801G (ICH7) USB controller USB-B> port 0xfd00-0xfd1f irq 19 at device 29.1 on pci0 uhci1: [ITHREAD] usbus1: <Intel 82801G (ICH7) USB controller USB-B> on uhci1 uhci2: <Intel 82801G (ICH7) USB controller USB-C> port 0xfc00-0xfc1f irq 18 at device 29.2 on pci0 uhci2: [ITHREAD] usbus2: <Intel 82801G (ICH7) USB controller USB-C> on uhci2 uhci3: <Intel 82801G (ICH7) USB controller USB-D> port 0xfb00-0xfb1f irq 16 at device 29.3 on pci0 uhci3: [ITHREAD] usbus3: <Intel 82801G (ICH7) USB controller USB-D> on uhci3 ehci0: <Intel 82801GB/R (ICH7) USB 2.0 controller> mem 0xfdfff000-0xfdfff3ff irq 23 at device 29.7 on pci0 ehci0: [ITHREAD] usbus4: EHCI version 1.0 usbus4: <Intel 82801GB/R (ICH7) USB 2.0 controller> on ehci0 pcib3: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci3: <ACPI PCI bus> on pcib3 re0: <D-Link DGE-528(T) Gigabit Ethernet Adapter> port 0xde00-0xdeff mem 0xfdbff000-0xfdbff0ff irq 20 at device 0.0 on pci3 re0: Chip rev. 0x10000000 re0: MAC rev. 0x00000000 miibus1: <MII bus> on re0 rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus1 rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto re0: Ethernet address: 00:21:91:00:71:0f re0: [FILTER] isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel ICH7 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf800-0xf80f at device 31.1 on pci0 ata0: <ATA channel 0> on atapci0 ata0: [ITHREAD] atapci1: <Intel ICH7 SATA300 controller> port 0xf700-0xf707,0xf600-0xf603,0xf500-0xf507,0xf400-0xf403,0xf300-0xf30f irq 19 at device 31.2 on pci0 atapci1: [ITHREAD] ata2: <ATA channel 0> on atapci1 ata2: [ITHREAD] ata3: <ATA channel 1> on atapci1 ata3: [ITHREAD] pci0: <serial bus, SMBus> at device 31.3 (no driver attached) atrtc0: <AT realtime clock> port 0x70-0x73 on acpi0 fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: [FILTER] atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] pmtimer0 on isa0 orm0: <ISA Option ROM> at iomem 0xcc000-0xccfff pnpid ORM0000 on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x100> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode ppc0: [ITHREAD] ppbus0: <Parallel port bus> on ppc0 plip0: <PLIP network interface> on ppbus0 plip0: [ITHREAD] lpt0: <Printer> on ppbus0 lpt0: [ITHREAD] lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 uart0: [FILTER] uart0: console (9600,n,8,1) est0: <Enhanced SpeedStep Frequency Control> on cpu0 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 6160d2506000925 device_attach: est0 attach returned 6 p4tcc0: <CPU Frequency Thermal Control> on cpu0 Timecounter "TSC" frequency 2600013585 Hz quality 800 Timecounters tick every 1.000 msec usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 ugen0.1: <Intel> at usbus0 uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 ugen1.1: <Intel> at usbus1 uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 usbus2: 12Mbps Full Speed USB v1.0 usbus3: 12Mbps Full Speed USB v1.0 ugen2.1: <Intel> at usbus2 uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2 ugen3.1: <Intel> at usbus3 uhub3: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3 usbus4: 480Mbps High Speed USB v2.0 Fatal trap 18: integer divide fault while in kernel mode instruction pointer = 0x20:0xc085256b stack pointer = 0x28:0xc0c2090c frame pointer = 0x28:0xc0c20980 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) [thread pid 0 tid 100000 ] Stopped at __qdivrem+0x3b: divl %ecx,%eax db> show regs No such command db> show reg cs 0x20 ds 0x28 es 0xc0700028 setfflags+0xf8 fs 0x8 ss 0x28 eax 0x1 ecx 0 edx 0 ebx 0x1 esp 0xc0c2090c ebp 0xc0c20980 esi 0 edi 0 eip 0xc085256b __qdivrem+0x3b efl 0x90246 __qdivrem+0x3b: divl %ecx,%eax db> bt Tracing pid 0 tid 100000 td 0xc0991ff0 __qdivrem(0,0,0,0,c0c2099c,...) at __qdivrem+0x3b __umoddi3(0,0,0,0,0,...) at __umoddi3+0x2d ata_tf_write(c3f5ae58,c09d9fbc,1,c3c92e00,c3f5ae58,.) at ata_tf_write+0x301 ata_generic_command(c3f5ae58,c056761e,0,1f,1,...) at ata_generic_command+0x305 ata_begin_transaction(c3f5ae58,1,c0c20a78,c066e34d,c3f5aec4,...) at ata_begin_transaction+0x7e ata_start(c3dabc80,0,c0885147,cd,3300,...) at ata_start+0x21b ata_queue_request(c3f5ae58,0,101,c0adc,ef490003,...) at ata_queue_request+0x54d ata_controlcmd(c3dd4500,ef,3,0,0,...) at ata_controlcmd+0xda ata_setmode(c3dd4500,c0c20b3c,c04acb39,c3dd4500,c3e04c00,...) at ata_setmode+0xfa ad_init(c3dd4500,c3dbda60,101,fffffff8,c0991ff0,...) at ad_init+0x23 ad_attach(c3dd4500,c3caa05c,c0949738,c08a43c8,80000000,...) at ad_attach+0x2c3 device_attach(c3dd4500) at device_attach+0x36f device_probe_and_attach(c3dd4500,c3e04c00,c0c20cdc,c04908ce,c3dabc80,...) at device_probe_and_attach+0x2c bus_generic_attach(c3dabc80,1,0,0,0,...) at bus_generic_attach+0x19 ata_identify(c3dabc80,0,0,0,0,...) at ata_identify+0x32e ata_boot_attach(0,c0837358,c0c20d20,c0991ff0,c0c20d20,...) at ata_boot_attach+0x6f run_interrupt_driven_config_hooks(0,c1ec00,c1ec00,c1e000,c25000,...) at run_interrupt_driven_config_hooks+0x91 mi_startup() at mi_startup+0x96 begin() at begin+0x2c db> ------ kernel configuration is here ---- # # GENERIC -- Generic kernel configuration file for FreeBSD/i386 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.429.2.12 2006/08/08 09:49:59 yongari Exp $ machine i386 cpu I686_CPU ident PPPOE # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options NO_SWAPPING options KDB options KDB_TRACE options DDB options SCHED_ULE # ULE scheduler #options SCHED_4BSD # 4BSD scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options MD_ROOT # MD is a potential root device options NFSCLIENT # Network Filesystem Client options NFS_ROOT # NFS usable as /, requires NFSCLIENT options PROCFS # Process filesystem (requires PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework #options GEOM_GPT # GUID Partition Tables. options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD5 options COMPAT_FREEBSD7 # Compatible with FreeBSD5 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev #options ADAPTIVE_GIANT # Giant mutex is adaptive. device apic # I/O APIC device cpufreq # Bus support. device pci # Floppy drives device fdc # ATA and ATAPI devices device ata device atadisk # ATA disk drives device ataraid # ATA RAID drives device atapicd # ATAPI CDROM drives device atapifd # ATAPI floppy drives device atapist # ATAPI tape drives options ATA_STATIC_ID # Static device numbering # SCSI Controllers # SCSI peripherals device scbus # SCSI bus (required for SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) device ses # SCSI Environmental Services (and SAF-TE) # RAID controllers interfaced to the SCSI subsystem # RAID controllers # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device kbdmux # keyboard multiplexer device vga # VGA video card driver # syscons is the default console driver, resembling an SCO console device sc # Enable this for the pcvt (VT220 compatible) console driver #device vt #options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor # Power management support (see NOTES for more options) #device apm # Add suspend/resume support for the i8254. device pmtimer # PCCARD (PCMCIA) support # PCMCIA and cardbus bridge support # Serial (COM) ports #device sio # 8250, 16[45]50 based serial ports device uart # 8250, 16[45]50 based serial ports # Parallel port device ppc device ppbus # Parallel port bus (required) device lpt # Printer device plip # TCP/IP over parallel device ppi # Parallel port interface device #device vpo # Requires scbus and da # If you've got a "dumb" serial or parallel PCI card that is # supported by the puc(4) glue driver, uncomment the following # line to enable it (connects to the sio and/or ppc drivers): #device puc # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') device em # Intel PRO/1000 adapter Gigabit Ethernet Card device ixgb # Intel PRO/10GbE Ethernet Card device igb # Intel PRO/10GbE Ethernet Card device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'') # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support device ae # Attansic/Atheros L2 FastEthernet device age # Attansic/Atheros L1 Gigabit Ethernet device alc # Atheros AR8131/AR8132 Ethernet device ale # Atheros AR8121/AR8113/AR8114 Ethernet device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet device bfe # Broadcom BCM440x 10/100 Ethernet device bge # Broadcom BCM570xx Gigabit Ethernet device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) device lge # Level 1 LXT1001 gigabit Ethernet device nge # NatSemi DP83820 gigabit Ethernet device pcn # AMD Am79C97x PCI 10/100(precedence over 'lnc') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 device sf # Adaptec AIC-6915 (``Starfire'') device sis # Silicon Integrated Systems SiS 900/SiS 7016 device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet device ste # Sundance ST201 (D-Link DFE-550TX) device stge # Sundance/Tamarack TC9021 gigabit Ethernet #device ti # Alteon Networks Tigon I/II gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') device vge # VIA VT612x gigabit Ethernet device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') device et # Agere ET1310 10/100/Gigabit Ethernet device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device nfe # nVidia nForce MCP on-board Ethernet device ti # Alteon Networks Tigon I/II gigabit Ethernet # ISA Ethernet NICs. pccard NICs included. # Wireless NIC cards # Pseudo devices. device loop # Network loopback device random # Entropy device device ether # Ethernet support #device sl # Kernel SLIP #device ppp # Kernel PPP device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) device firmware # firmware assist module # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices #device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da # USB Ethernet, requires miibus # FireWire support >How-To-Repeat: boot from cfcard using ide-cf convertor (i don't shure, may depends on cf card) >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005031820.o43IKV3q027225>