Hi!
(sorry my first reply didn't go to the list, resending)
On Thu, Nov 10, 2016 at 11:43:34PM +0100, Tim Janik wrote:
> 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?
Sorry, wrong hanging bsetool process (this was my SpectMorph evaluation
script). The correct pstree output is:
-bash---make---make---lt-bsetool---2*[{lt-bsetool}]
> > 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));
> }
Yes, this seems to be the change to blame; with that applied, make check no
longer hangs.
Cu... Stefan
--
Stefan Westerfeld, http://space.twc.de/~stefan
_______________________________________________
beast mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/beast