Hi all,
Recently I've tried, to build and run devel branch of pure-data,
but encountered problems, that just can't use pd. But let's cut to the
chase.
Shortly speaking - putting some tilde object (like dac~, loop~, *~ etc.)
and turning on dsp, causes pd to crash (and program throws this on the
console:
Pd: signal 4
pd_gui: pd process exited
Pure-data behaviour can be split in to 2 situations depending on when
audio processing was enabled.
Scenario 1.
Right after running pd, I put a dac~ object (I've also tried with loop~,
tabread~, sig~, osc~). I can move it, select/deselect it, and nothing
happens. Then I turn on dsp, and pd exits.
Scenario 2.
Right after running pd I turn on dsp. Then create new patch and put
dac~ (also tried with loop~, sig~, *~, osc~) and it works to the moment
where I deselect that object, select it (I can even move it), and deselect
it again. I can throw as many tilde objects as I like to, but selecting
any previously created object, and then deselecting it causes pd to exit.
Also connecting audio objects (even if none of them is selected), ends
that same way (but connecting non-audio objects to audio objects works
fine).
When I create at least one ~ object and turn _off_ dsp nothing happens,
but the turning it on again causes crash.
I didn't encounter any problems when audio processing was off, or
when it was on, but without use of any non-audio objects.
I build devel_0_37 without threaded soundfiler - I just did:
./configure --prefix=/usr/local/pd_dev --enable-debug
My system is Slackware 9.1 (kernel 2.6.5) with tcl/tk-8.4.4, gcc-3.2.3,
alsa-1.0.3. I have Terratec DMX6fire card sitting in computer based
on Athlon (thunderbird) processor.
I've also tried devel branch on windows - strangely ending with the
same problem (I used msvc++ 7 to build pure-data).
Tim Blechmann suggested to debug pd in gdb. The backtrace after crash
looks like this:
#0 0x080b2877 in sig_tilde_perf_sse_gcc ()
#1 0x08092065 in dsp_tick () at d_ugen.c:321
Does anyone have some ideas, about what's really happening,
and most important how to avoid or fix this problem?
Thanks in advance.
cheers,
Bart