NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/40504: postfix panic's in socket locking



>Number:         40504
>Category:       kern
>Synopsis:       postfix panic's in socket locking
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jan 28 12:35:00 +0000 2009
>Originator:     Christoph Egger
>Release:        5.99.7
>Organization:
>Environment:
NetBSD/amd64
>Description:

cegger: postfix panic'd on a 16-way machine
cegger: panic: kernel diagnostic assertion "solocked2(so, so2)" failed: file 
"sys/kern/uipc_usrreq.c", line 543
cegger: fatal breakpoint trap in supervisor mode
cegger: trap type 1 code 0 rip ffffffff80237b25 cs 8 rflags 246 cr2  
7f7ffcf34030 cpl 4 rsp  ffff80005220f910
cegger: Stopped in pid 1786.1 (master) at       netbsd:breakpoint+0x5:  leave
rmind: bt?
cegger: db{7}> bt
cegger: breakpoint() at netbsd:breakpoint+0x5
cegger: panic() at netbsd:panic+0x249
cegger: __kernassert() at netbsd:__kernassert+0x2d
cegger: uipc_usrreq() at netbsd:uipc_usrreq+0x850
cegger: sosend() at netbsd:sosend+0x514
cegger: soo_write() at netbsd:soo_write+0x2d
cegger: dofilewrite() at netbsd:dofilewrite+0x81
cegger: sys_write() at netbsd:sys_write+0x72
cegger: syscall() at netbsd:syscall+0xb6
rmind: ps/a
rmind: Just show "master" entry only.
rmind: That is some bug in socket-locking.
rmind: Damn, we really need some 16-way machine to stress-test.
cegger: >1786          master   ffff8000521e2058   ffff80005220fd80   
ffff8000521edb80
rmind: Especially with LOCKDEBUG, which hits the concurrency a lot,
 so even 8-way box may not trigger problems quickly.
rmind: Can you file a PR, please?


>How-To-Repeat:

Run NetBSD/amd64 GENERIC with DIAGNOSTIC+LOCKDEBUG
on a 16-way machine. Bind postfix on a CPU via a psrset.

psrset -c 5 6 7
/etc/rc.d/postfix stop
psrset -e 1 /etc/rc.d/postfix start
psrset -d 1

Then run the daily.sh script the same as cronjob does.
When postfix is invoked, the panic occurs.

>Fix:



Home | Main Index | Thread Index | Old Index