Date: Tue, 23 Nov 1999 15:00:51 +0100 (CET) From: assar@stacken.kth.se To: FreeBSD-gnats-submit@freebsd.org Cc: assar@stacken.kth.se Subject: kern/15063: "indirect pointer mismatch" in softdep Message-ID: <199911231400.PAA00403@mulet.e.kth.se>
next in thread | raw e-mail | index | archive | help
>Number: 15063 >Category: kern >Synopsis: "indirect pointer mismatch" in softdep >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Nov 23 06:10:00 PST 1999 >Closed-Date: >Last-Modified: >Originator: Assar Westerlund >Release: FreeBSD 4.0-CURRENT i386 >Organization: none >Environment: FreeBSD mulet.e.kth.se 4.0-CURRENT FreeBSD 4.0-CURRENT #1: Tue Nov 23 04:18:52 CET 1999 root@mulet.e.kth.se:/usr/src/sys/compile/MULET i386 Mark set [2 times] kernel configuration file: # # MULET based on GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.freebsd.org/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 ./LINT configuration file. If you are # in doubt as to the purpose or necessity of a line, check first in LINT. # # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.199 1999/11/01 04:02:56 peter Exp $ machine "i386" cpu "I686_CPU" ident MULET maxusers 64 makeoptions DEBUG="-g" #Build kernel with gdb(1) debug symbols options INET #InterNETworking options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options MFS #Memory Filesystem options MFS_ROOT #MFS usable as root device, "MFS" req'ed options NFS #Network Filesystem options NFS_ROOT #NFS usable as root device, "NFS" req'ed options MSDOSFS #MSDOS Filesystem options "CD9660" #ISO 9660 Filesystem options "CD9660_ROOT" #CD-ROM usable as root. "CD9660" req'ed options PROCFS #Process filesystem # Soft updates is technique for improving file system speed and # making abrupt shutdown less risky. It is not enabled by default due # to copyright restraints on the code that implement it. # # Read ../../ufs/ffs/README.softupdates to learn what you need to # do to enable this. ../../contrib/softupdates/README gives # more details on how they actually work. # options SOFTUPDATES options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=15000 #Be pessimistic about Joe SCSI device options UCONSOLE #Allow users to grab the console options USERCONFIG #boot -c editor options VISUAL_USERCONFIG #visual boot -c editor options INCLUDE_CONFIG_FILE # Include this file in kernel options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores ##################################################################### # DEBUGGING OPTIONS # # Enable the kernel debugger. # options DDB # # Don't drop into DDB for a panic. Intended for unattended operation # where you may want to drop to DDB from the console, but still want # the machine to recover from a panic # options DDB_UNATTENDED # # If using GDB remote mode to debug the kernel, there's a non-standard # extension to the remote protocol that can be used to use the serial # port as both the debugging port and the system console. It's non- # standard and you're on your own if you enable it. See also the # "remotechat" variables in the FreeBSD specific version of gdb. # options GDB_REMOTE_CHAT # # KTRACE enables the system-call tracing facility ktrace(2). # options KTRACE #kernel tracing # # The INVARIANTS option is used in a number of source files to enable # extra sanity checking of internal structures. This support is not # enabled by default because of the extra time it would take to check # for these conditions, which can only occur as a result of # programming errors. # options INVARIANTS # # The INVARIANT_SUPPORT option makes us compile in support for # verifying some of the internal structures. It is a prerequisite for # 'INVARIANTS', as enabling 'INVARIANTS' will make these functions be # called. The intent is that you can set 'INVARIANTS' for single # source files (by changing the source file or specifying it on the # command line) if you have 'INVARIANT_SUPPORT' enabled. # options INVARIANT_SUPPORT # # The DIAGNOSTIC option is used to enable extra debugging information # from some parts of the kernel. As this makes everything more noisy, # it is disabled by default. # options DIAGNOSTIC # # PERFMON causes the driver for Pentium/Pentium Pro performance counters # to be compiled. See perfmon(4) for more information. # options PERFMON # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O # Optionally these may need tweaked, (defaults shown): #options NCPU=2 # number of CPUs #options NBUS=4 # number of busses #options NAPIC=1 # number of IO APICs #options NINTR=24 # number of INTs controller isa0 controller pnp0 # PnP support for ISA controller eisa0 controller pci0 # Floppy drives controller fdc0 at isa? port IO_FD1 irq 6 drq 2 device fd0 at fdc0 drive 0 device fd1 at fdc0 drive 1 # IDE controller and disks controller wdc0 at isa? port IO_WD1 irq 14 device wd0 at wdc0 drive 0 device wd1 at wdc0 drive 1 controller wdc1 at isa? port IO_WD2 irq 15 device wd2 at wdc1 drive 0 device wd3 at wdc1 drive 1 # ATAPI devices on wdc? device wcd0 #IDE CD-ROM device wfd0 #IDE Floppy (e.g. LS-120) device wst0 #IDE Tape (e.g. Travan) # SCSI Controllers # A single entry for any of these controllers (ncr, ahb, ahc) is # sufficient for any number of installed devices. controller ncr0 # NCR/Symbios Logic controller ahb0 # EISA AHA1742 family controller ahc0 # AHA2940 and onboard AIC7xxx devices controller amd0 # AMD 53C974 (Teckram DC-390(T)) controller isp0 # Qlogic family controller dpt0 # DPT Smartcache - See LINT for options! controller adv0 at isa? port ? irq ? controller adw0 controller bt0 at isa? port ? irq ? controller aha0 at isa? port ? irq ? # SCSI peripherals # Only one of each of these is needed, they are dynamically allocated. controller scbus0 # SCSI bus (required) device da0 # Direct Access (disks) device sa0 # Sequential Access (tape etc) device cd0 # CD device pass0 # Passthrough device (direct SCSI access) # Proprietary or custom CD-ROM Interfaces device wt0 at isa? port 0x300 irq 5 drq 1 device mcd0 at isa? port 0x300 irq 10 device matcd0 at isa? port 0x230 device scd0 at isa? port 0x230 # atkbdc0 controls both the keyboard and the PS/2 mouse controller atkbdc0 at isa? port IO_KBD device atkbd0 at atkbdc? irq 1 device psm0 at atkbdc? irq 12 device vga0 at isa? port ? conflicts # splash screen/screen saver pseudo-device splash # syscons is the default console driver, resembling an SCO console device sc0 at isa? # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver #device vt0 at isa? #options XSERVER # support for X server #options FAT_CURSOR # start with block cursor # If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines #options PCVT_SCANSET=2 # IBM keyboards are non-std # Floating point support - do not disable. device npx0 at nexus? port IO_NPX irq 13 # Power management support (see LINT for more options) device apm0 at nexus? disable flags 0x31 # Advanced Power Management # PCCARD (PCMCIA) support #controller card0 #device pcic0 at isa? #device pcic1 at isa? # Serial (COM) ports device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3 device sio2 at isa? disable port IO_COM3 irq 5 device sio3 at isa? disable port IO_COM4 irq 9 # Parallel port device ppc0 at isa? port? flags 0x40 irq 7 controller ppbus0 # Parallel port bus (required) device lpt0 # Printer device plip0 # TCP/IP over parallel device ppi0 # Parallel port interface device #controller vpo0 # Requires scbus and da0 # PCI Ethernet NICs. device ax0 # ASIX AX88140A device de0 # DEC/Intel DC21x4x (``Tulip'') device fxp0 # Intel EtherExpress PRO/100B (82557, 82558) device pn0 # Lite-On 82c168/82c169 (``PNIC'') device tx0 # SMC 9432TX (83c170 ``EPIC'') device vx0 # 3Com 3c590, 3c595 (``Vortex'') # PCI Ethernet NICs that use the common MII bus controller code. controller miibus0 # MII bus support device al0 # ADMtek AL981/AN985 (``Comet''/``Centaur'') device dm0 # Davicom DM9100/DM9102 device mx0 # Macronix 98713/98715/98725 (``PMAC'') device rl0 # RealTek 8129/8139 device sf0 # Adaptec AIC-6915 (``Starfire'') device sis0 # Silicon Integrated Systems SiS 900/SiS 7016 device ste0 # Sundance ST201 (D-Link DFE-550TX) device tl0 # Texas Instruments ThunderLAN device vr0 # VIA Rhine, Rhine II device wb0 # Winbond W89C840F device xl0 # 3Com 3c90x (``Boomerang'', ``Cyclone'') # ISA Ethernet NICs. device ed0 at isa? port 0x280 irq 10 iomem 0xd8000 device ex0 at isa? port? irq? #device ep0 # The probe order of these is presently determined by i386/isa/isa_compat.c. device ie0 at isa? port 0x300 irq 10 iomem 0xd0000 device fe0 at isa? port 0x300 irq ? device le0 at isa? port 0x300 irq 5 iomem 0xd0000 device lnc0 at isa? port 0x280 irq 10 drq 0 device cs0 at isa? port 0x300 irq ? # requires PCCARD (PCMCIA) support to be activated #device xe0 at isa? port? irq ? # PCCARD NIC drivers. # ze and zp take over the pcic and cannot coexist with generic pccard # support, nor the ed and ep drivers they replace. #device ze0 at isa? port 0x300 irq 10 iomem 0xd8000 #device zp0 at isa? port 0x300 irq 10 iomem 0xd8000 # Pseudo devices - the number indicates how many units to allocated. pseudo-device loop # Network loopback pseudo-device ether # Ethernet support pseudo-device sl 1 # Kernel SLIP pseudo-device ppp 1 # Kernel PPP pseudo-device tun # Packet tunnel. pseudo-device pty # Pseudo-ttys (telnet etc) pseudo-device gzip # Exec gzipped a.out's # The `bpf' pseudo-device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! pseudo-device bpf #Berkeley packet filter # USB support #controller uhci0 # UHCI PCI->USB interface #controller ohci0 # OHCI PCI->USB interface #controller usb0 # USB Bus (required) #device ugen0 # Generic #device uhid0 # "Human Interface Devices" #device ukbd0 # Keyboard #device ulpt0 # Printer #controller umass0 # Disks/Mass storage - Requires scbus and da0 #device ums0 # Mouse >Description: IdlePTD 3809280 initial pcb at 31dbc0 panicstr: softdep_lock: locking against myself panic messages: --- panic: softdep_write_inodeblock: indirect pointer #0 mismatch 0 != 903440 syncing disks... panic: softdep_lock: locking against myself dumping to dev #wd/0x20001, offset 272800 dump 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 --- #0 boot (howto=260) at ../../kern/kern_shutdown.c:273 (kgdb) bt #0 boot (howto=260) at ../../kern/kern_shutdown.c:273 #1 0xc016c699 in panic (fmt=0xc02d5780 "softdep_lock: locking against myself") at ../../kern/kern_shutdown.c:523 #2 0xc0235129 in acquire_lock (lk=0xc030c634) at ../../ufs/ffs/ffs_softdep.c:266 #3 0xc0238b80 in softdep_update_inodeblock (ip=0xc0c49200, bp=0xc3444ef8, waitfor=0) at ../../ufs/ffs/ffs_softdep.c:3487 #4 0xc02343ad in ffs_update (vp=0xc8e19060, waitfor=0) at ../../ufs/ffs/ffs_inode.c:105 #5 0xc023bcd4 in ffs_sync (mp=0xc0b09400, waitfor=2, cred=0xc073b900, p=0xc0333e60) at ../../ufs/ffs/ffs_vfsops.c:986 #6 0xc0197163 in sync (p=0xc0333e60, uap=0x0) at ../../kern/vfs_syscalls.c:545 #7 0xc016c0af in boot (howto=256) at ../../kern/kern_shutdown.c:197 #8 0xc016c699 in panic ( fmt=0xc02d64a0 "%s: indirect pointer #%ld mismatch %d != %d") at ../../kern/kern_shutdown.c:523 #9 0xc0237fc8 in initiate_write_inodeblock (inodedep=0xc0d15400, bp=0xc34457f0) at ../../ufs/ffs/ffs_softdep.c:2831 #10 0xc0237cdb in softdep_disk_io_initiation (bp=0xc34457f0) at ../../ufs/ffs/ffs_softdep.c:2677 #11 0xc01a14a6 in spec_strategy (ap=0xc840deb0) at ../../miscfs/specfs/spec_vnops.c:413 #12 0xc01a0fbd in spec_vnoperate (ap=0xc840deb0) at ../../miscfs/specfs/spec_vnops.c:121 #13 0xc0243fd1 in ufs_vnoperatespec (ap=0xc840deb0) at ../../ufs/ufs/ufs_vnops.c:2319 #14 0xc018d119 in bwrite (bp=0xc34457f0) at vnode_if.h:940 #15 0xc019247a in vop_stdbwrite (ap=0xc840df20) at ../../kern/vfs_default.c:314 #16 0xc01922d9 in vop_defaultop (ap=0xc840df20) at ../../kern/vfs_default.c:134 #17 0xc01a0fbd in spec_vnoperate (ap=0xc840df20) at ../../miscfs/specfs/spec_vnops.c:121 #18 0xc0243fd1 in ufs_vnoperatespec (ap=0xc840df20) at ../../ufs/ufs/ufs_vnops.c:2319 #19 0xc018dfee in vfs_bio_awrite (bp=0xc34457f0) at vnode_if.h:1189 #20 0xc023d239 in ffs_fsync (ap=0xc840df88) at ../../ufs/ffs/ffs_vnops.c:210 #21 0xc0194bd8 in sched_sync () at vnode_if.h:533 #22 0xc026ed60 in fork_trampoline () Cannot access memory at address 0x2000. (kgdb) f 8 #8 0xc016c699 in panic ( fmt=0xc02d64a0 "%s: indirect pointer #%ld mismatch %d != %d") at ../../kern/kern_shutdown.c:523 (kgdb) up #9 0xc0237fc8 in initiate_write_inodeblock (inodedep=0xc0d15400, bp=0xc34457f0) at ../../ufs/ffs/ffs_softdep.c:2831 (kgdb) print *adp $1 = {ad_list = {wk_list = {le_next = 0x0, le_prev = 0xc344fd2c}, wk_type = 4, wk_state = 32777}, ad_next = {tqe_next = 0x0, tqe_prev = 0xc0d15444}, ad_lbn = 12, ad_newblkno = 903440, ad_oldblkno = 0, ad_newsize = 8192, ad_oldsize = 0, ad_deps = {le_next = 0xc0ba6300, le_prev = 0xc0d1acb0}, ad_buf = 0x0, ad_inodedep = 0xc0d15400, ad_freefrag = 0x0} (kgdb) p dp->di_ib[adp->ad_lbn - NADDR] No symbol "NADDR" in current context. (kgdb) p dp->di_ib[adp->ad_lbn - 12] $2 = 0 (kgdb) >How-To-Repeat: stressing the file system. haven't figured out exactly what sequence of operations seems to cause this. >Fix: none known :-( >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911231400.PAA00403>