I've recompiled chuck with -g and it just gets stranger: with a construct along the lines of: fun void a() { <<< "in a before b" >>>; b(); <<< "in a after b" >>>; } fun void b() { <<< "entering b" >>>; ...do some stuff... <<< "exiting b" >>>; } There are no yields() that would let another process run in-between the call to b and returning to a, but it *sometimes* crashes after the return, so I see the equivalent of: "in a before b" "entering in b" "exiting in b" [crash] I'm seeing a "KERN_INVALID_ADDRESS" at a non-zero address, thrown from inside Chuck_Instr_Reg_Push_Imm::execute() I'm at a real loss how to tackle this one. Its part of a large body of code, so excerpting it down to a minimal example would be tough. Absent any suggestions from the Chuck wizards out there, I'm tempted to simply re-write my code in a different way and hope it makes a difference. But that's not my favorite approach. Suggestions more than welcome. - rdp On 23 May 2009, at 21:49, Tom Lieber wrote:
On Sun, May 24, 2009 at 12:36 AM, Robert Poor
wrote: (and do I need to recompile the sources with -g?)
Yeah, if you don't get filenames in gdb, you need to recompile with -g. I thought it did that by default... maybe it's inconsistently used across the makefiles?
-- Tom Lieber http://AllTom.com/ _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users