On Thu, Oct 28, 2010 at 01:54:25PM +0200, Max Kellermann wrote:

> > When I compare
> > 
> >    
> > http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=test.c;att=1;bug=601657
> > 
> > to the code in jackd1's drivers/firewire/ directory or to ffado's
> > tests/streaming/teststreaming3.cpp, I wonder if you might simply miss to
> > fill the buffers or to iterate/wait for FFADO.
> It is intentionally missing.  It is a timing related bug, it triggers

> When libffado2 notices that a buffer hasn't been filled in time, I
> would expect it to report that error to the application, instead of
> crashing.

Ah, now I get it.

If you compile with DEBUG=0, then assert() is a NOP and your test
program finishes cleanly:

2145932376749: Warning (IsoHandlerManager.cpp)[ 282] Execute: Timeout while 
waiting for activity
2145933300504: Fatal (IsoHandlerManager.cpp)[ 338] Execute: (0x993d2d8, 
Receive) Handler died: now: 4D7DE6B8, last: 497BF381, diff: 49248055 (max: 
2145933300551: Warning (StreamProcessor.cpp)[ 126] handlerDied: Handler died 
for 0x993b8c8
2145934300663: Warning (IsoHandlerManager.cpp)[ 282] Execute: Timeout while 
waiting for activity
2145934310756: Fatal (IsoHandlerManager.cpp)[ 338] Execute: (0x993d1a8, 
Transmit) Handler died: now: 4F83093E, last: 49654344, diff: 75191802 (max: 
2145934310785: Warning (StreamProcessor.cpp)[ 126] handlerDied: Handler died 
for 0x993c130

no message buffer overruns

So I guess it's me to blame for shipping a DEBUG-enabled FFADO version
in Debian. OTOH, this was intended: http://bugs.debian.org/572141

We should probably come up with a clean solution, so we have both
versions in Debian.

Can you confirm that test.c doesn't trigger the bug when ffado is
compiled without DEBUG?


mail: a...@thur.de      http://adi.thur.de      PGP/GPG: key via keyserver

pkg-multimedia-maintainers mailing list

Reply via email to