Hooray! rs<span></span><br><br>On Sunday, June 29, 2014, Spencer Salazar &lt;<a href="mailto:spencer@ccrma.stanford.edu">spencer@ccrma.stanford.edu</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hey y&#39;all,<div><br></div><div>Think I figured this out, the internal message buffer (the one that says &quot;sporking shred ...&quot;) was overflowing and randomly overwriting other parts of memory, causing crashes for seemingly unrelated reasons. Anyways, with the fix that is in the git repo, I can&#39;t get Michael&#39;s example to crash anymore. An updated release to come shortly! </div>

<div><br></div><div>spencer</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 24, 2014 at 9:20 PM, Ryan Supak <span dir="ltr">&lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;ryansupak@gmail.com&#39;);" target="_blank">ryansupak@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I was able to work around it by not doing any Sporking in code, instead just updating global variables.<div><br></div>
<div>
But, yeah, definite issue here.</div><div><span><font color="#888888">rs</font></span><div><div><span></span><br><br>On Tuesday, June 24, 2014, Michael Heuer &lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;heuermh@gmail.com&#39;);" target="_blank">heuermh@gmail.com</a>&gt; wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On linux, my example works fine with 1.3.3.0<br>
<br>
...<br>
[chuck](VM): removing shred: 35000 (spork~exp)...<br>
count 34998<br>
[chuck](VM): removing shred: 35001 (spork~exp)...<br>
count 34999<br>
^C[chuck]: cleaning up...<br>
<br>
but not with 1.3.4.0 built with alsa support<br>
<br>
$ ./chuck --silent ~/working/lick/examples/dmxBug.ck<br>
[chuck](VM): removing shred: 2 (spork~exp)...<br>
count 0<br>
[chuck](VM): removing shred: 3 (spork~exp)...<br>
count 1<br>
[chuck](VM): removing shred: 4 (spork~exp)...<br>
count 2<br>
[chuck](VM): removing shred: 5 (spork~exp)...<br>
count 3<br>
[chuck](VM): removing shred: 6 (spork~exp)...<br>
count 4<br>
[chuck](VM): removing shred: 7 (spork~exp)...<br>
count 5<br>
[chuck](VM): removing shred: 8 (spork~exp)...<br>
count 6<br>
[chuck](VM): removing shred: 9 (spork~exp)...<br>
count 7<br>
[chuck](VM): removing shred: 10 (spork~exp)...<br>
count 8<br>
[chuck](VM): removing shred: 11 (spork~exp)...<br>
count 9<br>
[chuck](VM): removing shred: 12 (spork~exp)...<br>
count 10<br>
[chuck](VM): removing shred: 13 (spork~exp)...<br>
count 11<br>
[chuck](VM): removing shred: 14 (spork~exp)...<br>
count 12<br>
[chuck](VM): removing shred: 15 (spork~exp)...<br>
count 13<br>
[chuck](VM): removing shred: 16 (spork~exp)...<br>
count 14<br>
[chuck](VM): removing shred: 17 (spork~exp)...<br>
count 15<br>
[chuck](VM): removing shred: 18 (spork~exp)...<br>
count 16<br>
[chuck](VM): removing shred: 19 (spork~exp)...<br>
count 17<br>
[chuck](VM): removing shred: 20 (spork~exp)...<br>
count 18<br>
[chuck](VM): removing shred: 21 (spork~exp)...<br>
count 19<br>
[chuck](VM): removing shred: 22 (spork~exp)...<br>
count 20<br>
[chuck](VM): removing shred: 23 (spork~exp)...*** buffer overflow<br>
detected ***: ./chuck terminated<br>
======= Backtrace: =========<br>
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7fd43586cf47]<br>
/lib/x86_64-linux-gnu/libc.so.6(+0x109e40)[0x7fd43586be40]<br>
/lib/x86_64-linux-gnu/libc.so.6(+0x108d13)[0x7fd43586ad13]<br>
./chuck[0x41585a]<br>
./chuck[0x41cabb]<br>
./chuck[0x46d898]<br>
./chuck[0x50517f]<br>
./chuck[0x4245d0]<br>
./chuck[0x418d0e]<br>
./chuck[0x41dbd2]<br>
./chuck[0x41e077]<br>
./chuck[0x40b6fd]<br>
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7fd43578376d]<br>
./chuck[0x40dc55]<br>
======= Memory map: ========<br>
00400000-0059d000 r-xp 00000000 08:03 269080<br>
  /home/heuermh/bin/chuck-1.3.4.0/src/chuck<br>
0079d000-0079e000 r--p 0019d000 08:03 269080<br>
  /home/heuermh/bin/chuck-1.3.4.0/src/chuck<br>
0079e000-007c5000 rw-p 0019e000 08:03 269080<br>
  /home/heuermh/bin/chuck-1.3.4.0/src/chuck<br>
