#901: eval is broken in parrot_debugger
----------------------+-----------------------------------------------------
Reporter: dukeleto | Owner: dukeleto
Type: bug | Status: new
Priority: normal | Milestone: 1.7
Component: none | Version: 1.4.0
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
----------------------+-----------------------------------------------------
Comment(by dukeleto):
I have traced this to the call to VTABLE_invoke(interp, compiler, buf) in
PDB_compile() in src/debug.c :
{{{
PARROT_CAN_RETURN_NULL
opcode_t *
PDB_compile(PARROT_INTERP, ARGIN(const char *command))
{
ASSERT_ARGS(PDB_compile)
STRING *buf;
const char *end = "\nend\n";
STRING *key = CONST_STRING(interp, "PASM");
PMC *compreg_hash = VTABLE_get_pmc_keyed_int(interp,
interp->iglobals, IGLOBALS_COMPREG_HASH);
PMC *compiler = VTABLE_get_pmc_keyed_str(interp, compreg_hash,
key);
if (!VTABLE_defined(interp, compiler)) {
fprintf(stderr, "Couldn't find PASM compiler");
return NULL;
}
buf = Parrot_sprintf_c(interp, "%s%s", command, end);
return VTABLE_invoke(interp, compiler, buf); <---- BOOM
}
}}}
The VTABLE_invoke call generates the NCI error.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/901#comment:1>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets