Skip Menu |
Report information
Id: 131206
Status: open
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: alex.jakimenko [at] gmail.com
Cc:
AdminCc:

Severity: (no value)
Tag: testneeded
Platform: (no value)
Patch Status: (no value)
VM: (no value)



Subject: “Oops!!!” when using --target=ast (^…)
Download (untitled) / with headers
text/plain 3.7k
Run this: perl6 --target=ast -e '^…' And among normal lines from the output you will see these messages: Oops!!! Cannot invoke this object (REPR: P6opaque; NQPMu) I don't think it should happen. Full output here: - QAST::CompUnit :W<?> :UNIT<?> [pre_deserialize] - QAST::Stmt - QAST::Stmt - QAST::Op(loadbytecode) - QAST::VM [jvm] - QAST::SVal(ModuleLoader.class) [moar] - QAST::SVal(ModuleLoader.moarvm) - QAST::Op(callmethod load_module) - QAST::Op(gethllsym) - QAST::SVal(nqp) - QAST::SVal(ModuleLoader) - QAST::SVal(Perl6::ModuleLoader) - QAST::Op(forceouterctx) - QAST::BVal(2) - QAST::Op(callmethod load_setting) - QAST::Op(getcurhllsym) - QAST::SVal(ModuleLoader) - QAST::SVal(CORE) [post_deserialize] - QAST::Stmts - QAST::Op(bind) - QAST::Var(attribute $!do) - QAST::WVal(Block) - QAST::WVal(Code) - QAST::BVal(1) - QAST::Op(bindcurhllsym) - QAST::SVal(GLOBAL) - QAST::WVal(GLOBAL) [load] - QAST::Op(call) - QAST::BVal(2) [children] - QAST::Block :in_stmt_mod<?> ^… - QAST::Var(local __args__ :decl(param)) - QAST::Stmts - QAST::Op(call) - QAST::Block(:blocktype(declaration_static)) :IN_DECL<mainline> :in_stmt_mod<?> :code_object<?> :outer<?> - QAST::Stmts - QAST::Var(lexical $¢ :decl(contvar)) - QAST::Var(lexical $! :decl(contvar)) - QAST::Var(lexical $/ :decl(contvar)) - QAST::Var(lexical $_ :decl(contvar)) - QAST::Var(lexical GLOBALish :decl(static)) - QAST::Var(lexical EXPORT :decl(static)) - QAST::Var(lexical $?PACKAGE :decl(static)) - QAST::Var(lexical ::?PACKAGE :decl(static)) - QAST::Var(lexical $=finish :decl(static)) - QAST::Var(lexical $=pod :decl(static)) [value] - - QAST::Var(lexical !UNIT_MARKER :decl(static)) - QAST::VM [jvm] - QAST::Op(null) [moar] - QAST::Op(null) [loadlibs] - nqp_group nqp_ops perl6_ops bit_ops math_ops trans_ops io_ops obscure_ops os file sys_ops nqp_bigint_ops nqp_dyncall_ops - QAST::Stmts - QAST::Op(bind) - QAST::Var(local ctxsave :decl(var)) - QAST::Var(contextual $*CTXSAVE) - QAST::Op(unless) - QAST::Op(isnull) - QAST::Var(local ctxsave) - QAST::Op(if) - QAST::Op(can) - QAST::Var(local ctxsave) - QAST::SVal(ctxsave) - QAST::Op(callmethod ctxsave) - QAST::Var(local ctxsave) - QAST::Stmts - QAST::WVal(Array) - QAST::Stmts <sunk> ^… - QAST::Stmt <sunk final> ^… - QAST::Want <sunk> - QAST::Op(call &prefix:<^>) <sunk> :statement_id<?> ^ - QAST::Op(call &fail) <wanted> … - QAST::Op(callmethod new) <wanted> - QAST::WVal(X::StubCode) <wanted> Oops!!! Cannot invoke this object (REPR: P6opaque; NQPMu) - v - QAST::Op(p6sink) - QAST::Op(call &prefix:<^>) <sunk> :statement_id<?> ^ - QAST::Op(call &fail) <wanted> … - QAST::Op(callmethod new) <wanted> - QAST::WVal(X::StubCode) <wanted> Oops!!! Cannot invoke this object (REPR: P6opaque; NQPMu) - QAST::WVal(Nil)
Download (untitled) / with headers
text/plain 4.3k
On Mon, 24 Apr 2017 15:32:33 -0700, alex.jakimenko@gmail.com wrote: Show quoted text
> Run this: > perl6 --target=ast -e '^…' > > And among normal lines from the output you will see these messages: > > Oops!!! Cannot invoke this object (REPR: P6opaque; NQPMu) > > I don't think it should happen. > > > Full output here: > > - QAST::CompUnit :W<?> :UNIT<?> > [pre_deserialize] > - QAST::Stmt > - QAST::Stmt > - QAST::Op(loadbytecode) > - QAST::VM > [jvm] > - QAST::SVal(ModuleLoader.class) > [moar] > - QAST::SVal(ModuleLoader.moarvm) > - QAST::Op(callmethod load_module) > - QAST::Op(gethllsym) > - QAST::SVal(nqp) > - QAST::SVal(ModuleLoader) > - QAST::SVal(Perl6::ModuleLoader) > - QAST::Op(forceouterctx) > - QAST::BVal(2) > - QAST::Op(callmethod load_setting) > - QAST::Op(getcurhllsym) > - QAST::SVal(ModuleLoader) > - QAST::SVal(CORE) > [post_deserialize] > - QAST::Stmts > - QAST::Op(bind) > - QAST::Var(attribute $!do) > - QAST::WVal(Block) > - QAST::WVal(Code) > - QAST::BVal(1) > - QAST::Op(bindcurhllsym) > - QAST::SVal(GLOBAL) > - QAST::WVal(GLOBAL) > [load] > - QAST::Op(call) > - QAST::BVal(2) > [children] > - QAST::Block :in_stmt_mod<?> ^… > - QAST::Var(local __args__ :decl(param)) > - QAST::Stmts > - QAST::Op(call) > - QAST::Block(:blocktype(declaration_static)) > :IN_DECL<mainline> :in_stmt_mod<?> :code_object<?> :outer<?> > - QAST::Stmts > - QAST::Var(lexical $¢ :decl(contvar)) > - QAST::Var(lexical $! :decl(contvar)) > - QAST::Var(lexical $/ :decl(contvar)) > - QAST::Var(lexical $_ :decl(contvar)) > - QAST::Var(lexical GLOBALish :decl(static)) > - QAST::Var(lexical EXPORT :decl(static)) > - QAST::Var(lexical $?PACKAGE :decl(static)) > - QAST::Var(lexical ::?PACKAGE :decl(static)) > - QAST::Var(lexical $=finish :decl(static)) > - QAST::Var(lexical $=pod :decl(static)) > [value] > - > - QAST::Var(lexical !UNIT_MARKER :decl(static)) > - QAST::VM > [jvm] > - QAST::Op(null) > [moar] > - QAST::Op(null) > [loadlibs] > - nqp_group nqp_ops perl6_ops bit_ops math_ops trans_ops > io_ops obscure_ops os file sys_ops nqp_bigint_ops nqp_dyncall_ops > - QAST::Stmts > - QAST::Op(bind) > - QAST::Var(local ctxsave :decl(var)) > - QAST::Var(contextual $*CTXSAVE) > - QAST::Op(unless) > - QAST::Op(isnull) > - QAST::Var(local ctxsave) > - QAST::Op(if) > - QAST::Op(can) > - QAST::Var(local ctxsave) > - QAST::SVal(ctxsave) > - QAST::Op(callmethod ctxsave) > - QAST::Var(local ctxsave) > - QAST::Stmts > - QAST::WVal(Array) > - QAST::Stmts <sunk> ^… > - QAST::Stmt <sunk final> ^… > - QAST::Want <sunk> > - QAST::Op(call &prefix:<^>) <sunk> :statement_id<?> > ^ > - QAST::Op(call &fail) <wanted> … > - QAST::Op(callmethod new) <wanted> > - QAST::WVal(X::StubCode) <wanted> > Oops!!! Cannot invoke this object (REPR: P6opaque; NQPMu) > - v > - QAST::Op(p6sink) > - QAST::Op(call &prefix:<^>) <sunk> > :statement_id<?> ^ > - QAST::Op(call &fail) <wanted> … > - QAST::Op(callmethod new) <wanted> > - QAST::WVal(X::StubCode) <wanted> > Oops!!! Cannot invoke this object (REPR: P6opaque; NQPMu) > - QAST::WVal(Nil)
Fixed with commit https://github.com/rakudo/rakudo/commit/49dce163e8182ee726cd1e512a03c29551cc16da Found by bisectbot++ using: bisect: my $p = run :out, <perl6 --target=ast -e ^…>; say $p.out.slurp-rest.contains: ‘Oops’ Tests should not be added to roast, rather https://github.com/rakudo/rakudo/tree/master/t


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org