007c5000-0084a000 rw-p 00000000 00:00 0<br>
01db2000-020f9000 rw-p 00000000 00:00 0                                  [heap]<br>
7fd428000000-7fd428021000 rw-p 00000000 00:00 0<br>
7fd428021000-7fd42c000000 ---p 00000000 00:00 0<br>
7fd42f3d8000-7fd42f3d9000 ---p 00000000 00:00 0<br>
7fd42f3d9000-7fd42fbd9000 rw-p 00000000 00:00 0<br>
7fd42fbd9000-7fd42fbdd000 r-xp 00000000 08:03 802428<br>
  /usr/lib/chuck/GVerb.chug<br>
7fd42fbdd000-7fd42fddd000 ---p 00004000 08:03 802428<br>
  /usr/lib/chuck/GVerb.chug<br>
7fd42fddd000-7fd42fdde000 r--p 00004000 08:03 802428<br>
  /usr/lib/chuck/GVerb.chug<br>
7fd42fdde000-7fd42fddf000 rw-p 00005000 08:03 802428<br>
  /usr/lib/chuck/GVerb.chug<br>
7fd42fddf000-7fd42fde1000 r-xp 00000000 08:03 802423<br>
  /usr/lib/chuck/KasFilter.chug<br>
7fd42fde1000-7fd42ffe0000 ---p 00002000 08:03 802423<br>
  /usr/lib/chuck/KasFilter.chug<br>
7fd42ffe0000-7fd42ffe1000 r--p 00001000 08:03 802423<br>
  /usr/lib/chuck/KasFilter.chug<br>
7fd42ffe1000-7fd42ffe2000 rw-p 00002000 08:03 802423<br>
  /usr/lib/chuck/KasFilter.chug<br>
7fd42ffe2000-7fd42fff0000 r-xp 00000000 08:03 802430<br>
  /usr/lib/chuck/Spectacle.chug<br>
7fd42fff0000-7fd4301ef000 ---p 0000e000 08:03 802430<br>
  /usr/lib/chuck/Spectacle.chug<br>
7fd4301ef000-7fd4301f0000 r--p 0000d000 08:03 802430<br>
  /usr/lib/chuck/Spectacle.chug<br>
7fd4301f0000-7fd4301f1000 rw-p 0000e000 08:03 802430<br>
  /usr/lib/chuck/Spectacle.chug<br>
7fd4301f1000-7fd430209000 r-xp 00000000 08:03 3411496<br>
  /lib/x86_64-linux-gnu/<a href="http://libresolv-2.15.so" target="_blank">libresolv-2.15.so</a><br>
7fd430209000-7fd430409000 ---p 00018000 08:03 3411496<br>
  /lib/x86_64-linux-gnu/<a href="http://libresolv-2.15.so" target="_blank">libresolv-2.15.so</a><br>
7fd430409000-7fd43040a000 r--p 00018000 08:03 3411496<br>
  /lib/x86_64-linux-gnu/<a href="http://libresolv-2.15.so" target="_blank">libresolv-2.15.so</a><br>
7fd43040a000-7fd43040b000 rw-p 00019000 08:03 3411496<br>
  /lib/x86_64-linux-gnu/<a href="http://libresolv-2.15.so" target="_blank">libresolv-2.15.so</a><br>
7fd43040b000-7fd43040d000 rw-p 00000000 00:00 0<br>
7fd43040d000-7fd430424000 r-xp 00000000 08:03 3411602<br>
  /lib/x86_64-linux-gnu/<a href="http://libnsl-2.15.so" target="_blank">libnsl-2.15.so</a><br>
7fd430424000-7fd430623000 ---p 00017000 08:03 3411602<br>
  /lib/x86_64-linux-gnu/<a href="http://libnsl-2.15.so" target="_blank">libnsl-2.15.so</a><br>
7fd430623000-7fd430624000 r--p 00016000 08:03 3411602<br>
  /lib/x86_64-linux-gnu/<a href="http://libnsl-2.15.so" target="_blank">libnsl-2.15.so</a><br>
7fd430624000-7fd430625000 rw-p 00017000 08:03 3411602<br>
  /lib/x86_64-linux-gnu/<a href="http://libnsl-2.15.so" target="_blank">libnsl-2.15.so</a><br>
7fd430625000-7fd430627000 rw-p 00000000 00:00 0<br>
7fd430627000-7fd43062c000 r-xp 00000000 08:03 663153<br>
  /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0<br>
7fd43062c000-7fd43082b000 ---p 00005000 08:03 663153<br>
  /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0<br>
7fd43082b000-7fd43082c000 r--p 00004000 08:03 663153<br>
  /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0<br>
7fd43082c000-7fd43082d000 rw-p 00005000 08:03 663153<br>
  /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0<br>
7fd43082d000-7fd43082f000 r-xp 00000000 08:03 663140<br>
  /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0<br>
7fd43082f000-7fd430a2e000 ---p 00002000 08:03 663140<br>
  /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0<br>
7fd430a2e000-7fd430a2f000 r--p 00001000 08:03 663140<br>
  /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0<br>
7fd430a2f000-7fd430a30000 rw-p 00002000 08:03 663140<br>
  /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0<br>
7fd430a30000-7fd430a35000 r-xp 00000000 08:03 663205<br>
  /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1<br>
7fd430a35000-7fd430c34000 ---p 00005000 08:03 663205<br>
  /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1<br>
7fd430c34000-7fd430c35000 r--p 00004000 08:03 663205<br>
  /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1<br>
7fd430c35000-7fd430c36000 rw-p 00005000 08:03 663205<br>
  /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1<br>
7fd430c36000-7fd430c3e000 r-xp 00000000 08:03 3411651<br>
  /lib/x86_64-linux-gnu/libwrap.so.0.7.6<br>
7fd430c3e000-7fd430e3d000 ---p 00008000 08:03 3411651<br>
  /lib/x86_64-linux-gnu/libwrap.so.0.7.6<br>
7fd430e3d000-7fd430e3e000 r--p 00007000 08:03 3411651<br>
  /lib/x86_64-linux-gnu/libwrap.so.0.7.6<br>
7fd430e3e000-7fd430e3f000 rw-p 00008000 08:03 3411651<br>
  /lib/x86_64-linux-gnu/libwrap.so.0.7.6<br>
7fd430e3f000-7fd430e5c000 r-xp 00000000 08:03 657105<br>
  /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0<br>
7fd430e5c000-7fd43105b000 ---p 0001d000 08:03 657105<br>
  /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0<br>
7fd43105b000-7fd43105c000 r--p 0001c000 08:03 657105<br>
  /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0<br>
7fd43105c000-7fd43105d000 rw-p 0001d000 08:03 657105<br>
  /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0<br>
7fd43105d000-7fd431064000 r-xp 00000000 08:03 663531<br>
  /usr/lib/x86_64-linux-gnu/libjson.so.0.0.1<br>
7fd431064000-7fd431263000 ---p 00007000 08:03 663531<br>
  /usr/lib/x86_64-linux-gnu/libjson.so.0.0.1<br>
7fd431263000-7fd431264000 r--p 00006000 08:03 663531<br>
  /usr/lib/x86_64-linux-gnu/libjson.so.0.0.1<br>
7fd431264000-7fd431265000 rw-p 00007000 08:03 663531<br>
  /usr/lib/x86_64-linux-gnu/libjson.so.0.0.1<br>
7fd431265000-7fd431287000 r-xp 00000000 08:03 3411639<br>
  /lib/x86_64-linux-gnu/libtinfo.so.5.9<br>
7fd431287000-7fd431487000 ---p 00022000 08:03 3411639<br>
  /lib/x86_64-linux-gnu/libtinfo.so.5.9<br>
7fd431487000-7fd43148b000 r--p 00022000 08:03 3411639<br>
  /lib/x86_64-linux-gnu/libtinfo.so.5.9<br>
7fd43148b000-7fd43148c000 rw-p 00026000 08:03 3411639<br>
  /lib/x86_64-linux-gnu/libtinfo.so.5.9<br>
7fd43148c000-7fd4314e8000 r-xp 00000000 08:03 662027<br>
  /usr/lib/x86_64-linux-gnu/<a href="http://libpulsecommon-1.1.so" target="_blank">libpulsecommon-1.1.so</a><br>
7fd4314e8000-7fd4316e8000 ---p 0005c000 08:03 662027<br>
  /usr/lib/x86_64-linux-gnu/<a href="http://libpulsecommon-1.1.so" target="_blank">libpulsecommon-1.1.so</a><br>
7fd4316e8000-7fd4316e9000 r--p 0005c000 08:03 662027<br>
  /usr/lib/x86_64-linux-gnu/<a href="http://libpulsecommon-1.1.so" target="_blank">libpulsecommon-1.1.so</a><br>
7fd4316e9000-7fd4316ea000 rw-p 0005d000 08:03 662027<br>
  /usr/lib/x86_64-linux-gnu/<a href="http://libpulsecommon-1.1.so" target="_blank">libpulsecommon-1.1.so</a><br>
7fd4316ea000-7fd431730000 r-xp 00000000 08:03 661818<br>
  /usr/lib/x86_64-linux-gnu/libpulse.so.0.13.5<br>
7fd431730000-7fd431930000 ---p 00046000 08:03 661818<br>
  /usr/lib/x86_64-linux-gnu/libpulse.so.0.13.5<br>
7fd431930000-7fd431931000 r--p 00046000 08:03 661818<br>
  /usr/lib/x86_64-linux-gnu/libpulse.so.0.13.5<br>
7fd431931000-7fd431932000 rw-p 00047000 08:03 661818<br>
  /usr/lib/x86_64-linux-gnu/libpulse.so.0.13.5<br>
7fd431932000-7fd43196e000 r-xp 00000000 08:03 3411615<br>
  /lib/x86_64-linux-gnu/libpcre.so.3.12.1<br>
7fd43196e000-7fd431b6d000 ---p 0003c000 08:03 3411615<br>
  /lib/x86_64-linux-gnu/libpcre.so.3.12.1<br>
7fd431b6d000-7fd431b6e000 r--p 0003b000 08:03 3411615<br>
  /lib/x86_64-linux-gnu/libpcre.so.3.12.1<br>
7fd431b6e000-7fd431b6f000 rw-p 0003c000 08:03 3411615<br>
  /lib/x86_64-linux-gnu/libpcre.so.3.12.1<br>
7fd431b6f000-7fd431ba8000 r-xp 00000000 08:03 3411625<br>
  /lib/x86_64-linux-gnu/libreadline.so.6.2<br>
