Re: panic upon bootstrap'ing - 6.0-CURRENT #4: Wed Apr 13 2005

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 15 Apr 2005 12:32:40 -0400
On Apr 13, 2005, at 8:56 AM, Wilkinson, Alex wrote:

> FreeBSD 6.0-CURRENT #4: Wed Apr 13 21:06:05 CST 2005
>
> FreeBSD/i386 bootstrap loader, Revision 1.1
> (root_at_hostname.dsto.defence.gov.au, Wed Apr 13 18:58:54 CST 2005)
> Loading /boot/defaults/loader.conf
>
> /boot/kernel/kernel text=0x4e8874 data=0x7f7f0+0x9bd10  
> syms=[0x4+0x59560+0x4+0x6da15]
> /boot/kernel/linux.ko text=0x14ec8 data=0x1254+0x54  
> syms=[0x4+0x28b0+0x4+0x263e]
> /boot/kernel/agp.ko text=0xead4 data=0xc18+0x24  
> syms=[0x4+0x1730+0x4+0x1fc6]
> /boot/modules/nvidia.ko text=0x21a01c data=0x5d000+0x202a98  
> syms=[0x4+0x1e5b0+0x4+0x16d12]
> -
> Hit [Enter] to boot immediately, or any other key for command prompt.
> Booting [/boot/kernel/kernel]...
> /boot/kernel/acpi.ko text=0x49ac0 data=0x2124+0x110c  
> syms=[0x4+0x77c0+0x4+0x9f1a]
> GDB: no debug ports present
> KDB: debugger backends: ddb
> KDB: current backend: ddb
> Copyright (c) 1992-2005 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 6.0-CURRENT #4: Wed Apr 13 21:06:05 CST 2005
>     root_at_hostname.dsto.defence.gov.au:/usr/obj/usr/src/sys/GENERIC
> WARNING: WITNESS option enabled, expect reduced performance.
> Timecounter "i8254" frequency 1193182 Hz quality 0
> CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz (2793.20-MHz 686-class CPU)
>   Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
>    
> Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PG 
> E,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
> real memory  = 1073741824 (1024 MB)
> avail memory = 1033625600 (985 MB)
> ACPI APIC Table: <COMPAQ SPRINGD >
> ioapic0: Changing APIC ID to 1
> ioapic0 <Version 2.0> irqs 0-23 on motherboard
> npx0: [FAST]
> npx0: <math processor> on motherboard
> npx0: INT 16 interface
> acpi0: <COMPAQ CPQ0064> on motherboard
> acpi0: Power Button (fixed)
> Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
> acpi_timer0: <24-bit timer at 3.579545MHz> port 0xf808-0xf80b on acpi0
> cpu0: <ACPI CPU> on acpi0
> acpi_throttle0: <ACPI CPU Throttling> on cpu0
> pci_link0: <ACPI PCI Link LNKA> irq 10 on acpi0
> pci_link1: <ACPI PCI Link LNKB> irq 5 on acpi0
> pci_link2: <ACPI PCI Link LNKC> irq 10 on acpi0
> pci_link3: <ACPI PCI Link LNKD> irq 11 on acpi0
> pci_link4: <ACPI PCI Link LNKE> irq 5 on acpi0
> pci_link5: <ACPI PCI Link LNKF> irq 0 on acpi0
> pci_link6: <ACPI PCI Link LNKG> irq 0 on acpi0
> pci_link7: <ACPI PCI Link LNKH> irq 10 on acpi0
> pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
> pci0: <ACPI PCI bus> on pcib0
> agp0: <Intel 82865 host to AGP bridge> mem 0xec000000-0xefffffff at  
> device 0.0 on pci0
> pcib1: <PCI-PCI bridge> at device 1.0 on pci0
> pci1: <PCI bus> on pcib1
> nvidia0: <GeForce FX 5200> mem  
> 0xf9000000-0xf9ffffff,0xf0000000-0xf7ffffff irq 18 at device 0.0 on  
> pci1
> WARNING: Device driver "lock order reversal
>  1st 0xc09831e0 cdev (cdev) _at_ /usr/src/sys/kern/kern_conf.c:60
>  2nd 0xc0982f84 user map (user map) _at_ /usr/src/sys/vm/vm_map.c:2998
> KDB: stack backtrace:
> witness_checkorder(c0982f84,9,c08d9700,bb6,b) at  
> witness_checkorder+0x5f1
> _sx_xlock(c0982f84,c08d9700,bb6,1000001,480000) at _sx_xlock+0x5c
> vm_map_lookup(c1420728,480000,1,c142072c,c142071c) at  
> vm_map_lookup+0x2e
> vm_fault(c0982f40,480000,1,0,c0982de0) at vm_fault+0x7b
> trap_pfault(480008,c142083c,c0682d05,c183afe4,480008) at  
> trap_pfault+0x159
> trap(18,c1420010,c06a0010,480008,c08bb8f5) at trap+0x34d
> calltrap() at calltrap+0x5
> --- trap 0xc, eip = 0xc06d6224, esp = 0xc142083c, ebp = 0xc142083c ---
> strlen(480008,c1420924,1,6,18) at strlen+0x8

Looks like a bad pointer passed to strlen().  Looks like the nvidia  
driver was doing a printf("Warning Device driver\"%s\"", foo) and that  
foo is a bad pointer somehow.  Actually, this looks like it's in the  
FreeBSD driver code rather than in the nvidia driver.  In fact, it's  
probably this code:

         if (devsw->d_version != D_VERSION_01) {
                 printf(
                     "WARNING: Device driver \"%s\" has wrong version  
%s\n",
                     devsw->d_name, "and is disabled.  Recompile KLD  
module.");

You probably need to recompile your nvidia driver as the kernel has  
changed the devsw ABI since the last time you compiled it.

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Fri Apr 15 2005 - 14:32:55 UTC

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