#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

Reply via email to