7fd431ba8000-7fd431da8000 ---p 00039000 08:03 3411625<br>
  /lib/x86_64-linux-gnu/libreadline.so.6.2<br>
7fd431da8000-7fd431daa000 r--p 00039000 08:03 3411625<br>
  /lib/x86_64-linux-gnu/libreadline.so.6.2<br>
7fd431daa000-7fd431db0000 rw-p 0003b000 08:03 3411625<br>
  /lib/x86_64-linux-gnu/libreadline.so.6.2<br>
7fd431db0000-7fd431db1000 rw-p 00000000 00:00 0<br>
7fd431db1000-7fd431df3000 r-xp 00000000 08:03 3407910<br>
  /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8<br>
7fd431df3000-7fd431ff3000 ---p 00042000 08:03 3407910<br>
  /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8<br>
7fd431ff3000-7fd431ff4000 r--p 00042000 08:03 3407910<br>
  /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8<br>
7fd431ff4000-7fd431ff5000 rw-p 00043000 08:03 3407910<br>
  /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8<br>
7fd431ff5000-7fd431ff8000 r-xp 00000000 08:03 662026<br>
  /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.0.3<br>
7fd431ff8000-7fd4321f7000 ---p 00003000 08:03 662026<br>
  /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.0.3<br>
7fd4321f7000-7fd4321f8000 r--p 00002000 08:03 662026<br>
  /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.0.3<br>
7fd4321f8000-7fd4321f9000 rw-p 00003000 08:03 662026<br>
  /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.0.3<br>
7fd4321f9000-7fd43220c000 r-xp 00000000 08:03 656534<br>
  /usr/lib/x86_64-linux-gnu/libjack.so.0.0.28<br>
7fd43220c000-7fd43240b000 ---p 00013000 08:03 656534<br>
  /usr/lib/x86_64-linux-gnu/libjack.so.0.0.28<br>
7fd43240b000-7fd43240c000 r--p 00012000 08:03 656534<br>
  /usr/lib/x86_64-linux-gnu/libjack.so.0.0.28<br>
7fd43240c000-7fd43240d000 rw-p 00013000 08:03 656534<br>
  /usr/lib/x86_64-linux-gnu/libjack.so.0.0.28<br>
7fd43240d000-7fd432416000 rw-p 00000000 00:00 0<br>
7fd432416000-7fd432508000 r-xp 00000000 08:03 3407908<br>
  /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4<br>
7fd432508000-7fd432708000 ---p 000f2000 08:03 3407908<br>
  /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4<br>
7fd432708000-7fd432709000 r--p 000f2000 08:03 3407908<br>
  /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4<br>
7fd432709000-7fd43270a000 rw-p 000f3000 08:03 3407908<br>
  /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4<br>
7fd43270a000-7fd43270b000 rw-p 00000000 00:00 0<br>
7fd43270b000-7fd43275f000 r-xp 00000000 08:03 671207<br>
  /usr/lib/x86_64-linux-gnu/libfluidsynth.so.1.5.1<br>
7fd43275f000-7fd43295f000 ---p 00054000 08:03 671207<br>
  /usr/lib/x86_64-linux-gnu/libfluidsynth.so.1.5.1<br>
7fd43295f000-7fd432960000 r--p 00054000 08:03 671207<br>
  /usr/lib/x86_64-linux-gnu/libfluidsynth.so.1.5.1<br>
7fd432960000-7fd432962000 rw-p 00055000 08:03 671207<br>
  /usr/lib/x86_64-linux-gnu/libfluidsynth.so.1.5.1<br>
7fd432962000-7fd4329d0000 rw-p 00000000 00:00 0<br>
7fd4329d0000-7fd4329d2000 r-xp 00000000 08:03 802431<br>
  /usr/lib/chuck/FluidSynth.chug<br>
7fd4329d2000-7fd432bd1000 ---p 00002000 08:03 802431<br>
  /usr/lib/chuck/FluidSynth.chug<br>
7fd432bd1000-7fd432bd2000 r--p 00001000 08:03 802431<br>
  /usr/lib/chuck/FluidSynth.chug<br>
7fd432bd2000-7fd432bd3000 rw-p 00002000 08:03 802431<br>
  /usr/lib/chuck/FluidSynth.chug<br>
7fd432bd3000-7fd432bda000 r-xp 00000000 08:03 796739<br>
  /usr/lib/chuck/Sigmund.chug<br>
7fd432bda000-7fd432dd9000 ---p 00007000 08:03 796739<br>
  /usr/lib/chuck/Sigmund.chug<br>
7fd432dd9000-7fd432dda000 r--p 00006000 08:03 796739<br>
  /usr/lib/chuck/Sigmund.chug<br>
7fd432dda000-7fd432ddb000 rw-p 00007000 08:03 796739<br>
  /usr/lib/chuck/Sigmund.chug<br>
7fd432ddb000-7fd432de6000 r-xp 00000000 08:03 802429<br>
  /usr/lib/chuck/Mesh2D.chug<br>
7fd432de6000-7fd432fe5000 ---p 0000b000 08:03 802429<br>
  /usr/lib/chuck/Mesh2D.chug<br>
7fd432fe5000-7fd432fe6000 r--p 0000a000 08:03 802429<br>
  /usr/lib/chuck/Mesh2D.chug<br>
7fd432fe6000-7fd432fe7000 rw-p 0000b000 08:03 802429<br>
  /usr/lib/chuck/Mesh2D.chug<br>
7fd432fe7000-7fd432fe9000 r-xp 00000000 08:03 802426<br>
  /usr/lib/chuck/PanN.chug<br>
7fd432fe9000-7fd4331e9000 ---p 00002000 08:03 802426<br>
  /usr/lib/chuck/PanN.chug<br>
7fd4331e9000-7fd4331ea000 r--p 00002000 08:03 802426<br>
  /usr/lib/chuck/PanN.chug<br>
7fd4331ea000-7fd4331eb000 rw-p 00003000 08:03 802426<br>
  /usr/lib/chuck/PanN.chug<br>
7fd4331eb000-7fd4331ed000 r-xp 00000000 08:03 797714<br>
  /usr/lib/chuck/ExpDelay.chug<br>
7fd4331ed000-7fd4333ed000 ---p 00002000 08:03 797714<br>
  /usr/lib/chuck/ExpDelay.chug<br>
7fd4333ed000-7fd4333ee000 r--p 00002000 08:03 797714<br>
  /usr/lib/chuck/ExpDelay.chug<br>
7fd4333ee000-7fd4333ef000 rw-p 00003000 08:03 797714<br>
  /usr/lib/chuck/ExpDelay.chug<br>
7fd4333ef000-7fd4333f3000 r-xp 00000000 08:03 802427<br>
  /usr/lib/chuck/PitchTrack.chug<br>
7fd4333f3000-7fd4335f2000 ---p 00004000 08:03 802427<br>
  /usr/lib/chuck/PitchTrack.chug<br>
7fd4335f2000-7fd4335f3000 r--p 00003000 08:03 802427<br>
  /usr/lib/chuck/PitchTrack.chug<br>
7fd4335f3000-7fd4335f4000 rw-p 00004000 08:03 802427<br>
  /usr/lib/chuck/PitchTrack.chug<br>
7fd4335f4000-7fd4335f8000 r-xp 00000000 08:03 799399<br>
  /usr/lib/chuck/Ladspa.chug<br>
7fd4335f8000-7fd4337f7000 ---p 00004000 08:03 799399<br>
  /usr/lib/chuck/Ladspa.chug<br>
7fd4337f7000-7fd4337f8000 r--p 00003000 08:03 799399<br>
  /usr/lib/chuck/Ladspa.chug<br>
7fd4337f8000-7fd4337f9000 rw-p 00004000 08:03 799399<br>
  /usr/lib/chuck/Ladspa.chug<br>
7fd4337f9000-7fd4337fa000 r-xp 00000000 08:03 802424<br>
  /usr/lib/chuck/MagicSine.chug<br>
7fd4337fa000-7fd4339f9000 ---p 00001000 08:03 802424<br>
  /usr/lib/chuck/MagicSine.chug<br>
7fd4339f9000-7fd4339fa000 r--p 00000000 08:03 802424<br>
  /usr/lib/chuck/MagicSine.chug<br>
7fd4339fa000-7fd4339fb000 rw-p 00001000 08:03 802424<br>
  /usr/lib/chuck/MagicSine.chug<br>
7fd4339fb000-7fd4339fe000 r-xp 00000000 08:03 802421<br>
  /usr/lib/chuck/ABSaturator.chug<br>
7fd4339fe000-7fd433bfd000 ---p 00003000 08:03 802421<br>
  /usr/lib/chuck/ABSaturator.chug<br>
7fd433bfd000-7fd433bfe000 r--p 00002000 08:03 802421<br>
  /usr/lib/chuck/ABSaturator.chug<br>
7fd433bfe000-7fd433bff000 rw-p 00003000 08:03 802421<br>
  /usr/lib/chuck/ABSaturator.chug<br>
7fd433bff000-7fd433c00000 r-xp 00000000 08:03 802422<br>
  /usr/lib/chuck/Bitcrusher.chug<br>
7fd433c00000-7fd433e00000 ---p 00001000 08:03 802422<br>
  /usr/lib/chuck/Bitcrusher.chug<br>
7fd433e00000-7fd433e01000 r--p 00001000 08:03 802422<br>
  /usr/lib/chuck/Bitcrusher.chug<br>
7fd433e01000-7fd433e02000 rw-p 00002000 08:03 802422<br>
  /usr/lib/chuck/Bitcrusher.chug<br>
7fd433e02000-7fd433e05000 r-xp 00000000 08:03 802425<br>
  /usr/lib/chuck/FIR.chug<br>
7fd433e05000-7fd434004000 ---p 00003000 08:03 802425<br>
  /usr/lib/chuck/FIR.chug<br>
7fd434004000-7fd434005000 r--p 00002000 08:03 802425<br>
  /usr/lib/chuck/FIR.chug<br>
7fd434005000-7fd434006000 rw-p 00003000 08:03 802425<br>
  /usr/lib/chuck/FIR.chug<br>
