Bug 475131

Summary: Assertion "i->thread_info.rewrite_nbytes == 0' in null sink.
Product: [Fedora] Fedora Reporter: Russell Miller <rmiller>
Component: pulseaudioAssignee: Lennart Poettering <lpoetter>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 10CC: libbe, lkundrak, lpoetter, pierre-bugzilla, p.mayers
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: 2008-12-21 17:06:26 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:

Description Russell Miller 2008-12-08 03:25:01 UTC
Description of problem:

OK, I'm trying something, ANYTHING, to getting jack working with timidity.  I've already submitted a bug for that.  So i tried to use fluidsynth.  Installed fluidsynth.  Start it up.  It starts jack.  Yay.  But it won't connect to pulseaudio.  Now, when I really hated pulseaudio (still not a fan of it) and didn't need it, it started with my X server.  But now, no such luck.

So I kill jackd and lashd (guess what, it won't start while jack is running).  Start pulseaudio.  Then start fluidsynth.  It starts jack, tries to connect to pulseaudio, and pulseaudio gives me a nice, fat assertion error.

Now you can't tell me THIS isn't a bug, because 100% of the time, if something triggers an assertion error, it's a *bug*.

The assertion error is:

>E: sink_input.c: Assertion "i->thread_info.rewrite_nbytes == 0' failed at pulsecore/sink-input.c:1150, function pa_sink_input_request_rewind().  Aborting.


Version-Release number of selected component (if applicable):

0.9.13-6

How reproducible:

Allllways.


Steps to Reproduce:
1. Start pulseaudio
2. Start fluidsynth
3. Watch the fur fly.


  
Actual results:

Nothing happens except for a nice assertion error.

Expected results:

Sound comes out of the speakers.

Additional info:

Comment 1 Lennart Poettering 2008-12-08 18:21:22 UTC
If PA finds not other sound card it uses the NULL driver, which is not very well tested and hist that assert.

Comment 2 Lennart Poettering 2008-12-08 18:45:15 UTC
*** Bug 470277 has been marked as a duplicate of this bug. ***

Comment 3 Lennart Poettering 2008-12-21 17:06:26 UTC

*** This bug has been marked as a duplicate of bug 472757 ***

Comment 4 Phil Mayers 2009-02-17 12:21:40 UTC
I saw this same assertion yesterday when I broke away from X to a VT and back again, as per bug 468969

Presumably there's a race where pulseaudio goes too quickly when coming back into X and finds the NULL driver.

It's a very infrequent problem, this is just an FYI.

I agree with the poster in 468969 though - it would be nice if pulseaudio were either crash-proof or restarted itself - could it be made so that:

pulseaudio - forks and watches child, restarts if it dies
 \- pulseaudio - actual sound-processing child