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

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

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



Subject: No such method 'cache' for invocant of type 'NQPMu'
From: Evan Miller <emmiller [...] gmail.com>
To: rakudobug [...] perl.org
Date: Sat, 12 Aug 2017 08:46:27 -0400
Download (untitled) / with headers
text/plain 755b
I'm using the Rakudo nom and MoarVM master. A call to "await" on an array of Promises is failing with the error:

        No such method 'cache' for invocant of type 'NQPMu'
          in any  at /Users/emiller/Code/rakudo/install/share/perl6/runtime/CORE.d.setting.moarvm line 1

The full error can be seen here:


The failing call to "await" is here:


I'm running a version of that source file with "use v6.d.PREVIEW". Here's the output from perl6 --version:

  This is Rakudo version 2017.07-148-g5fcce6732 built on MoarVM version 2017.07-382-g348b4262
  implementing Perl 6.c.


CC: bugs-bitbucket [...] rt.perl.org
To: perl6-compiler [...] perl.org
Date: Sat, 12 Aug 2017 23:20:58 +0200
Subject: Re: [perl #131888] No such method 'cache' for invocant of type 'NQPMu'
From: Bart Wiegmans <bartwiegmans [...] gmail.com>
Download (untitled) / with headers
text/plain 1.3k
Hi,
Thanks for the report.
Can you try running it with the one of the following two variables set:

MVM_SPESH_DISABLE=1
MVM_SPESH_INLINE_DISABLE=1
MVM_SPESH_OSR_DISABLE=1
MVM_JIT_DISABLE=1

Last weeks we've seen lots of development in the dynamic optimizer, so there are undoubtedly a few bugs to shake out.

Regards,
Bart

2017-08-12 14:46 GMT+02:00 Evan Miller <perl6-bugs-followup@perl.org>:
Show quoted text
# New Ticket Created by  Evan Miller
# Please include the string:  [perl #131888]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=131888 >


I'm using the Rakudo nom and MoarVM master. A call to "await" on an array
of Promises is failing with the error:

        No such method 'cache' for invocant of type 'NQPMu'
          in any  at
/Users/emiller/Code/rakudo/install/share/perl6/runtime/CORE.d.setting.moarvm
line 1

The full error can be seen here:

  https://github.com/scmorrison/uzu/issues/10#issuecomment-321975611

The failing call to "await" is here:


https://github.com/scmorrison/uzu/blob/8d619bb682992baaf07c84262898b29f4e6c3fe6/lib/Uzu/Render.pm6#L401

I'm running a version of that source file with "use v6.d.PREVIEW". Here's
the output from perl6 --version:

  This is Rakudo version 2017.07-148-g5fcce6732 built on MoarVM version
2017.07-382-g348b4262
  implementing Perl 6.c.

Download (untitled) / with headers
text/plain 242b
None of the provided environmental variables reliably fixed the issue. MVM_SPESH_INLINE_DISABLE=1 seemed to provide slightly better results overall, but that may have been due to random chance, and the original error still sometimes appeared.
I think things would go faster with this one if it was golfed down.

Given the previous warnings saying “Use of uninitialized value $key of type Any in string context.”, the issue is quite possibly in Uzu itself (or maybe even Mustache). The ticket is of course valid because the error should not complain about NQPMu's, and maybe there's some deeper issue with this.


On 2017-08-13 05:13:40, emmiller@gmail.com wrote:
Show quoted text
> None of the provided environmental variables reliably fixed the issue.
> MVM_SPESH_INLINE_DISABLE=1 seemed to provide slightly better results
> overall, but that may have been due to random chance, and the original
> error still sometimes appeared.


Download (untitled) / with headers
text/plain 274b
Show quoted text
> I think things would go faster with this one if it was golfed down.
I will try to golf it when I have time. In the meantime, I have occasionally seen the same error in place of the memory errors described in #131889. If that one is resolved then this one may go away too.
Download (untitled) / with headers
text/plain 282b
Here is a script that demonstrates this issue relatively consistently. https://gist.github.com/scmorrison/d7506b69e5778381c8374163435ae651 Sometimes it works fine, but mostly not. I have tried several variations of this and any that use the >>.map, hyper, or promises fail. Sam


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