7fd434006000-7fd43400b000 r-xp 00000000 08:03 802432<br>
  /usr/lib/chuck/Elliptic.chug<br>
7fd43400b000-7fd43420a000 ---p 00005000 08:03 802432<br>
  /usr/lib/chuck/Elliptic.chug<br>
7fd43420a000-7fd43420b000 r--p 00004000 08:03 802432<br>
  /usr/lib/chuck/Elliptic.chug<br>
7fd43420b000-7fd43420c000 rw-p 00005000 08:03 802432<br>
  /usr/lib/chuck/Elliptic.chug<br>
7fd43420c000-7fd43420d000 rw-p 00000000 00:00 0<br>
7fd43420d000-7fd43420e000 ---p 00000000 00:00 0<br>
7fd43420e000-7fd434a0e000 rw-p 00000000 00:00 0<br>
7fd434a0e000-7fd434a14000 r-xp 00000000 08:03 663601<br>
  /usr/lib/x86_64-linux-gnu/libogg.so.0.7.1<br>
7fd434a14000-7fd434c13000 ---p 00006000 08:03 663601<br>
  /usr/lib/x86_64-linux-gnu/libogg.so.0.7.1<br>
7fd434c13000-7fd434c14000 r--p 00005000 08:03 663601<br>
  /usr/lib/x86_64-linux-gnu/libogg.so.0.7.1<br>
7fd434c14000-7fd434c15000 rw-p 00006000 08:03 663601<br>
  /usr/lib/x86_64-linux-gnu/libogg.so.0.7.1<br>
7fd434c15000-7fd434c40000 r-xp 00000000 08:03 663780<br>
  /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.5<br>
7fd434c40000-7fd434e3f000 ---p 0002b000 08:03 663780<br>
  /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.5<br>
7fd434e3f000-7fd434e40000 r--p 0002a000 08:03 663780<br>
  /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.5<br>
7fd434e40000-7fd434e41000 rw-p 0002b000 08:03 663780<br>
  /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.5<br>
7fd434e41000-7fd4350f4000 r-xp 00000000 08:03 663782<br>
  /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.8<br>
7fd4350f4000-7fd4352f3000 ---p 002b3000 08:03 663782<br>
  /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.8<br>
7fd4352f3000-7fd43530f000 r--p 002b2000 08:03 663782<br>
  /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.8<br>
7fd43530f000-7fd435310000 rw-p 002ce000 08:03 663782<br>
  /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.8<br>
7fd435310000-7fd435358000 r-xp 00000000 08:03 663073<br>
  /usr/lib/x86_64-linux-gnu/libFLAC.so.8.2.0<br>
7fd435358000-7fd435558000 ---p 00048000 08:03 663073<br>
  /usr/lib/x86_64-linux-gnu/libFLAC.so.8.2.0Aborted (core dumped)<br>
<br>
I suppose we should move this to an issue on github at some point. . .<br>
<br>
   michael<br>
