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

Re: [Sc-devel] n_free bug



If you look in the crash log that is created, it mentions that something is going wrong in the Dtor functions... which OffsetOut has (and since Dtors are called when a synth is freed, and this is a freeing bug, I think there is a connection). I'll look at it some more later today.

Josh

On Dec 4, 2007, at 4:24 AM, Sciss wrote:

hmm, maybe you are right regarding OffsetOut. I can spot the difference here (see how it crashes also with n_free):

(
s.waitForBoot({ fork {
	SynthDef(\test, {
		var z;
		z = SinOsc.ar;
		Offset.ar( 0, z );	// no crash with Out instead
	}).send( s );
	s.sync;
	s.sendBundle( nil,
		[ "/g_new", 1007, 0, 0 ],
		[ "/s_new", "test", 1011, 1, 1007 ],
		[ "/n_run", 1011, 0 ]);
	s.sendMsg( "/n_free", 1007 );
}});
)

... and also i realized i was still using OffsetOut in Eisenkraut (since a while ago i thought that it had any precision advantage over Out, but i never really understood what OffsetOut was doing and why it would be more sample accurate than Out when not using bundle times). So i replaced all OffsetOut with Out in Eisenkraut, and some mysterious scsynth crash bugs disappeared straight away...

ciao, -sciss-



Am 04.12.2007 um 03:53 schrieb Josh Parmenter:

I noticed Sciss's n_free bug in the bug tracker, and noticed in the console output that OffsetOut's Dtor was involved. I tried a couple of test cases with Dtor UGens, and they all crashed, but the following example didn't:

s.boot;

SynthDef(\test, {
	Out.ar(0, SinOsc.ar(440, 0, 0.1))
	}).load(s)
// now either of these:

(
s.sendBundle( nil,
[ "/g_new", 1007, 0, 0 ],
[ "/s_new", "test", 1011, 1, 1007 ],
[ "/n_run", 1011, 0 ] // REQUIRED TO PRODUCE THE CRASH
);
s.sendMsg( "/g_deepFree", 1007 ); // Doesn't BOOOM!
)

Perhaps the bug has to do with the deepFree doing something wrong with Dtors? I don't really know where to look for this... I'll poke around some, but in case this rings a bell for anyone, I thought I would post it!

Best,
Josh
******************************************
/* Joshua D. Parmenter
http://www.realizedsound.net/josh/

“Every composer – at all times and in all cases – gives his own interpretation of how modern society is structured: whether actively or passively, consciously or unconsciously, he makes choices in this regard. He may be conservative or he may subject himself to continual renewal; or he may strive for a revolutionary, historical or social palingenesis." - Luigi Nono
*/

_______________________________________________
Sc-devel mailing list
Sc-devel@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-devel


_______________________________________________
Sc-devel mailing list
Sc-devel@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-devel

******************************************
/* Joshua D. Parmenter
http://www.realizedsound.net/josh/

“Every composer – at all times and in all cases – gives his own interpretation of how modern society is structured: whether actively or passively, consciously or unconsciously, he makes choices in this regard. He may be conservative or he may subject himself to continual renewal; or he may strive for a revolutionary, historical or social palingenesis." - Luigi Nono
*/