kern/58391: Trap 12 with heavy disk load on ide vinum mirror

Alexander Haderer alexander.haderer at charite.de
Thu Oct 23 06:10:32 PDT 2003


The following reply was made to PR kern/58391; it has been noted by GNATS.

From: Alexander Haderer <alexander.haderer at charite.de>
To: Greg 'groggy' Lehey <grog at FreeBSD.org>
Cc: FreeBSD-gnats-submit at FreeBSD.org
Subject: Re: kern/58391: Trap 12 with heavy disk load on ide vinum
  mirror
Date: Thu, 23 Oct 2003 14:54:38 +0200

 At 11:43 23.10.2003 +0930, Greg 'groggy' Lehey wrote:
 >On Wednesday, 22 October 2003 at 21:26:36 +0200, Alexander Haderer wrote:
 >>
 >>> Description:
 >> Setup: A single CPU x86 running 4.8R with GENERIC kernel, a SCSI disk
 >> holds OS and two 160G Maxtor disks (ad0, ad2) setup as vinum mirror
 >> to hold data (whole disk). Ata write cache is off as well as hw.ata.tags.
 >>
 >> When doing high io load to the ide disks the kernel panics with trap 12:
 >>
 >> Fatal trap 12: page fault while in kernel mode
 >
 >Please take a dump of the system and supply a back trace.  Ensure that
 >you have debugging symbols in the kernel.  Don't delete the dump: I
 >will need more information.
 
 Here comes the backtrace. This time we get a trap 18 with div by zero.
 
 gdb -k -s kernel.debug -e /var/crash/kernel.11 -c /var/crash/vmcore.11=20
 gdb where full:
 
 GNU gdb 4.18 (FreeBSD)
 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"...
 IdlePTD at phsyical address 0x00538000
 initial pcb at physical address 0x0046cec0
 panicstr: integer divide fault
 panic messages:
 ---
 Fatal trap 18: integer divide fault while in kernel mode
 instruction pointer     =3D 0x8:0xc039fe9a
 stack pointer           =3D 0x10:0xd1a37c5c
 frame pointer           =3D 0x10:0xd1a37cc8
 code segment            =3D base 0x0, limit 0xfffff, type 0x1b
                         =3D DPL 0, pres 1, def32 1, gran 1
 processor eflags        =3D interrupt enabled, resume, IOPL =3D 0
 current process         =3D 504 (vinum)
 interrupt mask          =3D none
 trap number             =3D 18
 panic: integer divide fault
 
 syncing disks... 76 72 67 64 62 62 56 56 52 51 51 46 46 41 41 36 36 31 31 26=
  26 22 21 21 16 16 12 11 11 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2=20
 giving up on 2 buffers
 Uptime: 1h12m5s
 
 dumping to dev #da/0x20001, offset 3670144
 dump 255 254 253 252 251 250 249 248 247 246 245 244 243 242 241 240 239 238=
  237 236 235 234 233 232 231 230 229 228 227 226 225 224 223 222 221 220 219=
  218 217 216 215 214 213 212 211 210 209 208 207 206 205 204 203 202 201 200=
  199 198 197 196 195 194 193 192 191 190 189 188 187 186 185 184 183 182 181=
  180 179 178 177 176 175 174 173 172 171 170 169 168 167 166 165 164 163 162=
  161 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143=
  142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 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=20
 ---
 #0  dumpsys () at ../../kern/kern_shutdown.c:487
 487             if (dumping++) {
 #0  dumpsys () at ../../kern/kern_shutdown.c:487
         error =3D 0
 #1  0xc0216273 in boot (howto=3D256) at ../../kern/kern_shutdown.c:316
         howto =3D 256
 #2  0xc0216698 in poweroff_wait (junk=3D0xc040440c, howto=3D-1069531382)
     at ../../kern/kern_shutdown.c:595
         fmt =3D 0xc040440c "%s"
         bootopt =3D 256
         buf =3D "integer divide fault", '\000' <repeats 235 times>
 #3  0xc0389f0e in trap_fatal (frame=3D0xd1a37c1c, eva=3D0)
     at ../../i386/i386/trap.c:974
         frame =3D (struct trapframe *) 0x100
         code =3D -1069530100
         type =3D 18
         ss =3D -1069530100
         esp =3D 0
         softseg =3D {ssd_base =3D 0, ssd_limit =3D 1048575, ssd_type =3D 27,=
 =20
   ssd_dpl =3D 0, ssd_p =3D 1, ssd_xx =3D 11, ssd_xx1 =3D 3, ssd_def32 =3D 1,=
 =20
   ssd_gran =3D 1}
 #4  0xc03898eb in trap (frame=3D{tf_fs =3D 16, tf_es =3D 16, tf_ds =3D 16,=
  tf_edi =3D 0,=20
       tf_esi =3D 0, tf_ebp =3D -777814840, tf_isp =3D -777814968, tf_ebx =3D=
  4096,=20
       tf_edx =3D 0, tf_ecx =3D 0, tf_eax =3D 1, tf_trapno =3D 18, tf_err =3D=
  0,=20
       tf_eip =3D -1069941094, tf_cs =3D 8, tf_eflags =3D 66118, tf_esp =3D=
  0,=20
       tf_ss =3D 4096}) at ../../i386/i386/trap.c:636
         p =3D (struct proc *) 0xd19d85a0
         sticks =3D 10
         i =3D 0
         ucode =3D 0
         type =3D 18
         code =3D 0
         eva =3D 0
 #5  0xc039fe9a in __qdivrem (uq=3D4096, vq=3D0, arq=3D0x0)
     at ../../libkern/qdivrem.c:100
         zero =3D 0
         uq =3D 15106053227377852416
         vq =3D 0
         tmp =3D {q =3D -4601592171749737248, uq =3D -4601592171749737248, sl=
  =3D {
     -777814816, -1071391668}, ul =3D {3517152480, 3223575628}}
         u =3D (digit *) 0x0
         v =3D (digit *) 0x9
         q =3D (digit *) 0xd1a37cb0
         v1 =3D 0
         v2 =3D 0
         qhat =3D 3248239104
         rhat =3D 0
         t =3D 0
         m =3D -964404116
         n =3D 0
         d =3D 512
         j =3D 0
         i =3D 0
         uspace =3D {0, 0, 16384, 0, 512}
         vspace =3D {23660, 50820, 16384, 0, 512}
         qspace =3D {512, 0, 15648, 49219, 0}
 #6  0xc039fd7f in __divdi3 (a=3D4096, b=3D0) at ../../libkern/divdi3.c:61
         a =3D 0
         b =3D 0
         ua =3D 4096
         ub =3D 0
         uq =3D 0
         neg =3D 0
 #7  0xc17d0da7 in ?? ()
 No symbol table info available.
 #8  0xc17d15cd in ?? ()
 No symbol table info available.
 #9  0xc17cf69b in ?? ()
 No symbol table info available.
 #10 0xc17cf88e in ?? ()
 No symbol table info available.
 #11 0xc17d2461 in ?? ()
 No symbol table info available.
 #12 0xc024f0ce in spec_ioctl (ap=3D0xd1a37de4)
     at ../../miscfs/specfs/spec_vnops.c:306
         ap =3D (struct vop_ioctl_args *) 0xc6845c6c
         dev =3D 0x200
 #13 0xc024edf9 in spec_vnoperate (ap=3D0xd1a37de4)
     at ../../miscfs/specfs/spec_vnops.c:119
         ap =3D (struct vop_generic_args *) 0x0
 #14 0xc032b495 in ufs_vnoperatespec (ap=3D0xd1a37de4)
     at ../../ufs/ufs/ufs_vnops.c:2394
         ap =3D (struct vop_generic_args *) 0x0
 #15 0xc024b687 in vn_ioctl (fp=3D0xc17bbc40, com=3D18013, data=3D0xd1a37ea8=
  "",=20
     p=3D0xd19d85a0) at vnode_if.h:429
         a =3D {a_desc =3D 0xc040de20, a_vp =3D 0xd1a1fc00, a_command =3D=
  18013,=20
   a_data =3D 0xd1a37ea8 "", a_fflag =3D 3, a_cred =3D 0xc17b2600, a_p =3D=
  0xd19d85a0}
         vp =3D (struct vnode *) 0xd1a1fc00
         command =3D 18013
         data =3D 0xd1a37ea8 ""
         fflag =3D 0
         cred =3D (struct ucred *) 0x0
         p =3D (struct proc *) 0x200
         p =3D (struct proc *) 0x200
         vp =3D (struct vnode *) 0xd1a1fc00
         vattr =3D {va_type =3D 7331034, va_mode =3D 2668, va_nlink =3D=
  -11872,=20
   va_uid =3D 3231424796, va_gid =3D 3517152812, va_fsid =3D 3224921934,=20
   va_fileid =3D -1069001088, va_size =3D 3224922420, va_blocksize =3D=
  134926336,=20
   va_atime =3D {tv_sec =3D 77505573, tv_nsec =3D -778040724}, va_mtime =3D {
     tv_sec =3D 0, tv_nsec =3D -777814408}, va_ctime =3D {tv_sec =3D=
  -1070043292,=20
     tv_nsec =3D -778040724}, va_gen =3D 134926336, va_flags =3D 3231504836,=
 =20
   va_rdev =3D 3231424796, va_bytes =3D 0, va_filerev =3D 579504200489107456,=
 =20
   va_vaflags =3D 3231424796, va_spare =3D 0}
         error =3D 3
 #16 0xc02257fa in ioctl (p=3D0xd19d85a0, uap=3D0xd1a37f80) at=
  ../../sys/file.h:178
         error =3D 3
         fp =3D (struct file *) 0xc17bbc40
         com =3D 18013
         data =3D 0xd1a37ea8 ""
         p =3D (struct proc *) 0xd19d85a0
         fp =3D (struct file *) 0xc17bbc40
         fdp =3D (struct filedesc *) 0x0
         com =3D 18013
         error =3D 3
         size =3D 0
         data =3D 0xd1a37ea8 ""
         memp =3D 0x0
         tmp =3D 4
         ubuf =3D {
   stkbuf =3D=
  "\000\000\000\000\016\000\000\000\002\000\000\0000\n=D1\000\000\000\001\000=
 \000\000\000=E4~=A3=D1=D0\t!\003\000\000\000\000\034=A1\233=C0=
  =BA=D1\003\000\000\000\034=A1\233=C0=
  =BA=D1\003\000\000\000\000\n=D1\220\223\237=D1", '\000' <repeats 12 times>,=
  "\205\235=D1\205\235=D1\000\n=D1\000=D0\n\b(\177=A3=D1\001=B2=
  =C0\001\000\000\000\205\235=D1\000\000\000\000\001\000\000\000\200\177=A3=
 =D1\003\000\000", align =3D 0}
 #17 0xc038a1bd in syscall2 (frame=3D{tf_fs =3D 47, tf_es =3D 47, tf_ds =3D=
  47,=20
       tf_edi =3D -1077937056, tf_esi =3D -1077937064, tf_ebp =3D=
  -1077937280,=20
       tf_isp =3D -777814060, tf_ebx =3D 1, tf_edx =3D 1, tf_ecx =3D -7,=
  tf_eax =3D 54,=20
       tf_trapno =3D 12, tf_err =3D 2, tf_eip =3D 134675508, tf_cs =3D 31,=20
       tf_eflags =3D 659, tf_esp =3D -1077937324, tf_ss =3D 47})
     at ../../i386/i386/trap.c:1175
         params =3D 0xbfbffb58 "\004"
         i =3D 0
         callp =3D (struct sysent *) 0xc042d690
         p =3D (struct proc *) 0xd19d85a0
         orig_tf_eflags =3D 659
         sticks =3D 0
         error =3D 0
         narg =3D 3
         args =3D {4, 18013, 0, 0, 0, 0, 0, 0}
         have_mplock =3D 1
         code =3D 54
 #18 0xc037afd5 in Xint0x80_syscall ()
 No symbol table info available.
 #19 0x80483d9 in ?? ()
 No symbol table info available.
 #20 0x804813e in ?? ()
 No symbol table info available.
 
 
 Alexander
 


More information about the freebsd-bugs mailing list