<br>
<br>
On Mon, Jun 23, 2014 at 9:17 PM, Ryan Supak &lt;<a>ryansupak@gmail.com</a>&gt; wrote:<br>
&gt; Yuck, it behaves badly on Mac, but even worse on RPi. I get to maybe 30<br>
&gt; shreds before it tanks... rs<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Jun 23, 2014 at 5:33 PM, Michael Heuer &lt;<a>heuermh@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Oops, forgot to increment count<br>
&gt;&gt;<br>
&gt;&gt;   &lt;&lt;&lt;&quot;count&quot;, count++&gt;&gt;&gt;;<br>
&gt;&gt;<br>
&gt;&gt; ...<br>
&gt;&gt;<br>
&gt;&gt; $ chuck --silent examples/dmxBug.ck<br>
&gt;&gt; [chuck](VM): removing shred: 2 (spork~exp)...<br>
&gt;&gt; count 0<br>
&gt;&gt; [chuck](VM): removing shred: 3 (spork~exp)...<br>
&gt;&gt; count 1<br>
&gt;&gt; ...<br>
&gt;&gt; [chuck](VM): removing shred: 144 (spork~exp)...<br>
&gt;&gt; count 142<br>
&gt;&gt; [chuck](VM): removing shred: 145 (spork~exp)...<br>
&gt;&gt; count 143<br>
&gt;&gt; [chuck](VM): removing shred: 146 (spork~exp)...<br>
&gt;&gt; Segmentation fault: 11<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Mon, Jun 23, 2014 at 5:31 PM, Michael Heuer &lt;<a>heuermh@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; Interesting find, even this simple example blows for me<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; dmxBug.ck:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; fun void blink()<br>
&gt;&gt; &gt; {<br>
&gt;&gt; &gt;   while (true)<br>
&gt;&gt; &gt;   {<br>
&gt;&gt; &gt;     50::ms =&gt; now;<br>
&gt;&gt; &gt;   }<br>
&gt;&gt; &gt; }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Shred shred;<br>
&gt;&gt; &gt; spork ~ blink() @=&gt; shred;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; 0 =&gt; int count;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; while (true)<br>
&gt;&gt; &gt; {<br>
&gt;&gt; &gt;   200::ms =&gt; now;<br>
&gt;&gt; &gt;   <a href="http://shred.id" target="_blank">shred.id</a>() =&gt; Machine.remove;<br>
&gt;&gt; &gt;   spork ~ blink() @=&gt; shred;<br>
&gt;&gt; &gt;   &lt;&lt;&lt;&quot;count&quot;, count&gt;&gt;&gt;;<br>
&gt;&gt; &gt; }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; $ chuck --silent examples/dmxBug.ck<br>
&gt;&gt; &gt; ...<br>
&gt;&gt; &gt; [chuck](VM): removing shred: 144 (spork~exp)...<br>
&gt;&gt; &gt; count 0<br>
&gt;&gt; &gt; [chuck](VM): removing shred: 145 (spork~exp)...<br>
&gt;&gt; &gt; count 0<br>
&gt;&gt; &gt; [chuck](VM): removing shred: 146 (spork~exp)...<br>
&gt;&gt; &gt; Segmentation fault: 11<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;    michael<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Mon, Jun 23, 2014 at 5:17 PM, Ryan Supak &lt;<a>ryansupak@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; Update: I eliminated everything I could from the Shreds that were being<br>
&gt;&gt; &gt;&gt; Sporked, and I still get the exact same error (at exactly 147 Shreds.)<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Here is what I shortened the Shreds to:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; fun void Blink()<br>
&gt;&gt; &gt;&gt; {<br>
&gt;&gt; &gt;&gt;     while( true )<br>
&gt;&gt; &gt;&gt;     {<br>
&gt;&gt; &gt;&gt;         50::ms =&gt; now;<br>
&gt;&gt; &gt;&gt;     }<br>
&gt;&gt; &gt;&gt; }<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; fun void LFOMod()<br>
&gt;&gt; &gt;&gt; {<br>
&gt;&gt; &gt;&gt;     while( true )<br>
&gt;&gt; &gt;&gt;     {<br>
&gt;&gt; &gt;&gt;         50::ms =&gt; now;<br>
&gt;&gt; &gt;&gt;     }<br>
&gt;&gt; &gt;&gt; }<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; On Mon, Jun 23, 2014 at 4:22 PM, Ryan Supak &lt;<a>ryansupak@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Thanks for the thorough reply. I&#39;m doing one safer, even than &quot;voice<br>
&gt;&gt; &gt;&gt;&gt; stealing&quot;: each Spork is, at most, reconfiguring a single global<br>
&gt;&gt; &gt;&gt;&gt; oscillator.<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Attached is the entire source. Lines 128-142 contain initialization<br>
&gt;&gt; &gt;&gt;&gt; code<br>
&gt;&gt; &gt;&gt;&gt; that creates a Shred to make an LED blink by sending a MIDI message<br>
&gt;&gt; &gt;&gt;&gt; within a<br>
&gt;&gt; &gt;&gt;&gt; time loop, and another Shred that sets the frequency of an LFO, polls<br>
&gt;&gt; &gt;&gt;&gt; it<br>
&gt;&gt; &gt;&gt;&gt; every ten milliseconds, and sends some Serial output based on the LFO<br>
&gt;&gt; &gt;&gt;&gt; position.<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Anytime that the parameters controlling the blinking rate and the LFO<br>
&gt;&gt; &gt;&gt;&gt; rate/phase have occasion to change (when MIDI events come in to change<br>
&gt;&gt; &gt;&gt;&gt; them), the &quot;old&quot; Shreds are Machine.Remove&#39;d and they&#39;re recreated<br>
&gt;&gt; &gt;&gt;&gt; immediately following. You can see this at lines 343 and 589.<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Notice that the LFOMod function and the Blink function aren&#39;t creating<br>
&gt;&gt; &gt;&gt;&gt; anything new (with the exception of local arguments being<br>
&gt;&gt; &gt;&gt;&gt; instantiated), but<br>
&gt;&gt; &gt;&gt;&gt; if you think those local arguments could be causing my problem I&#39;ll<br>
&gt;&gt; &gt;&gt;&gt; eliminate them too.<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Please see the attached.<br>
&gt;&gt; &gt;&gt;&gt; rs<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; On Mon, Jun 23, 2014 at 11:59 AM, Perry R Cook &lt;<a>prc@cs.princeton.edu</a>&gt;<br>
&gt;&gt; &gt;&gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; I have lots of programs that spork hundreds or thousands<br>
&gt;&gt; &gt;&gt;&gt;&gt; of shreds without this error.  So, without seeing your<br>
&gt;&gt; &gt;&gt;&gt;&gt; code, my guesses (and questions) are as follows:<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; Are you running this on a small memory architecture? Since<br>
&gt;&gt; &gt;&gt;&gt;&gt; you say headless, I&#39;m guessing maybe Raspberry Pi?  It<br>
&gt;&gt; &gt;&gt;&gt;&gt; could be that you&#39;re running out of memory, so see next<br>
&gt;&gt; &gt;&gt;&gt;&gt; question.<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; Does the shred that you&#39;re sporking declare new UGs or<br>
&gt;&gt; &gt;&gt;&gt;&gt; require memory to be allocated (arrays, lots of string<br>
&gt;&gt; &gt;&gt;&gt;&gt; manipulation, etc.)?  In general, this is a bad idea if you<br>
&gt;&gt; &gt;&gt;&gt;&gt; can avoid it.  ChucK does no garbage collection, which<br>
&gt;&gt; &gt;&gt;&gt;&gt; means that you need to be cautious about declaring memory.<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; So even a shred as simple as:<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; fun void mySine()  {<br>
&gt;&gt; &gt;&gt;&gt;&gt;     SinOsc s =&gt; dac;<br>
&gt;&gt; &gt;&gt;&gt;&gt;     Math.random2f(100,1000) =&gt; s.freq;<br>
&gt;&gt; &gt;&gt;&gt;&gt;     second =&gt; now;<br>
&gt;&gt; &gt;&gt;&gt;&gt;     s =&lt; dac;<br>
&gt;&gt; &gt;&gt;&gt;&gt; }<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; will eat up memory, because even though the SinOsc<br>
&gt;&gt; &gt;&gt;&gt;&gt; is unchucked and never computes again, the memory<br>
&gt;&gt; &gt;&gt;&gt;&gt; for that structure is still around.  We want, someday<br>
&gt;&gt; &gt;&gt;&gt;&gt; to make ChucK a proper garbage collecting language,<br>
&gt;&gt; &gt;&gt;&gt;&gt; but it&#39;s hard, especially for real-time systems.<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; If this turns out to be your issue, then one way to<br>
&gt;&gt; &gt;&gt;&gt;&gt; handle this is to make a global pool of fixed<br>
&gt;&gt; &gt;&gt;&gt;&gt; resources and have your shred grab from that.<br>
&gt;&gt; &gt;&gt;&gt;&gt; Like classic &quot;round robin voice stealing&quot; in<br>
&gt;&gt; &gt;&gt;&gt;&gt; synthesizers:<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; SinOsc s[100];<br>
&gt;&gt; &gt;&gt;&gt;&gt; 0 =&gt; int next2Use;<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; fun void mySine() {<br>
&gt;&gt; &gt;&gt;&gt;&gt;     next2Use =&gt; int thisOne;<br>
&gt;&gt; &gt;&gt;&gt;&gt;     1 +=&gt; next2Use;<br>
&gt;&gt; &gt;&gt;&gt;&gt;     if (next2Use &gt; 99) 0 =&gt; next2Use;<br>
&gt;&gt; &gt;&gt;&gt;&gt;     s[thisOne] =&gt; dac;<br>
&gt;&gt; &gt;&gt;&gt;&gt;     Math.random2f(100,1000) =&gt; s[thisOne].freq;<br>
&gt;&gt; &gt;&gt;&gt;&gt;     second =&gt; now;<br>
&gt;&gt; &gt;&gt;&gt;&gt;     s[thisOne] =&lt; dac;<br>
&gt;&gt; &gt;&gt;&gt;&gt; }<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; // to test:<br>
&gt;&gt; &gt;&gt;&gt;&gt; while (1) {<br>
&gt;&gt; &gt;&gt;&gt;&gt;     Math.random2f(0.01,0.1) :: second =&gt; now;<br>
&gt;&gt; &gt;&gt;&gt;&gt;     spork ~ mySine();<br>
&gt;&gt; &gt;&gt;&gt;&gt; }<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; I just fired up a few dozen of these running in<br>
&gt;&gt; &gt;&gt;&gt;&gt; parallel, VM showed 2600 total shreds running,<br>
&gt;&gt; &gt;&gt;&gt;&gt; no problem (and no clicks or dropouts!!).<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; Hope this helps, if none of this applies, then you<br>
&gt;&gt; &gt;&gt;&gt;&gt; may have discovered a strange bug.  Source code please,<br>
&gt;&gt; &gt;&gt;&gt;&gt; and we can all scratch our heads on it.<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;  Thanx!!  PRC<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; Today&#39;s Topics:<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;    1. 147th shred removed...segmentation fault? (Ryan Supak)<br>
&gt;&gt; &gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt;&gt; chuck-users mailing list<br>
&gt;&gt; &gt;&gt;&gt;&gt; <a>chuck-users@lists.cs.princeton.edu</a><br>
&gt;&gt; &gt;&gt;&gt;&gt; <a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; chuck-users mailing list<br>
&gt;&gt; &gt;&gt; <a>chuck-users@lists.cs.princeton.edu</a><br>
&gt;&gt; &gt;&gt; <a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; chuck-users mailing list<br>
&gt;&gt; <a>chuck-users@lists.cs.princeton.edu</a><br>
&gt;&gt; <a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; chuck-users mailing list<br>
&gt; <a>chuck-users@lists.cs.princeton.edu</a><br>
&gt; <a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
&gt;<br>
_______________________________________________<br>
chuck-users mailing list<br>
<a>chuck-users@lists.cs.princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
</blockquote></div></div></div>
<br>_______________________________________________<br>
chuck-users mailing list<br>
<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;chuck-users@lists.cs.princeton.edu&#39;);" target="_blank">chuck-users@lists.cs.princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
<br></blockquote></div><br></div>
</blockquote>