panic in soabort

pluknet pluknet at gmail.com
Thu Oct 1 11:17:56 UTC 2009


2009/4/25 Robert Watson <rwatson at freebsd.org>:
>
> On Fri, 24 Apr 2009, pluknet wrote:
>
>> 2009/4/23 Robert Watson <rwatson at freebsd.org>:
>>>
>>> On Thu, 23 Apr 2009, pluknet wrote:
>>>
>>>> Please, give me comment on this. The panic is on 6.2-REL. Is it known to
>>>> be fixed in the latter releases?
>>>
>>> It may well be -- there have been quite significant architectural
>>> improvements to socket life cycle (etc) between 6.2 and 7.x releases, which
>>> may well close the race causing this panic.  However, we'll probably need to
>>> learn a bit more in order to decide for sure.  Could you convert the
>>> trapping instruction pointer to file+offset in the source code?
>>
>> Looks I've lost the corresponding kernel.debug. Anyway I have such bt the
>> first time.
>
> If you run into this again, let me know.  Also, are you using accept filters
> on the box?
>

Got it again (this time on 6.4-p5).

Fatal trap 12: page fault while in kernel mode
cpuid = 2; apic id = 02
fault virtual address   = 0x104
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc06a3425
stack pointer           = 0x28:0xef764bb0
frame pointer           = 0x28:0xef764bbc
code segment            = base 0x0, limit 0xfffff, type 0x1b
                       = DPL 0, pres 1, def32 1, gran 1
processor eflags        = resume, IOPL = 0
current process         = 74303 (proftpd)

db> bt 74303
Tracing pid 74303 tid 101039 td 0xcaa08820
_mtx_lock_sleep(ccd50768,caa08820,0,0,0) at _mtx_lock_sleep+0x9d
soabort(ccd506f4) at soabort+0x82
soclose(d1aa8b20) at soclose+0x21a
soo_close(c9f50a20,caa08820) at soo_close+0x63
fdrop_locked(c9f50a20,caa08820,caf78a00,ef764ca8,c06875f3,...) at
fdrop_locked+0xd0
fdrop(c9f50a20,caa08820,caa08820,ef764c64,c0689055,...) at fdrop+0x41
closef(c9f50a20,caa08820,0,ef764d38,cad8f648,...) at closef+0x42f
kern_close(caa08820,a,ef764d30,c08e1d4b,caa08820,...) at kern_close+0x20d
close(caa08820,ef764d04) at close+0x10
syscall(bfbf003b,3b,bfbf003b,8150034,811a434,...) at syscall+0x2bf
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (6, FreeBSD ELF32, close), eip = 0x2832230f, esp =
0xbfbfe6bc, ebp = 0xbfbfe6d8 ---
db> show proc 74303
Process 74303 (proftpd) at 0xcad8f648:
state: NORMAL
uid: 36830  gids: 36830
parent: pid 95478 at 0xc8e60000
ABI: FreeBSD ELF32
arguments: proftpd: fatich_1 - 93.118.217.18: IDLE
threads: 1
101039                   Run     CPU 2               proftpd

(gdb) list *(soabort+0x82)
0xc06ea2a6 is in soabort (/usr/src/sys/kern/uipc_socket.c:510).
505             int error;
506
507             error = (*so->so_proto->pr_usrreqs->pru_abort)(so);
508             if (error) {
509                     ACCEPT_LOCK();
510                     SOCK_LOCK(so);
511                     sotryfree(so);  /* note: does not decrement
the ref count */
512                     return error;
513             }
514             return (0);

-- 
wbr,
pluknet


More information about the freebsd-net mailing list