vacant has asked for the wisdom of the Perl Monks concerning the following question:

Has anyone run across this this error message while using the B::CC compiler backend:

Can't locate object method "fake_ppaddr" via package "B::FAKEOP" at /usr/local/lib/perl5/5.8.1/i586-linux/B/C.pm line 365. CHECK failed--call queue aborted.

I have found a few references to it via Google, but I can't figure out what to do about it. It seems to have something do do with threading (then again maybe it doesn't).

Replies are listed 'Best First'.
Re: B::CC and fake_ppaddr
by diotalevi (Canon) on Dec 09, 2003 at 19:34 UTC

    Make your own method. From reading the source it looks like this is what would be there if the method hadn't been left out. (I assume accidentally), You might also want to take the ppaddr key just in case the first sub is wrong.

    sub B::FAKEOP::fake_ppaddr { $_[0]->{fake_ppaddr} || 0 } sub B::FAKEOP::fake_ppaddr { $_[0]->{fake_ppaddr} || $_->{ppaddr} || 0 + }
      Thanks diotalevi, that seems to work. The output is, well, interesting!
        So spill.