5.2.1-RC hangs occasionally when sound files are played using the pcm driver

Don Lewis truckman at FreeBSD.org
Mon Feb 23 06:31:14 PST 2004


On 23 Feb, Mathew Kanner wrote:
> On Feb 23, Brian O'Shea wrote:
>> --- Mathew Kanner <mat at cnd.mcgill.ca> wrote:
>> > 
>> > 	Hello Brian,
>> > 	Don Lewis commited changes to the 5.2- tree on 2/14.  Could
>> > you update and try again, also please do run with witness and
>> > invariants, and if possible try to get a crashdump so we can see
>> > what's happening.
>> 
>> Sure.  I'll try to reproduce it with witness and invariants first, just
>> to avoid changing too many conditions at the same time.  Failing that,
>> I'll update to the latest 5.2 tree and see if the problem goes away.
> 
> 	I think it would be better to go to 5.2.1 and start testing
> from there.  I believe that one of the things that Don improved was a
> condition where sound could randomnly stomp other areas of the kernel.

The memory corruption problem only happens if vchans are enabled and
typically causes wierd system panics instead of hangs.  Also, the commit
that I just did on the RELENG_5_2 branch only changes a KASSERT() to a
panic() so that the cause of the crash is obvious, since INVARIANTS is
disabled by default on this branch, which disables KASSERT().

The cause of deadlocks is more likely to be caught by WITNESS.  In this
case it might be the result of a malloc() call while a mutex is held.
Even the version of the sound code in the most recent -CURRENT has some
problems in this area.  I've got a patch out for testing that will this
problem to some extent, but it might not be enough.



More information about the freebsd-hackers mailing list