Date: Wed, 3 May 2000 22:55:07 -0400 (EDT) From: Howard Leadmon <howardl@account.abs.net> To: Greg Lehey <grog@lemis.com> Cc: Matthew Dillon <dillon@apollo.backplane.com>, freebsd-stable@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG Subject: Re: Debugging Kernel/System Crashes, can anyone help?? Message-ID: <200005040255.WAA61544@account.abs.net> In-Reply-To: <20000504111136.B22025@freebie.lemis.com> from Greg Lehey at "May 4, 2000 11:11:36 am"
next in thread | previous in thread | raw e-mail | index | archive | help
Old trace deleted.. :) > >> Interesting. That explains the splbio, anyway. The real problem is > >> at frame 15, in bpfioctl, but the system trapped while trying to sync > >> before dumping. > >> > >> As mentioned in the handbook, you need symbols in your kernel in order > >> to find out any more information. Build a kernel with the -g option > >> and try again. > > > > Umm, the kernel was built with the -g option, as I knew I needed to be > > able to debug it when it crashed. I looked at the handbook, but I don't > > personally see a clear direction as to where I need to go from here. If > > you can tell me what to look for I am more than willing to go digging.. >=20 > Ah, then you're in better shape. I assume you installed the stripped > version of the kernel (it's default, despite my protests), so that's > what savecore saved for you. You'll have the original still in > /usr/src/sys/compile/<MYKERNEL>/kernel.debug. Copy it to /var/crash, > overwriting your kernel.2 or whatever, and the backtrace will be much > more verbose. >=20 > Greg OK, I did as you requested, and here is the info I got using the kernel.deb= ug file found in the compile directory. I do agree, it would have made sense = to copy the debugging kernel vs the stripped one..=20 # gdb -k kernel.0 vmcore.0 GNU gdb 4.18 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 condition= s. 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"... SMP 2 cpus IdlePTD 3112960 initial pcb at 2815e0 panicstr: page fault panic messages: --- Fatal trap 12: page fault while in kernel mode mp_lock =3D 00000002; cpuid =3D 0; lapic.id =3D 00000000 fault virtual address =3D 0x261e930 fault code =3D supervisor write, page not present instruction pointer =3D 0x8:0xc017246b stack pointer =3D 0x10:0xff806f34 frame pointer =3D 0x10:0xff806f79 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 Idle interrupt mask =3D net <- SMP: XXX trap number =3D 12 panic: page fault mp_lock =3D 00000002; cpuid =3D 0; lapic.id =3D 00000000 boot() called on cpu#0 syncing disks...=20 Fatal trap 12: page fault while in kernel mode mp_lock =3D 00000003; cpuid =3D 0; lapic.id =3D 00000000 fault virtual address =3D 0x30 fault code =3D supervisor read, page not present instruction pointer =3D 0x8:0xc01cdca5 stack pointer =3D 0x10:0xff806d5c frame pointer =3D 0x10:0xff806d60 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 Idle interrupt mask =3D net bio cam <- SMP: XXX trap number =3D 12 panic: page fault mp_lock =3D 00000003; cpuid =3D 0; lapic.id =3D 00000000 boot() called on cpu#0 Uptime: 4m48s dumping to dev #ad/0x20001, offset 128 dump ata0: resetting devices .. done 383 382 381 380 379 378 377 376 375 374 373 372 371 370 369 368 367 366 365= 364 363 362 361 360 359 358 357 356 355 354 353 352 351 350 349 348 347 34= 6 345 344 343 342 341 340 339 338 337 336 335 334 333 332 331 330 329 328 3= 27 326 325 324 323 322 321 32= 0 319 318 317 316 315 314 313 312 311 310 309 308 307 306 305 304 303 302 3= 01 300 299 298 297 296 295 294 293 292 291 290 289 288 287 286 285 284 283 = 282 281 280 279 278 277 276 275 274 273 272 271 270 269 268 267 266 265 264= 263 262 261 260 259 258 257=20= 256 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 21= 9 218 217 216 215 214 213 212 211 210 209 208 207 206 205 204 203 202 201 2= 00 199 198 197 196 195 194 19= 3 192 191 190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 1= 74 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=20= 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 boot (howto=3D260) at ../../kern/kern_shutdown.c:304 304 dumppcb.pcb_cr3 =3D rcr3(); (kgdb) back=20 #0 boot (howto=3D260) at ../../kern/kern_shutdown.c:304 #1 0xc013af94 in poweroff_wait (junk=3D0xc025922f, howto=3D0) at ../../kern/kern_shutdown.c:554 #2 0xc02283cc in trap_fatal (frame=3D0xff806d1c, eva=3D48) at ../../i386/i386/trap.c:924 #3 0xc022805d in trap_pfault (frame=3D0xff806d1c, usermode=3D0, eva=3D48) at ../../i386/i386/trap.c:817 #4 0xc0227c57 in trap (frame=3D{tf_fs =3D -8388584, tf_es =3D -1072496624,= =20 tf_ds =3D -978780144, tf_edi =3D 0, tf_esi =3D 0, tf_ebp =3D -8360608= ,=20 tf_isp =3D -8360632, tf_ebx =3D -1071185252, tf_edx =3D -1071010272,= =20 tf_ecx =3D 1, tf_eax =3D 0, tf_trapno =3D 12, tf_err =3D 0,=20 tf_eip =3D -1071850331, tf_cs =3D 8, tf_eflags =3D 66194, tf_esp =3D = -848136656,=20 tf_ss =3D -8360584}) at ../../i386/i386/trap.c:423 #5 0xc01cdca5 in acquire_lock (lk=3D0xc027029c) at machine/globals.h:113 #6 0xc01d2f7c in softdep_count_dependencies (bp=3D0xcd727630, wantcount=3D= 0) at ../../ufs/ffs/ffs_softdep.c:4535 #7 0xc01d624c in ffs_fsync (ap=3D0xff806ddc) at ../../ufs/ffs/ffs_vnops.c:= 168 #8 0xc01d4d66 in ffs_sync (mp=3D0xc58fb000, waitfor=3D2, cred=3D0xc0dee900= ,=20 p=3D0xc0297060) at vnode_if.h:537 #9 0xc01673ef in sync (p=3D0xc0297060, uap=3D0x0) at ../../kern/vfs_syscal= ls.c:549 #10 0xc013a9b3 in boot (howto=3D256) at ../../kern/kern_shutdown.c:226 #11 0xc013af94 in poweroff_wait (junk=3D0xc025922f, howto=3D0) at ../../kern/kern_shutdown.c:554 #12 0xc02283cc in trap_fatal (frame=3D0xff806ef4, eva=3D39971120) at ../../i386/i386/trap.c:924 #13 0xc022805d in trap_pfault (frame=3D0xff806ef4, usermode=3D0, eva=3D3997= 1120) at ../../i386/i386/trap.c:817 #14 0xc0227c57 in trap (frame=3D{tf_fs =3D 24, tf_es =3D -675545072,=20 tf_ds =3D -1058602992, tf_edi =3D -1059013248, tf_esi =3D 28,=20 tf_ebp =3D -8360071, tf_isp =3D -8360160, tf_ebx =3D -1058670080,=20 tf_edx =3D -1059008325, tf_ecx =3D 0, tf_eax =3D -1059168256, tf_trap= no =3D 12,=20 tf_err =3D 2, tf_eip =3D -1072225173, tf_cs =3D 8, tf_eflags =3D 6617= 8,=20 tf_esp =3D -1071902645, tf_ss =3D -1059168256}) at ../../i386/i386/tr= ap.c:423 #15 0xc017246b in bpfioctl (dev=3D0xc0c0de60, cmd=3D12639866,=20 addr=3D0xff400800 <Address 0xff400800 out of bounds>, flags=3D16777215,= =20 p=3D0xacc0de60) at ../../net/bpf.c:683 #16 0xc01c19 in ?? () cannot read proc at 0 (kgdb) Is this more help? (shame I don't actually understand it..) --- Howard Leadmon - howardl@abs.net - http://www.abs.net ABSnet Internet Services - Phone: 410-361-8160 - FAX: 410-361-8162 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005040255.WAA61544>