Skip to content
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

Cannot invoke this object (REPR: Null, cs = 0) #4525

Closed
p6rt opened this issue Sep 8, 2015 · 6 comments
Closed

Cannot invoke this object (REPR: Null, cs = 0) #4525

p6rt opened this issue Sep 8, 2015 · 6 comments
Labels

Comments

@p6rt
Copy link

p6rt commented Sep 8, 2015

Migrated from rt.perl.org#126018 (status was 'resolved')

Searchable as RT126018$

@p6rt
Copy link
Author

p6rt commented Sep 8, 2015

From perl6@6dof.xyz

$ cat golf.p6
class A
{
  has $.integer where * > 0;
  has %!hash;

  method meth {
  my $a = 0;
  my $b = $a / $!integer;
  my $c = $a ?? 100 * ($a - +%!hash) / $a !! 0;
  }
}

A.new(integer => 7).meth;

$ perl6 golf.p6
===SORRY!===
Cannot invoke this object (REPR​: Null, cs = 0)

$ perl6 --version
This is perl6 version 2015.07.1-756-g16d366a built on MoarVM version 2015.07-108-g7e9f29e

@p6rt
Copy link
Author

p6rt commented Sep 9, 2015

From @jnthn

On Tue Sep 08 07​:44​:05 2015, perl6@​6dof.xyz wrote​:

$ cat golf.p6
class A
{
has $.integer where * > 0;
has %!hash;

method meth {
my $a = 0;
my $b = $a / $!integer;
my $c = $a ?? 100 * ($a - +%!hash) / $a !! 0;
}
}

A.new(integer => 7).meth;

$ perl6 golf.p6
===SORRY!===
Cannot invoke this object (REPR​: Null, cs = 0)

$ perl6 --version
This is perl6 version 2015.07.1-756-g16d366a built on MoarVM version
2015.07-108-g7e9f29e

Was an issue in the optimizer; resolved and test added to S02-types/subset.t.

@p6rt
Copy link
Author

p6rt commented Sep 9, 2015

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Sep 9, 2015

@jnthn - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Sep 9, 2015
@p6rt
Copy link
Author

p6rt commented Sep 9, 2015

From @lizmat

On 08 Sep 2015, at 16​:44, (via RT) <perl6-bugs-followup@​perl.org> wrote​:

# New Ticket Created by
# Please include the string​: [perl #​126018]
# in the subject line of all future correspondence about this issue.
# <URL​: https://rt-archive.perl.org/perl6/Ticket/Display.html?id=126018 >

$ cat golf.p6
class A
{
has $.integer where * > 0;
has %!hash;

method meth {
my $a = 0;
my $b = $a / $!integer;
my $c = $a ?? 100 * ($a - +%!hash) / $a !! 0;
}
}

A.new(integer => 7).meth;

$ perl6 golf.p6
===SORRY!===
Cannot invoke this object (REPR​: Null, cs = 0)

$ perl6 --version
This is perl6 version 2015.07.1-756-g16d366a built on MoarVM version 2015.07-108-g7e9f29e

Further golf down​:

class A {
  has $.i where * > 0;

  method a { 0 / $!i }
}

The blowup appears at compile time. It also doesn’t blow up with the optimizer disabled with —optimize=off .

Full stack trace follows below.

Liz

$ perl6 --ll-exception golf.p6
Cannot invoke this object (REPR​: Null, cs = 0)
  at golf.p6​:3 (<ephemeral file>​::13)
