Ian Dowse just fixed this. Please upgrade.
On Sun, Aug 11, 2002 at 08:22:59AM +0900, FUJITA Kazutoshi wrote: > From: Terry Lambert <[EMAIL PROTECTED]> > Subject: Re: m_freem() in tcp_respond() > Date: Sat, 10 Aug 2002 13:19:47 -0700 > Message-ID: <[EMAIL PROTECTED]> > > > It is better to know that it's not NULL before it gets there. > > > > If you check everything everywhere to see if it's NULL before > > you do anything, then you are going to speen all your time > > comparing things to NULL, rather than doing real work. > > Hmmm... > But my -STABLE box crashes at here when boot. > > > # gdb -k kernel.debug vmcore.0 > 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 0x005d2000 > initial pcb at physical address 0x004e2880 > panicstr: from debugger > panic messages: > --- > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x0 > fault code = supervisor read, page not present > instruction pointer = 0x8:0xc021ef9c > stack pointer = 0x10:0xdc319cd0 > frame pointer = 0x10:0xdc319cd8 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 197 (wnnstat) > interrupt mask = net tty > panic: from debugger > > > Fatal trap 3: breakpoint instruction fault while in kernel mode > instruction pointer = 0x8:0xc03b872c > stack pointer = 0x10:0xdc319ae4 > frame pointer = 0x10:0xdc319aec > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, IOPL = 0 > current process = 197 (wnnstat) > interrupt mask = net tty > panic: from debugger > Uptime: 38s > > dumping to dev #ad/0x30001, offset 1311872 > dump ata0: resetting devices .. done > 639 638 637 636 635 634 633 632 631 630 629 628 627 626 625 624 623 622 621 620 619 >618 617 616 615 614 613 612 611 610 609 608 607 606 605 604 603 602 601 600 599 598 >597 596 595 594 593 592 591 590 589 588 587 586 585 584 583 582 581 580 579 578 577 >576 575 574 573 572 571 570 569 568 567 566 565 564 563 562 561 560 559 558 557 556 >555 554 553 552 551 550 549 548 547 546 545 544 543 542 541 540 539 538 537 536 535 >534 533 532 531 530 529 528 527 526 525 524 523 522 521 520 519 518 517 516 515 514 >513 512 511 510 509 508 507 506 505 504 503 502 501 500 499 498 497 496 495 494 493 >492 491 490 489 488 487 486 485 484 483 482 481 480 479 478 477 476 475 474 473 472 >471 470 469 468 467 466 465 464 463 462 461 460 459 458 457 456 455 454 453 452 451 >450 449 448 447 446 445 444 443 442 441 440 439 438 437 436 435 434 433 432 431 430 >429 428 427 426 425 424 423 422 421 420 419 418 417 416 415 414 413 412 411 410 409 >408 407 406 405 404 403 402 401 400 399 398 397 396 395 394 393 39 > 2 391 390 389 388 387 386 385 384 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 346 345 344 343 342 341 340 339 338 337 336 335 334 333 332 331 330 >329 328 327 326 325 324 323 322 321 320 319 318 317 316 315 314 313 312 311 310 309 >308 307 306 305 304 303 302 301 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 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 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 > --- > #0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487 > 487 if (dumping++) { > (kgdb) bt > #0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487 > #1 0xc0202e73 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:316 > #2 0xc02032b1 in panic (fmt=0xc03edd84 "from debugger") > at /usr/src/sys/kern/kern_shutdown.c:595 > #3 0xc014cbb9 in db_panic (addr=-1071517796, have_addr=0, count=-1, > modif=0xdc319b3c "") at /usr/src/sys/ddb/db_command.c:435 > #4 0xc014cb59 in db_command (last_cmdp=0xc0463918, cmd_table=0xc0463758, > aux_cmd_tablep=0xc04c0cb8) at /usr/src/sys/ddb/db_command.c:333 > #5 0xc014cc1e in db_command_loop () at /usr/src/sys/ddb/db_command.c:457 > #6 0xc014ed5b in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_trap.c:71 > #7 0xc03b84ce in kdb_trap (type=12, code=0, regs=0xdc319c90) > at /usr/src/sys/i386/i386/db_interface.c:158 > #8 0xc03c8e14 in trap_fatal (frame=0xdc319c90, eva=0) > at /usr/src/sys/i386/i386/trap.c:969 > #9 0xc03c8aed in trap_pfault (frame=0xdc319c90, usermode=0, eva=0) > at /usr/src/sys/i386/i386/trap.c:867 > #10 0xc03c8667 in trap (frame={tf_fs = 16, tf_es = -600768496, tf_ds = 16, > tf_edi = -1048332032, tf_esi = 6422528, tf_ebp = -600728360, > tf_isp = -600728388, tf_ebx = 0, tf_edx = 6756410, tf_ecx = 0, > tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1071517796, tf_cs = 8, > tf_eflags = 66199, tf_esp = -1048331972, tf_ss = -1048331972}) > at /usr/src/sys/i386/i386/trap.c:466 > #11 0xc021ef9c in m_freem (m=0x0) at /usr/src/sys/kern/uipc_mbuf.c:706 > ---Type <return> to continue, or q <return> to quit--- > #12 0xc0273a0f in tcp_respond (tp=0x0, ipgen=0xc183b93c, th=0xc183b950, > m=0xc183b900, ack=2100704027, seq=0, flags=20) > at /usr/src/sys/netinet/tcp_subr.c:396 > #13 0xc0271eff in tcp_input (m=0xc183b900, off0=20, proto=6) > at /usr/src/sys/netinet/tcp_input.c:2204 > #14 0xc026b874 in ip_input (m=0xc183b900) > at /usr/src/sys/netinet/ip_input.c:821 > #15 0xc026b8d3 in ipintr () at /usr/src/sys/netinet/ip_input.c:842 > #16 0xc03ba809 in swi_net_next () > #17 0xc0224929 in connect (p=0xd86e1f20, uap=0xdc319f80) > at /usr/src/sys/kern/uipc_syscalls.c:396 > #18 0xc03c90f5 in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, > tf_edi = 22273, tf_esi = 3, tf_ebp = -1077938064, tf_isp = -600727596, > tf_ebx = 671650276, tf_edx = -1077938288, tf_ecx = 13, tf_eax = 98, > tf_trapno = 12, tf_err = 2, tf_eip = 672133692, tf_cs = 31, > tf_eflags = 659, tf_esp = -1077938252, tf_ss = 47}) > at /usr/src/sys/i386/i386/trap.c:1175 > #19 0xc03b93a5 in Xint0x80_syscall () > #20 0x2806fcbd in ?? () > #21 0x8048d88 in ?? () > #22 0x8048add in ?? () > (kgdb) frame 12 > #12 0xc0273a0f in tcp_respond (tp=0x0, ipgen=0xc183b93c, th=0xc183b950, > m=0xc183b900, ack=2100704027, seq=0, flags=20) > at /usr/src/sys/netinet/tcp_subr.c:396 > 396 m_freem(m->m_next); > (kgdb) print m > $1 = (struct mbuf *) 0xc183b900 > (kgdb) print m->m_hdr.mh_next > $2 = (struct mbuf *) 0x0 > (kgdb) frame 11 > #11 0xc021ef9c in m_freem (m=0x0) at /usr/src/sys/kern/uipc_mbuf.c:706 > 706 if (mcl_pool_now < mcl_pool_max && m->m_next == NULL && > (kgdb) > > > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-net" in the body of the message > -- Bosko Milekic * [EMAIL PROTECTED] * [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message