Re: panic: sbflush_locked

From: Alan Cox <alc_at_cs.rice.edu>
Date: Mon, 20 Dec 2004 14:19:53 -0600
On Mon, Dec 13, 2004 at 07:06:20PM -0500, Brian Fundakowski Feldman wrote:
> On Sat, Dec 11, 2004 at 04:48:50PM -0600, Alan Cox wrote:
> > I just got the following panic for a second time in the last three days
> > doing a "make -jN buildworld".  This is a with a recent copy of HEAD.
> > If anyone wants more detail, let me know.
> > 
> > panic: sbflush_locked: cc 4 || mb 0xffffff0052afa400 || mbcnt 0
> > cpuid = 1
> > KDB: enter: panic
> > [thread pid 12163 tid 100188 ]
> > Stopped at      kdb_enter+0x2f: nop     
> > db> trace
> > Tracing pid 12163 tid 100188 td 0xffffff008d169500
> > kdb_enter() at kdb_enter+0x2f
> > panic() at panic+0x291
> > sbflush_locked() at sbflush_locked+0x64
> > sbrelease_locked() at sbrelease_locked+0x1c
> > sbrelease() at sbrelease+0x48
> > sorflush() at sorflush+0x15c
> > sofree() at sofree+0x204
> > soclose() at soclose+0x3af
> > fifo_cleanup() at fifo_cleanup+0x38
> > fifo_close() at fifo_close+0x79
> > ufsfifo_close() at ufsfifo_close+0x7d
> > vn_close() at vn_close+0x8e
> > vn_closefile() at vn_closefile+0x65
> > fdrop_locked() at fdrop_locked+0xc0
> > closef() at closef+0x39
> > close() at close+0x1a5
> > syscall() at syscall+0x51e
> > Xfast_syscall() at Xfast_syscall+0xa8
> > --- syscall (6, FreeBSD ELF64, close), rip = 0x41e2c0, rsp = 0x7fffffffded8, rbp = 0x57a540 ---
> 
> I haven't seen this in a very long time, but I've definitely tried to
> track it down before with zero luck.
> 

With the attached change, I've had no more crashes.

I speculate uipc_send() is missing needed synchronization on so_snd.
Robert, can you verify the patch?

Alan

Received on Mon Dec 20 2004 - 19:19:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:24 UTC