On OS X, I found the following to be really handy:<br><br><div>   <a href="https://developer.apple.com/library/mac/documentation/Performance/Conceptual/ManagingMemory/Articles/MallocDebug.html">https://developer.apple.com/library/mac/documentation/Performance/Conceptual/ManagingMemory/Articles/MallocDebug.html</a><div><br></div><div>so you can do things like:</div></div><div><br></div><div>   $ gdb chuck</div><div>   (gdb) set env MallocGuardEdges 1</div><div>   (gdb) run</div><div><br></div><div>Setting MallocGuardEdges, MallocScribble and MallocPreScribble might cause ChucK to get a segfault sooner.  Then you print a backtrace by doing: </div><div><br></div><div>   (gbd) bt</div><div><br></div><div>and send the results to Spencer for post mortem!</div><div><br></div><div>HTH...</div><div><br></div><div>- Rob</div><div> </div><div>   </div><br><div class="gmail_quote">On Tue Jan 27 2015 at 6:20:49 PM 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">+1 for gdb. If I were able to see a stack trace with function names (I think after it crashes in gdb, enter the &#39;backtrace&#39; command) that would help a lot as far as pinpointing whatever in your ChucK code is triggering the crash.  <div><br></div><div>spencer</div><div><br></div></div><div class="gmail_extra"></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 27, 2015 at 2:39 PM, Joel Matthys <span dir="ltr">&lt;<a href="mailto:jwmatthys@gmail.com" target="_blank">jwmatthys@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">Oh yeah! I had forgotten about ConsoleInput. (It&#39;s undocumented and I think it&#39;s generally considered archaic.) I know some early SLorK/PLorK pieces used Tcl/Tk GUIs outputting control numbers piped into ChucK. So I&#39;m sure it&#39;s valid code, but I don&#39;t know how to debug it with GDB.<span><font color="#888888"><br>
<br>
Joel</font></span><div><div><br>
<br>
On 01/27/2015 04:33 PM, Gonzalo wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This was a suggestion by Perry Cook, it&#39;s in chuck-users in a thread called &quot;timestamps&quot;, Dec 14. The essence is:<br>
<br>
ConsoleInput stdin;     // gonna read from here<br>
stdin.prompt(&quot;&quot;) =&gt; now; // wait until something comes in<br>
while (stdin.more())  {  stdin.getLine() =&gt; ...  } // read input<br>
<br>
(fully working code in his post)<br>
<br>
I&#39;ll try your way to see if I can do this with gdb. Thanks!<br>
<br>
<br>
On 28/01/2015 9:21 am, Joel Matthys wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hmm... I&#39;ve never piped anything into ChucK like that before. How does<br>
ChucK access the timestamp?<br>
<br>
Typically I would do something like that with an argument:<br>
<br>
chuck wp.ck:`date +&quot;%y%m%d-%T&quot;`<br>
<br>
and then access it in ChucK with me.arg(0) =&gt; string timestamp;<br>
<br>
Joel<br>
<br>
On 01/27/2015 03:27 PM, Gonzalo wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks Joel. One more hiccup: I start my chuck program with:<br>
<br>
date +&quot;%y%m%d-%T&quot; | chuck <a href="http://wp.ck" target="_blank">wp.ck</a><br>
<br>
(I need it to have a timestamp)<br>
<br>
But I can&#39;t do that in gdb. I can disable the timestamp part in the<br>
code, but just checking to see if this is possible.<br>
<br>
<br>
On 28/01/2015 8:01 am, Joel Matthys wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I assume you&#39;re on Linux or OSX. (If it&#39;s Windows, I&#39;m clueless.)<br>
<br>
For me on Ubuntu I type:<br>
<br>
$ *gdb chuck*<br>
<br>
and then once it starts up and I get the (gdb) prompt I type:<br>
<br>
(gdb) *run <a href="http://my_chuck_file.ck" target="_blank">my_chuck_file.ck</a>*<br>
<br>
Of course GDB slows down your system, A LOT, but you can keep it running<br>
until it hits the segfault. The spew should (hopefully) point toward a<br>
specific place in the chuck code that is the problem. (Type q to exit<br>
gdb.) You might want to copy the error messages here for the devs to<br>
look into.<br>
<br>
Joel<br>
<br>
On 01/27/2015 02:53 PM, Gonzalo wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Never used gdb before, I&#39;ll read about this, but any pointers on how<br>
to get started?<br>
<br>
<br>
On 28/01/2015 7:39 am, Joel Matthys wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It&#39;s hard to debug segfaults in the ChucK code itself. running gdb<br>
chuck<br>
might help narrow down the problem.<br>
<br>
Joel<br>
<br>
On 01/27/2015 02:31 PM, Gonzalo wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
On a project I&#39;m working on, I sometimes get a &quot;Segmentation fault:<br>
11&quot; error, and the program crashes. But I can&#39;t figure out when it<br>
happens, and cannot reproduce it. It&#39;s a big project, with many<br>
components communicating via events, and I have no idea who&#39;s<br>
triggering the problem. My question is how would you go about<br>
debugging this? Any ideas what can be triggering it? It sounds very<br>
generic...<br>
<br>
Probably unrelated, but just in case, I also got this (only once so<br>
far):<br>
<br>
chuck(22226,0x7fff790ee310) malloc: *** error for object 0x1028f3408:<br>
incorrect checksum for freed object - object was probably modified<br>
after being freed.<br>
*** set a breakpoint in malloc_error_break to debug<br>
Abort trap: 6<br>
<br>
Thanks!<br>
Gonzalo<br>
______________________________<u></u>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.<u></u>princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.<u></u>edu/mailman/listinfo/chuck-<u></u>users</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.<u></u>princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.<u></u>edu/mailman/listinfo/chuck-<u></u>users</a><br>
<br>
</blockquote>
______________________________<u></u>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.<u></u>princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.<u></u>edu/mailman/listinfo/chuck-<u></u>users</a><br>
</blockquote>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.<u></u>princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.<u></u>edu/mailman/listinfo/chuck-<u></u>users</a><br>
<br>
</blockquote>
______________________________<u></u>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.<u></u>princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.<u></u>edu/mailman/listinfo/chuck-<u></u>users</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.<u></u>princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.<u></u>edu/mailman/listinfo/chuck-<u></u>users</a><br>
<br>
</blockquote>
______________________________<u></u>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.<u></u>princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.<u></u>edu/mailman/listinfo/chuck-<u></u>users</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.<u></u>princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.<u></u>edu/mailman/listinfo/chuck-<u></u>users</a><br>
<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div></div><div class="gmail_extra">-- <br><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div style="font-family:arial;font-size:small"><div>Spencer Salazar<br></div><div>Doctoral Candidate</div><div>Center for Computer Research in Music and Acoustics</div><div>Stanford University</div><div><br></div><div><a href="mailto:spencer@ccrma.stanford.edu" target="_blank">spencer@ccrma.stanford.edu</a></div><div></div><div>+1 831.277.4654<br></div><div><a href="https://ccrma.stanford.edu/~spencer/" style="color:rgb(17,85,204)" target="_blank">https://ccrma.stanford.edu/~spencer/</a><br></div><div><br></div></div></div></div></div></div></div></div></div></div>
</div>
______________________________<u></u>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.<u></u>princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.<u></u>edu/mailman/listinfo/chuck-<u></u>users</a><br>
</blockquote></div>