If you're getting the invalid recycling bug, you are most likely setting the prog's code to a string that hasn't been dynamically allocated (usually with str_dup). I'd start by looking around the olc mprog editor for anywhere it changes the code pointer (such as the call to string_append in mpedit_code) and follow it downward to make sure it's setting the code to something that's been dynamically allocated (like string_add, where it normally sets mpl->code to str_dup(mpc->code)).
> Only with progs, nothing else, sometimes, when someone > is working with them, it will randomly change into a > say, or a tell, or a room description or something. > Some times its accompanied by a 'invalid recycling of > string' bug, or the sort, but sometimes not. I have > no idea where to start looking, or ever how to look, > or how to use a debugger to nail whats going on. Alot > of people say, "oh its a memory problem." but then i'm > high and dry.

