[Sc-devel] Fwd: [sc-users] strange diskin crash
James Harkins
jamshark70 at gmail.com
Wed Nov 14 11:42:00 PST 2007
Very interesting... and weird:
Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_INVALID_ADDRESS (0x0001) at 0x7ff90014
Thread 0 Crashed:
0 net.sourceforge.supercollider 0x000864f3
PyrGC::NewFrame(unsigned long, long, long, bool) + 139
1 net.sourceforge.supercollider 0x00097ade
executeMethod(VMGlobals*, PyrMethod*, long) + 144
2 net.sourceforge.supercollider 0x0008ae84 Interpret(VMGlobals*) + 12218
3 net.sourceforge.supercollider 0x0008c452 runInterpreter + 54
You're not doing anything at that moment touching the path array, but
the garbage collector bombs when doing something with the function...?
Anyway, this code looks perfect to me. Plus, crashes in GC would
generally have to be bugs IMO. Since the path array is coming from a
primitive, probably the array object is corrupt and it's messing up
GC.
What happens if you do these instead?
x = { DiskIn.ar(2, b.bufnum) };
x = x.play;
// OR:
x = { DiskIn.ar(2, b.bufnum) }.value;
The first one separates the creation of the function object from
playing it -- if it crashes on the first line, nothing else will work.
The other one separates UGen instantiation from building the complete
SynthDef.
hjh
On Nov 14, 2007 11:26 AM, tom tlalim <tlalists at gmail.com> wrote:
> so, here is the simplest way i can crash the lang (crash report:
> http://koncon.nl/~ttlalim/uploads/diskin_crash.txt)
>
> s.boot;
>
> // choose 153 setreo file paths
> CocoaDialog.getPaths({ arg paths;
> ~paths = paths
> });
>
> b = Buffer.cueSoundFile(s, ~paths.choose, 0, 2);
>
> x = { DiskIn.ar(2, b.bufnum) }.play; // !crashes here!
>
> b.close;
>
> is this my user mistake, or maybe a bug?
--
James Harkins /// dewdrop world
jamshark70 at dewdrop-world.net
http://www.dewdrop-world.net
"Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal." -- Whitman
More information about the Sc-devel
mailing list