Bug 519312

Summary: Assertion 'pa_atomic_load(&(b)->_ref) > 0' failed at pulsecore/memblock.c:481,
Product: [Fedora] Fedora Reporter: Valdis Kletnieks <valdis.kletnieks>
Component: pulseaudioAssignee: Lennart Poettering <lpoetter>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: rawhideCC: lkundrak, lpoetter, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-04 13:43:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
output of pulseaudio -vvvv
none
'pacmd ls' from working 0.9.16-7 pulseaudio
none
'pacmd ls' from broken 0.9.16-10 pulseaudio none

Description Valdis Kletnieks 2009-08-26 02:30:06 UTC
Description of problem:
/usr/bin/pulseaudio crashes:

% pulseaudio -vvvv
.....
D: alsa-sink.c: Requested to rewind 65536 bytes.
D: alsa-sink.c: Limited to 57940 bytes.
D: alsa-sink.c: before: 14485
D: alsa-sink.c: after: 14485
D: alsa-sink.c: Rewound 57940 bytes.
D: sink.c: Processing rewind...
D: sink-input.c: Have to rewind 57940 bytes on render memblockq.
D: sink-input.c: Have to rewind 57940 bytes on render memblockq.
D: source.c: Processing rewind...
E: memblock.c: Assertion 'pa_atomic_load(&(b)->_ref) > 0' failed at pulsecore/memblock.c:481, function pa_memblock_ref(). Aborting.


Version-Release number of selected component (if applicable):
pulseaudio-0.9.16-10.test6.fc12.x86_64

How reproducible:
Start up pulseaudio, it evaporates within a few seconds, after just a few sounds are played.

Reverting to 0.9.16-7 works.


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Lennart Poettering 2009-08-26 16:01:45 UTC
Hmm, this is not good. Could get me the output of "pacmd ls" of the configuration you are running when this happens?

Comment 2 Lennart Poettering 2009-08-27 01:28:54 UTC
Hmm, and could you get me stack trace of this, too, please?

Comment 3 Valdis Kletnieks 2009-08-27 17:06:28 UTC
OK, sorry for the delay, had to wait for a time when I wasn't busy dealing with actual work.. :)

Stack trace:

(gdb) where
#0  0x00000030f1c33675 in raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00000030f1c34e55 in abort () at abort.c:92
#2  0x00007ffff78eda2f in memblock_free (b=<value optimized out>)
    at pulsecore/memblock.c:543
#3  pa_memblock_unref (b=<value optimized out>) at pulsecore/memblock.c:580
#4  0x00007ffff78f012d in drop_block (bq=0x659bc0, q=0x7fffe8002c40)
    at pulsecore/memblockq.c:207
#5  0x00007ffff78f0580 in drop_backlog (bq=0x659bc0)
    at pulsecore/memblockq.c:222
#6  0x00007ffff78f07e5 in pa_memblockq_drop (bq=0x659bc0, length=0)
    at pulsecore/memblockq.c:555
#7  0x00007ffff7da2e78 in inputs_drop (s=0x655d50, info=0x7fffed64e620, n=2, 
    result=<value optimized out>) at pulsecore/sink.c:810
#8  0x00007ffff7da4f9f in pa_sink_render_into (s=0x655d50, 
    target=0x7fffed650d30) at pulsecore/sink.c:1039
#9  0x00007ffff7da599f in pa_sink_render_into_full (s=0x655d50, 
    target=0x7fffed650de0) at pulsecore/sink.c:1069
#10 0x00007fffed66f315 in mmap_write (on_timeout=<value optimized out>, 
    polled=<value optimized out>, sleep_usec=<value optimized out>, 
    u=<value optimized out>) at modules/alsa/alsa-sink.c:601
#11 thread_func (on_timeout=<value optimized out>, 
    polled=<value optimized out>, sleep_usec=<value optimized out>, 
    u=<value optimized out>) at modules/alsa/alsa-sink.c:1359
#12 0x00007ffff7904d40 in internal_thread_func (userdata=0x63f880)
    at pulsecore/thread-posix.c:72
#13 0x00000030f280691a in start_thread (arg=<value optimized out>)
    at pthread_create.c:297
#14 0x00000030f1ce0a4d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#15 0x0000000000000000 in ?? ()
(gdb) quit

I've attached the output of a 'pulseaudio -vvvv' from start to crash, and the 'pacmd ls' output from both a working run, and a broken one.

Comment 4 Valdis Kletnieks 2009-08-27 17:08:21 UTC
Created attachment 358920 [details]
output of pulseaudio -vvvv

Comment 5 Valdis Kletnieks 2009-08-27 17:10:52 UTC
Created attachment 358922 [details]
'pacmd ls' from working 0.9.16-7 pulseaudio

Comment 6 Valdis Kletnieks 2009-08-27 17:11:46 UTC
Created attachment 358924 [details]
'pacmd ls' from broken 0.9.16-10 pulseaudio

Comment 7 Lennart Poettering 2009-09-04 13:43:02 UTC
Should be fixed in 13-test7.