Front page | perl.perl6.internals |
Postings from April 2008
Re: weird perl6/plumhead problem
Thread Previous
|
Thread Next
From:
Jeff Horwitz
Date:
April 29, 2008 17:09
Subject:
Re: weird perl6/plumhead problem
On Tue, 29 Apr 2008, Patrick R. Michaud wrote:
> On Tue, Apr 29, 2008 at 12:34:47PM -0400, Jeff Horwitz wrote:
>> mod_parrot can load multiple HLL compilers in the same interpreter, and on
>> my server i'm using both perl6 and plumhead. this works fine if i load
>> perl6 before plumhead. however, if i load perl6 *after* plumhead, i get a
>> nasty error:
>>
>> push_pmc() not implemented in class 'Sub'
>>
>> i get the same error with this plain PIR:
>>
>> .sub main :main
>> print "loading plumhead\n"
>> load_bytecode "languages/plumhead/plumhead.pbc"
>> print "loading perl6\n"
>> load_bytecode "languages/perl6/perl6.pbc"
>> print "done\n"
>> .end
>>
>> jeff@groovy:~/build/parrot$ ./parrot foo.pir
>> loading plumhead
>> loading perl6
>> push_pmc() not implemented in class 'Sub'
>> current instr.: 'main' pc 6 (foo.pir:5)
>>
>> any ideas? backtrace is below.
>
> How about with a -t 1 ?
duh, should've given you that in the first place. the trace is HUGE, so
here's the last 50 lines. you should be able to reproduce the error using
the code above if you need more detail.
21 load_bytecode "compilers/tge/TGE/Tr"
0 newclass P0, "TGE::Tree" P0=PMCNULL
3 addattribute P0, "cell" P0=Class=PMC(0x845f814)
6 addattribute P0, "visit" P0=Class=PMC(0x845f814)
9 addattribute P0, "data" P0=Class=PMC(0x845f814)
12 addattribute P0, "grammar" P0=Class=PMC(0x845f814)
15 addattribute P0, "agid" P0=Class=PMC(0x845f814)
18 set_returns PC7
20 returncc
23 load_bytecode "compilers/tge/TGE/Pa"
0 push_eh 7
2 subclass P0, "PGE::Grammar", "TGE::Parser" P0=PMCNULL
6 pop_eh
7 set_returns PC3
9 returncc
25 load_bytecode "compilers/tge/TGE/Gr"
0 newclass P0, "TGE::Grammar" P0=PMCNULL
3 addattribute P0, "rules" P0=Class=PMC(0x8516ce4)
6 addattribute P0, "symbols" P0=Class=PMC(0x8516ce4)
9 set_returns PC5
11 returncc
27 load_bytecode "compilers/tge/TGE/Co"
0 load_bytecode "TGE.pbc"
2 get_class P0, "TGE::Grammar" P0=PMCNULL
5 subclass P1, P0, "TGE::Compiler" P1=PMCNULL P0=Class=PMC(0x8516ce4)
9 set_returns PC5
11 returncc
29 get_class P0, PC22 P0=Integer=PMC(0x846304c: 1)
PC22=Key=PMC(0x820f890)
32 get_hll_global P1, PC24, "die" P1=PMCNULL PC24=Key=PMC(0x820f874)
36 set_args PC2 (3), P0, "die", P1
PC2=FixedIntegerArray=PMC(0x8463394) P0=Class=PMC(0x8518d28)
P1=Sub=PMC(0x846836c pc:7)
41 get_results PC19
43 callmethodcc P0, "add_method" P0=Class=PMC(0x8518d28)
46 get_hll_global P1, PC24, "line_number" P1=Sub=PMC(0x846836c pc:7)
PC24=Key=PMC(0x820f874)
50 set_args PC2 (3), P0, "line_number", P1
PC2=FixedIntegerArray=PMC(0x8463394) P0=Class=PMC(0x8518d28)
P1=Sub=PMC(0x8467e80 pc:229)
55 get_results PC19
57 callmethodcc P0, "add_method" P0=Class=PMC(0x8518d28)
60 set_returns PC19
62 returncc
32824 push_eh 7
32826 subclass P0, "TGE::Grammar", "Plumhead::PAST::Gram" P0=PMCNULL
32830 pop_eh
32831 set_returns PC22
32833 returncc
loading perl6
4 print "loading perl6\n"
6 load_bytecode "languages/perl6/perl"
push_pmc() not implemented in class 'Sub'
current instr.: 'main' pc 6 (foo.pir:5)
ParrotIO objects (like stdout and stderr)are about to be closed, so
clearing trace flags.
Thread Previous
|
Thread Next