Re: make check sometimes hangs



On 10.11.2016 22:13, Stefan Westerfeld wrote:
If I run

  cd tests/audio; while :; do make check; done

in beast, I'd expect that the audio tests would be done over and over again,
forever. However, what happens here is that after some time, make check hangs,
nothing happens any more. Looking at pstree there is

-bash---python---sh---python---sh---bse2wav.sh---lt-bsetool---2*[{lt-bsetool}]

Hm, I wonder what's python doing there, calling the shell?

so bsetool for some reason hangs. Without CPU usage. Maybe some kind of
deadlock, possibly triggered by the use of the null driver?

That wasn't always the case. I saw the problem when using a variant of
bse2wav.sh for SpectMorph testing - compared to make check in beast, I need to
render a lot more wave files here. And that used to work when I made the last
SpectMorph release, about six weeks ago.

The main change that went into the DSP logic is parallel processing.

Just to rule that out, you can try disabling it with:

+++ bse/bseenginemaster.cc
@@ -908,8 +908,8 @@ engine_start_slaves ()
 {
   assert_return (slaves_running == false);
   slaves_running = true;
-  const uint n_cpus = Rapicorn::ThisThread::online_cpus();
+  const uint n_cpus = 1;
   const uint n_slaves = std::max (1u, n_cpus) - 1;
   for (uint i = 0; i < n_slaves; i++)
     slave_threads.push_back (new std::thread (engine_run_slave));
 }



   Cu... Stefan


-- 
Yours sincerely,
Tim Janik

https://testbit.eu/timj/
Free software author.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]