Subject: Re: [ecasound] pyecasound of ecasound 2.3.0 hanging
From: Kai Vehmanen (k_AT_eca.cx)
Date: Fri Nov 14 2003 - 11:23:20 EET
On Thu, 30 Oct 2003, Stefan Bund wrote:
> Problem is: I can only use ecasound 2.2.0, because in version 2.3, the
> pyecasound library hangs after a few seconds.
> I added a few debugging prints to ecacontrol.py. The last thing
> happening is the writing of the command 'copp-get' to the ecasound
> process (in command). ecacontrol.py than loops endlessly in
> _parse_response waiting for an answer from the ecasound process and
> receiving none. CPU load goes to 100% on the busy loop and the
> application stalls.
Now I've spent quite a lot of time debugging this (thanks for sending
the test.py util), but the problem is unfortunately pretty tricky.
When the parse_response() hangs, the ecasound process in the background is
still alive and kicking. For some reason, the pipe between ecasound and
the python process just dies if too much data activity is going on.
Now this might even be a bug in python's popen3() routine. I've been
testing with python-2.3.
Anyway, the change in 2.3.0 that triggers this problem is the new native
(as in written in python) ECI implementation for python. The new
implementation allows you to run ECI python apps without having to install
any python extensions.
Luckily the old implementation is still available. So try compiling 2.3.0
with "./configure --enable-pyecasound=c" and re-run your tests. It should
work just as with 2.2.0.
-- http://www.eca.cx Audio software for Linux!
This archive was generated by hypermail 2b28 : Fri Nov 14 2003 - 11:25:54 EET