From owner-freebsd-stable@FreeBSD.ORG Mon Sep 22 18:06:49 2003 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7D7AD16A4B3 for ; Mon, 22 Sep 2003 18:06:49 -0700 (PDT) Received: from panzer.kdm.org (panzer.kdm.org [216.160.178.169]) by mx1.FreeBSD.org (Postfix) with ESMTP id F21B943FF2 for ; Mon, 22 Sep 2003 18:06:46 -0700 (PDT) (envelope-from ken@panzer.kdm.org) Received: from panzer.kdm.org (localhost [127.0.0.1]) by panzer.kdm.org (8.12.9/8.12.5) with ESMTP id h8N16e64040437; Mon, 22 Sep 2003 19:06:40 -0600 (MDT) (envelope-from ken@panzer.kdm.org) Received: (from ken@localhost) by panzer.kdm.org (8.12.9/8.12.5/Submit) id h8N16dm3040436; Mon, 22 Sep 2003 19:06:39 -0600 (MDT) (envelope-from ken) Date: Mon, 22 Sep 2003 19:06:39 -0600 From: "Kenneth D. Merry" To: "Daniel O'Connor" Message-ID: <20030923010639.GA40363@panzer.kdm.org> References: <200309222346.47700.doconnor@gsoft.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: User-Agent: Mutt/1.4.1i cc: Hidetoshi Shimokawa cc: freebsd-stable@freebsd.org Subject: Re: 4.9-PRE crash with firewire :( X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2003 01:06:49 -0000 How recent is your 4.9 tree? Shimokawa-san is right, I fixed this on September 10th. If you don't want to upgrade, just take INVARIANTS out of your kernel config and recompile. Ken On Tue, Sep 23, 2003 at 09:49:40 +0900, Hidetoshi Shimokawa wrote: > It looks that CAM calls mallloc(M_WAITOK) in an interrupt context. > I remeber that Ken implemented taskqueue running on a thread to deal > with this kind of problem.=20 >=20 > /\ Hidetoshi Shimokawa > \/ simokawa@sat.t.u-tokyo.ac.jp > PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html >=20 >=20 > At Mon, 22 Sep 2003 23:46:47 +0930, > Daniel O'Connor wrote: > >=20 > > Hello, > > I just upgraded to 4.9-PRE and now my firewire enclosure causes crashes= on=20 > > connect :( > >=20 > > Any ideas? :) > >=20 > > chowder 23:17] /var/crash >sudo gdb -k /usr/src/sys/compile/CHOWDER/ker= nel.debug vmcore.11 > > GNU gdb 4.18 (FreeBSD) > > Copyright 1998 Free Software Foundation, Inc. > > GDB is free software, covered by the GNU General Public License, and yo= u are > > welcome to change it and/or distribute copies of it under certain condi= tions. > > Type "show copying" to see the conditions. > > There is absolutely no warranty for GDB. Type "show warranty" for deta= ils. > > This GDB was configured as "i386-unknown-freebsd"...Deprecated bfd_read= called at /usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb/gdb/db= xread.c line 2627 in elfstab_build_psymtabs > > Deprecated bfd_read called at /usr/src/gnu/usr.bin/binutils/gdb/../../.= ./../contrib/gdb/gdb/dbxread.c line 933 in fill_symbuf > >=20 > > IdlePTD at phsyical address 0x003dd000 > > initial pcb at physical address 0x002a9280 > > panicstr: malloc(M_WAITOK) in interrupt context > > panic messages: > > --- > > panic: malloc(M_WAITOK) in interrupt context > >=20 > > syncing disks... > > done > > Uptime: 23s > >=20 > > dumping to dev #ad/0x40001, offset 172032 > > dump ata0: resetting devices .. done > > 300 [CTRL-C to abort] 299 298 297 296 295 294 293 292 291 290 289 288 2= 87 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 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 23= 1 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 2= 12 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 15= 6 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 1= 37 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 dumpsys () at ../../kern/kern_shutdown.c:487 > > 487 if (dumping++) { > > (kgdb) bt > > #0 dumpsys () at ../../kern/kern_shutdown.c:487 > > #1 0xc016397b in boot (howto=3D256) at ../../kern/kern_shutdown.c:316 > > #2 0xc0163db9 in panic (fmt=3D0xc0250ee0 "malloc(M_WAITOK) in interrup= t context") at ../../kern/kern_shutdown.c:595 > > #3 0xc015ece7 in malloc (size=3D44, type=3D0xc028ee00, flags=3D0) at .= ./../kern/kern_malloc.c:157 > > #4 0xc0167c3e in sysctl_add_oid (clist=3D0xc156fc70, parent=3D0xc02be1= 48, number=3D-1, name=3D0xc028351c "0", kind=3D-2147483647, arg1=3D0x0, > > arg2=3D0, handler=3D0, fmt=3D0xc0242793 "N", descr=3D0xc028356c "CA= M DA unit 0") at ../../kern/kern_sysctl.c:346 > > #5 0xc0128fce in daregister (periph=3D0xc1551b00, arg=3D0xc1540000) at= ../../cam/scsi/scsi_da.c:1217 > > #6 0xc0125952 in cam_periph_alloc (periph_ctor=3D0xc0128e44 , periph_oninvalidate=3D0xc0128b34 , > > periph_dtor=3D0xc0128c7c , periph_start=3D0xc01291e0 , name=3D0xc02427be "da", type=3DCAM_PERIPH_BIO, path=3D0xc1444180, > > ac_callback=3D0xc0128d04 , code=3DAC_FOUND_DEVICE, arg=3D0= xc1540000) at ../../cam/cam_periph.c:164 > > #7 0xc0128d7b in daasync (callback_arg=3D0x0, code=3D128, path=3D0xc0b= b2030, arg=3D0xc1540000) at ../../cam/scsi/scsi_da.c:1088 > > #8 0xc01230bf in xpt_async_bcast (async_head=3D0xc1440a70, async_code= =3D128, path=3D0xc0bb2030, async_arg=3D0xc1540000) > > at ../../cam/cam_xpt.c:4310 > > #9 0xc0123039 in xpt_async (async_code=3D128, path=3D0xc0bb2030, async= _arg=3D0xc1540000) at ../../cam/cam_xpt.c:4278 > > #10 0xc01246af in probedone (periph=3D0xc1551c00, done_ccb=3D0xc1540000= ) at ../../cam/cam_xpt.c:5740 > > #11 0xc01250ff in camisr (queue=3D0xc02a56f0) at ../../cam/cam_xpt.c:63= 85 > > #12 0xc0124f11 in swi_cambio () at ../../cam/cam_xpt.c:6288 > > #13 0xc021ce60 in splz_swi () > > #14 0xc03a598e in ?? () > > #15 0xc03aa531 in ?? () > > #16 0xc03a8eb8 in ?? () > > #17 0xc03a939c in ?? () > > #18 0xc0230945 in intr_mux (arg=3D0xc0bad220) at ../../i386/isa/intr_ma= chdep.c:601 > > #19 0xc0221912 in cpu_idle () at ../../i386/i386/machdep.c:1000 > >=20 > > --=20 > > Daniel O'Connor software and network engineer > > for Genesis Software - http://www.gsoft.com.au > > "The nice thing about standards is that there > > are so many of them to choose from." > > -- Andrew Tanenbaum > > GPG Fingerprint - 9A8C 569F 685A D928 5140 AE4B 319B 41F4 5D17 FDD5 > >=20 --=20 Kenneth Merry ken@kdm.org