jacksonlcrews / darkice

Automatically exported from code.google.com/p/darkice
0 stars 0 forks source link

BufferedSink running out and stopping stream #92

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Start Darkice with the following config file
2. Run for many hours. 6-15
3.

What is the expected output? What do you see instead?
Stream should not stop. After BufferedSink, remaining: 4 gets to a low number 
like 4 the stream stops completely.

What version of the product are you using? On what operating system?
r551 on CentOS 6.4

Please provide any additional information below.
Attached is the output from my terminal window and the config file. This 
happens many times while it is streaming until the bufferedsink finally gets to 
low.

Original issue reported on code.google.com by simy...@gmail.com on 23 Jun 2013 at 8:54

Attachments:

GoogleCodeExporter commented 9 years ago
I get the same issue, which kills my stream. Is this an Ogg issue by chance? I 
compiled with libogg-devel-1.1.4-2.1.el6.x86_64 on CentOS 6 x64.

This is using darkice 1.1 cloned from git on April 8th.

This darkice is feeding a remote, hosted Icecast server. An basically-identical 
darkice running directly on the Icecast server will run for months without 
trouble.

Attached is my debug output and a sample /etc/darkice.cfg. Let me know if I can 
provide anything else! 

Original comment by jmarktur...@gmail.com on 28 Jul 2013 at 9:11

Attachments:

GoogleCodeExporter commented 9 years ago
Nevermind. I see 1.2 may address my issues. I'll test and let you know.

Original comment by jmarktur...@gmail.com on 28 Jul 2013 at 11:49

GoogleCodeExporter commented 9 years ago
It appears that 1.2 does not fix the BufferedSink issues. Now the ring buffer 
will fill and the stream will begin to cut out, leaving several-second gaps. My 
Icecast server complains about no data being sent from the stream for 3 seconds.

Attached is the darkice.log running from 1.2. I also have an ltrace log file 
from that session if that would be helpful. If there are any other diagnostic 
files I can supply please let me know.

Original comment by jmarktur...@gmail.com on 2 Aug 2013 at 12:50

Attachments:

GoogleCodeExporter commented 9 years ago
Friday I began running jack under real-time priority to see if that helped make 
darkice more stable. This morning (~72 hours later) darkice began stuttering 
again with BufferedSink errors.

I have enabled corefile generation and will be happy to forward one the next 
time this error occurs.

Original comment by jmarktur...@gmail.com on 5 Aug 2013 at 1:11

GoogleCodeExporter commented 9 years ago
Ok, darkice blew up again last night, this time with an "Exception caught in 
BufferedSink :: write3" The stream continued but was choppy and incomplete when 
I restarted darkice.

I've collected a corefile and removed passwords from it. I'd like to get it to 
you without posting it publicly. Please provide an email address and/or dropbox 
and I'll send it along.

Attached is the latest logfile (with repetitive BufferedSink entries snipped). 
Again, let me know how I can help. Thanks!

Original comment by jmarktur...@gmail.com on 6 Aug 2013 at 1:20

Attachments:

GoogleCodeExporter commented 9 years ago
I'm becoming convinced the stream stuttering issue may not be related to the 
BufferedSink issue.

In this round of logging in my darkice.log I had plenty of BufferedSink errors. 
The stream continued playing with no dropouts. Right now I'm listening to a 
perfect stream even though there were many errors recorded in the logs last 
night.

I'm stumped.

Original comment by jmarktur...@gmail.com on 8 Aug 2013 at 4:56

Attachments:

GoogleCodeExporter commented 9 years ago
I've been getting this issue as well, which is rather annoying really 
especially as it looks as if Darkice is no longer being maintained and I can't 
seem to find a suitable alternative.

Anyway - my experience has shown that switching from Average bitrate to 
Constant bitrate seems to solve the problem for the most part (as does not 
running too much on the streaming computer). 

Original comment by joe.tatt...@googlemail.com on 8 Dec 2013 at 1:46

GoogleCodeExporter commented 9 years ago
There is an incorrect line in BufferedSink.cpp, which is responsible for this 
issue.

Buffer size is calculated incorrectly in the write function.
Change
size    = bufferEnd - outp - 1;
to
size    = bufferEnd - outp;
and compile. This should do the trick.

Original comment by kulon...@gmail.com on 12 Jan 2014 at 11:02