#1686: Null PMC access in find_method('signature') using Digest/MD5 from rakudo
-----------------------------------+----------------------------------------
Reporter: cosimo | Type: bug
Status: new | Priority: normal
Milestone: | Component: none
Version: 2.5.0 | Severity: medium
Keywords: find_method signature | Lang: perl6
Patch: | Platform: linux
-----------------------------------+----------------------------------------
Comment(by cosimo):
Just to not forget about it, the `find_method('signature')` problem goes
away by replacing:
{{{
pir::load_bytecode('Digest/MD5.pbc');
}}}
with:
{{{
pir::load_bytecode('Digest/MD5.pir');
}}}
Then the error message becomes `Null PMC access in invoke()`, for which,
because of #1694, you need to apply the following patch:
{{{
Index: runtime/parrot/library/Digest/MD5.pir
===================================================================
--- runtime/parrot/library/Digest/MD5.pir (revision 47873)
+++ runtime/parrot/library/Digest/MD5.pir (working copy)
@@ -68,6 +68,7 @@
###########################################################################
# Main backend entry point
+.HLL 'parrot'
.namespace ["Digest"]
.sub _md5sum
}}}
The only remaining problem was that the code didn't "box" the returning
string pmc. So I had to replace:
{{{
%r = $S0
}}}
with:
{{{
%r = box $S0
}}}
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1686#comment:2>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets