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