Well, there is some bootstrapping of the master going on there too, but I haven't really thought much about that.
What I noticed was some code in there that apparently sets up a call to _main without actually doing it:
... lots of SETJMP error handling ...
if ((m = load_pike_master())) { back.severity=THROW_EXIT; // pike_push_argv(argc, argv); pike_push_env();
}
I don't understand what this is supposed to accomplish. Anyway, I've removed the pike_push_env function entirely now. Do you really need it there?