from src/Perl6/World.nqp​:1832 (blib/Perl6/World.moarvm​::17)
from src/gen/m-CORE.setting​:4444 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/./CORE.setting.moarvm​:ACCEPTS​:43)
from src/gen/m-CORE.setting​:956 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/./CORE.setting.moarvm​:ACCEPTS​:39)
from src/gen/m-Metamodel.nqp​:3237 (blib/Perl6/Metamodel.moarvm​:accepts_type​:22)
from src/gen/m-BOOTSTRAP.nqp​:2431 (blib/Perl6/BOOTSTRAP.moarvm​::285)
from src/gen/m-Perl6-Optimizer.nqp​:1283 (blib/Perl6/Optimizer.moarvm​:optimize_call​:151)
from src/gen/m-Perl6-Optimizer.nqp​:1146 (blib/Perl6/Optimizer.moarvm​:visit_op​:994)
from src/gen/m-Perl6-Optimizer.nqp​:1709 (blib/Perl6/Optimizer.moarvm​:visit_children​:108)
from src/gen/m-Perl6-Optimizer.nqp​:1549 (blib/Perl6/Optimizer.moarvm​:visit_want​:246)
from src/gen/m-Perl6-Optimizer.nqp​:1712 (blib/Perl6/Optimizer.moarvm​:visit_children​:122)
from src/gen/m-Perl6-Optimizer.nqp​:1727 (blib/Perl6/Optimizer.moarvm​:visit_children​:246)
from src/gen/m-Perl6-Optimizer.nqp​:1721 (blib/Perl6/Optimizer.moarvm​:visit_children​:187)
from src/gen/m-Perl6-Optimizer.nqp​:1169 (blib/Perl6/Optimizer.moarvm​:visit_op_children​:19)
from src/gen/m-Perl6-Optimizer.nqp​:1051 (blib/Perl6/Optimizer.moarvm​:visit_op​:398)
from src/gen/m-Perl6-Optimizer.nqp​:1709 (blib/Perl6/Optimizer.moarvm​:visit_children​:108)
from src/gen/m-Perl6-Optimizer.nqp​:1169 (blib/Perl6/Optimizer.moarvm​:visit_op_children​:19)
from src/gen/m-Perl6-Optimizer.nqp​:1051 (blib/Perl6/Optimizer.moarvm​:visit_op​:398)
from src/gen/m-Perl6-Optimizer.nqp​:1709 (blib/Perl6/Optimizer.moarvm​:visit_children​:108)
from src/gen/m-Perl6-Optimizer.nqp​:1727 (blib/Perl6/Optimizer.moarvm​:visit_children​:246)
from src/gen/m-Perl6-Optimizer.nqp​:1169 (blib/Perl6/Optimizer.moarvm​:visit_op_children​:19)
from src/gen/m-Perl6-Optimizer.nqp​:1051 (blib/Perl6/Optimizer.moarvm​:visit_op​:398)
from src/gen/m-Perl6-Optimizer.nqp​:1709 (blib/Perl6/Optimizer.moarvm​:visit_children​:108)
from src/gen/m-Perl6-Optimizer.nqp​:896 (blib/Perl6/Optimizer.moarvm​:visit_block​:70)
from src/gen/m-Perl6-Optimizer.nqp​:1718 (blib/Perl6/Optimizer.moarvm​:visit_children​:150)
from src/gen/m-Perl6-Optimizer.nqp​:1727 (blib/Perl6/Optimizer.moarvm​:visit_children​:246)
from src/gen/m-Perl6-Optimizer.nqp​:896 (blib/Perl6/Optimizer.moarvm​:visit_block​:70)
from src/gen/m-Perl6-Optimizer.nqp​:1718 (blib/Perl6/Optimizer.moarvm​:visit_children​:150)
from src/gen/m-Perl6-Optimizer.nqp​:1727 (blib/Perl6/Optimizer.moarvm​:visit_children​:246)
from src/gen/m-Perl6-Optimizer.nqp​:1727 (blib/Perl6/Optimizer.moarvm​:visit_children​:246)
from src/gen/m-Perl6-Optimizer.nqp​:1721 (blib/Perl6/Optimizer.moarvm​:visit_children​:187)
from src/gen/m-Perl6-Optimizer.nqp​:1727 (blib/Perl6/Optimizer.moarvm​:visit_children​:246)
from src/gen/m-Perl6-Optimizer.nqp​:896 (blib/Perl6/Optimizer.moarvm​:visit_block​:70)
from src/gen/m-Perl6-Optimizer.nqp​:876 (blib/Perl6/Optimizer.moarvm​:optimize​:134)
from src/Perl6/Compiler.nqp​:64 (blib/Perl6/Compiler.moarvm​:optimize​:31)
from gen/moar/stage2/NQPHLL.nqp​:1536 (/Users/liz/Github/rakudo.moar/install/share/nqp/lib/NQPHLL.moarvm​:compile​:202)
from gen/moar/stage2/NQPHLL.nqp​:1272 (/Users/liz/Github/rakudo.moar/install/share/nqp/lib/NQPHLL.moarvm​:eval​:62)
from gen/moar/stage2/NQPHLL.nqp​:1492 (/Users/liz/Github/rakudo.moar/install/share/nqp/lib/NQPHLL.moarvm​:evalfiles​:91)
from gen/moar/stage2/NQPHLL.nqp​:1386 (/Users/liz/Github/rakudo.moar/install/share/nqp/lib/NQPHLL.moarvm​:command_eval​:214)
from src/Perl6/Compiler.nqp​:59 (blib/Perl6/Compiler.moarvm​:command_eval​:93)
from gen/moar/stage2/NQPHLL.nqp​:1360 (/Users/liz/Github/rakudo.moar/install/share/nqp/lib/NQPHLL.moarvm​:command_line​:114)
from src/gen/m-main.nqp​:39 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/perl6.moarvm​:MAIN​:18)
from src/gen/m-main.nqp​:35 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/perl6.moarvm​:<mainline>​:197)
from <unknown>​:1 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/perl6.moarvm​:<main>​:8)
from <unknown>​:1 (/Users/liz/Github/rakudo.moar/install/share/perl6/runtime/perl6.moarvm​:<entry>​:9)

@p6rt
Copy link
Author

p6rt commented Sep 9, 2015

From @lizmat

This seems fixed at least as of 824436e6d77b182c7724

On 08 Sep 2015, at 16​:44, (via RT) <perl6-bugs-followup@​perl.org> wrote​:

# New Ticket Created by
# Please include the string​: [perl #​126018]
# in the subject line of all future correspondence about this issue.
# <URL​: https://rt-archive.perl.org/perl6/Ticket/Display.html?id=126018 >

$ cat golf.p6
class A
{
has $.integer where * > 0;
has %!hash;

method meth {
my $a = 0;
my $b = $a / $!integer;
my $c = $a ?? 100 * ($a - +%!hash) / $a !! 0;
}
}

A.new(integer => 7).meth;

$ perl6 golf.p6
===SORRY!===
Cannot invoke this object (REPR​: Null, cs = 0)

$ perl6 --version
This is perl6 version 2015.07.1-756-g16d366a built on MoarVM version 2015.07-108-g7e9f29e

@p6rt p6rt added the Bug label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant