The patch below generates an internal exception instead of SEGV, but this results in two error messages, because Parrot_readbc will have already printed its own.
-- Bob Rogers http://rgrjr.dyndns.org/ ------------------------------------------------------------------------ Index: packfile.c =================================================================== --- packfile.c (revision 7992) +++ packfile.c (working copy) @@ -3078,6 +3078,10 @@ ext = strrchr(filename, '.'); if (ext && strcmp (ext, ".pbc") == 0) { pf = PackFile_append_pbc(interpreter, filename); + if (!pf) { + internal_exception(1, "Couldn't find PBC file"); + return; + } do_sub_pragmas(interpreter, pf->cur_cs, PBC_LOADED); } else {