-
Notifications
You must be signed in to change notification settings - Fork 1
in await: Cannot invoke this object (REPR: Null; VMNull) #5624
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
From @zoffixznetOn occasion, I get this error when trying to run the bellow program on a 32-core box: $ time RAKUDO_MAX_THREADS=40 perl6 foo.p6 sub what-is { my @results; |
From @jnthnOn Sun Aug 28 20:09:29 2016, cpan@zoffix.com wrote:
I've fiddled with it a bit, but had trouble getting this to blow on my much-less-core-endowed box. Guess I can leave it running in a loop while I take lunch or something... :-) Any chance you could: 1) Run it with `--ll-exception` Thanks! /jnthn |
The RT System itself - Status changed from 'new' to 'open' |
From @zhuomingliangOn Wed Aug 31 02:58:50 2016, jnthn@jnthn.net wrote:
RAKUDO_MAX_THREADS=40 ./perl6-m --ll-exception test.pl6 |
From @zhuomingliangOn Wed Aug 31 03:13:40 2016, jimmy wrote:
FYI, I got it from a ubuntu 14.04 linux VM box with 4 cores. |
From @nwc10On Wed, Aug 31, 2016 at 02:58:50AM -0700, jnthn@jnthn.net via RT wrote:
"my" machine has almost as many cores. I can get it to bomb at times.
You mean like this? sub what-is { I got this: Cannot invoke this object (REPR: Null; VMNull) Line 9 is `print await @results;` What do I need to do better, to get actual useful details? Nicholas Clark |
From @zoffixznetAttached 'backtrace-original.txt' is the output from the added CATCH and --ll-exception. I was able to golf it down to this: await do for 3¹²³⁴⁵ … 3¹²³⁴⁵+127 -> $num { And that backtrace is also attached (backtrace-golfed.txt). I tried replacing .is-prime with a bcrypt hashing, but was unable to produce the crash in about 8 runs: use Crypt::Bcrypt; So then I went back to my golfed version and removed the ternary operator... Couldn't reproduce anything in about 10 runs. Added a ternary as `?? 1 !! 2`, still couldn't reproduce anything, Changed the ternary to this: await do for 3¹²³⁴⁵ … 3¹²³⁴⁵+127 -> $num { ... and it crashed the first time I ran it (backtrace-changed-ternary.txt attached) and then 1 more time in the next out of 7 runs. It may of course be just a coincidence, but these are my results |
From @zoffixznet in method throw at gen/moar/m-CORE.setting line 24125 Cannot invoke this object (REPR: Null; VMNull) |
From @zoffixznetcpan@perlbuild2:/tmp/tmp.AY07p77AqM$ RAKUDO_MAX_THREADS=40 perl6 --ll-exception test.p6 Cannot invoke this object (REPR: Null; VMNull) |
From @zoffixznetcpan@perlbuild2:/tmp/tmp.AY07p77AqM$ RAKUDO_MAX_THREADS=40 perl6 --ll-exception test.p6 |
From @jnthnOn Wed Aug 31 04:31:25 2016, nicholas wrote:
Yeah, I'm guessing it's a slightly higher level data race due to mis-code-gen rather than any kind of memory corruption.
Yes, that's what I meant.
Well, that's information in and that it means the exception is not happening inside of the sub `what-is`. Unfortunately, the only thing between the two is the stuff in CORE.setting implementing promises and scheduling, which means it's probably a very occasional race somewhere in there. Probably instrumenting the bit of MoarVM that spits out that error to dump a backtrace before throwing is the easiest next thing to do. I'll see if I can recreate it locally outside of my VM. /jnthn |
From @zoffixznetRan for 83 times, not a single crash. Closing. On Wed, 31 Aug 2016 05:49:09 -0700, jnthn@jnthn.net wrote:
|
@zoffixznet - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#129120 (status was 'resolved')
Searchable as RT129120$
The text was updated successfully, but these errors were encountered: