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

Internals leaking out with series operator used wrongly #3118

Closed
p6rt opened this issue May 1, 2013 · 8 comments
Closed

Internals leaking out with series operator used wrongly #3118

p6rt opened this issue May 1, 2013 · 8 comments

Comments

@p6rt
Copy link

p6rt commented May 1, 2013

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

Searchable as RT117825$

@p6rt
Copy link
Author

p6rt commented May 1, 2013

From @tadzik

This should fail in a much gentler fasion. In REPL it is quite sensible​:

say (^1, *+* ... *)[^20]
Not enough positional parameters passed; got 1 but expected 2

But outside of the REPL it fails in a horrifying way​:

$ perl6 -e 'say (^1, *+* ... *)[^20]'
get_attr_str() not implemented in class 'Coroutine'
current instr.​: 'print_exception' pc 111625
(src/gen/CORE.setting.pir​:50165) (src/gen/CORE.setting​:9744)
called from Sub '' pc 168 ((file unknown)​:103371501) (-e​:1)
called from Sub '' pc 138975 (src/gen/CORE.setting.pir​:61215)
(src/gen/CORE.setting​:13025)
called from Sub '' pc 137229 (src/gen/CORE.setting.pir​:60417)
(src/gen/CORE.setting​:13021)
called from Sub '' pc 135920 (src/gen/CORE.setting.pir​:59973)
(src/gen/CORE.setting​:12969)
called from Sub 'coro' pc 282148 (src/gen/CORE.setting.pir​:123758)
(src/gen/CORE.setting​:5916)
called from Sub '' pc 281745 (src/gen/CORE.setting.pir​:123580)
(src/gen/CORE.setting​:5898)
called from Sub 'reify' pc 281520 (src/gen/CORE.setting.pir​:123478)
(src/gen/CORE.setting​:5892)
called from Sub '' pc 277678 (src/gen/CORE.setting.pir​:121779)
(src/gen/CORE.setting​:5637)
called from Sub 'reify' pc 276905 (src/gen/CORE.setting.pir​:121469)
(src/gen/CORE.setting​:5610)
called from Sub '' pc 277678 (src/gen/CORE.setting.pir​:121779)
(src/gen/CORE.setting​:5637)
called from Sub 'reify' pc 276905 (src/gen/CORE.setting.pir​:121469)
(src/gen/CORE.setting​:5610)
called from Sub 'gimme' pc 285405 (src/gen/CORE.setting.pir​:125317)
(src/gen/CORE.setting​:6058)
called from Sub 'exists' pc 285086 (src/gen/CORE.setting.pir​:125190)
(src/gen/CORE.setting​:6047)
called from Sub 'at_pos' pc 284691 (src/gen/CORE.setting.pir​:124991)
(src/gen/CORE.setting​:6027)
called from Sub 'at_pos' pc 188755 (src/gen/CORE.setting.pir​:82009)
(src/gen/CORE.setting​:1603)
called from Sub 'postcircumfix​:<[ ]>' pc 181659
(src/gen/CORE.setting.pir​:79349) (src/gen/CORE.setting​:1484)
called from Sub 'postcircumfix​:<[ ]>' pc 181171
(src/gen/CORE.setting.pir​:79104) (src/gen/CORE.setting​:1474)
called from Sub '' pc 184788 (src/gen/CORE.setting.pir​:80462)
(src/gen/CORE.setting​:1531)
called from Sub '' pc 280217 (src/gen/CORE.setting.pir​:122887)
(src/gen/CORE.setting​:5742)
called from Sub 'reify' pc 279247 (src/gen/CORE.setting.pir​:122526)
(src/gen/CORE.setting​:5719)
called from Sub '' pc 277678 (src/gen/CORE.setting.pir​:121779)
(src/gen/CORE.setting​:5637)
called from Sub 'reify' pc 276905 (src/gen/CORE.setting.pir​:121469)
(src/gen/CORE.setting​:5610)
called from Sub 'gimme' pc 285405 (src/gen/CORE.setting.pir​:125317)
(src/gen/CORE.setting​:6058)
called from Sub 'eager' pc 284872 (src/gen/CORE.setting.pir​:125087)
(src/gen/CORE.setting​:6037)
called from Sub 'postcircumfix​:<[ ]>' pc 184570
(src/gen/CORE.setting.pir​:80383) (src/gen/CORE.setting​:1531)
called from Sub 'postcircumfix​:<[ ]>' pc 181171
(src/gen/CORE.setting.pir​:79104) (src/gen/CORE.setting​:1474)
called from Sub '' pc 138 ((file unknown)​:103371486) (-e​:1)
called from Sub '' pc 14 ((file unknown)​:103371428) (-e​:1)
called from Sub '' pc 28905 (src/stage2/gen/NQPHLL.pir​:11305)
(src/stage2/gen/NQPHLL.nqp​:1135)
called from Sub 'eval' pc 28555 (src/stage2/gen/NQPHLL.pir​:11162)
(src/stage2/gen/NQPHLL.nqp​:1122)
called from Sub '' pc 30706 (src/stage2/gen/NQPHLL.pir​:12114)
(src/stage2/gen/NQPHLL.nqp​:1225)
called from Sub 'command_eval' pc 30607
(src/stage2/gen/NQPHLL.pir​:12071) (src/stage2/gen/NQPHLL.nqp​:1264)
called from Sub 'command_eval' pc 369 (src/gen/perl6-compiler.pir​:194)
(src/Perl6/Compiler.nqp​:17)
called from Sub 'command_line' pc 29612
(src/stage2/gen/NQPHLL.pir​:11659) (src/stage2/gen/NQPHLL.nqp​:1207)
called from Sub 'MAIN' pc 362 (src/gen/perl6.pir​:141) (src/main.nqp
src/gen/main-version.nqp​:41)
called from Sub '' pc 77 (src/gen/perl6.pir​:56) (src/main.nqp
src/gen/main-version.nqp​:1)
called from Sub '' pc 1127 (src/gen/perl6.pir​:404) (src/main.nqp
src/gen/main-version.nqp​:52)

thrown from​:
current instr.​: '' pc 353450 (src/gen/CORE.setting.pir​:154511)
(src/gen/CORE.setting​:9414)
called from Sub '' pc 280217 (src/gen/CORE.setting.pir​:122887)
(src/gen/CORE.setting​:5742)
called from Sub 'reify' pc 279247 (src/gen/CORE.setting.pir​:122526)
(src/gen/CORE.setting​:5719)
called from Sub '' pc 277678 (src/gen/CORE.setting.pir​:121779)
(src/gen/CORE.setting​:5637)
called from Sub 'reify' pc 276905 (src/gen/CORE.setting.pir​:121469)
(src/gen/CORE.setting​:5610)
called from Sub 'gimme' pc 285405 (src/gen/CORE.setting.pir​:125317)
(src/gen/CORE.setting​:6058)
called from Sub 'eager' pc 284872 (src/gen/CORE.setting.pir​:125087)
(src/gen/CORE.setting​:6037)
called from Sub 'new' pc 353327 (src/gen/CORE.setting.pir​:154449)
(src/gen/CORE.setting​:9413)
called from Sub 'new' pc 352890 (src/gen/CORE.setting.pir​:154266)
(src/gen/CORE.setting​:9399)
called from Sub 'new' pc 352946 (src/gen/CORE.setting.pir​:154298)
(src/gen/CORE.setting​:9402)
called from Sub 'new' pc 352890 (src/gen/CORE.setting.pir​:154266)
(src/gen/CORE.setting​:9399)
called from Sub 'backtrace' pc 357410 (src/gen/CORE.setting.pir​:156064)
(src/gen/CORE.setting​:9536)
called from Sub 'gist' pc 358006 (src/gen/CORE.setting.pir​:156273)
(src/gen/CORE.setting​:9547)
called from Sub 'gist' pc 165860 (src/gen/CORE.setting.pir​:72415)
(src/gen/CORE.setting​:893)
called from Sub '' pc 111806 (src/gen/CORE.setting.pir​:50239)
(src/gen/CORE.setting​:9733)
called from Sub 'print_exception' pc 111625
(src/gen/CORE.setting.pir​:50165) (src/gen/CORE.setting​:9744)
called from Sub '' pc 168 ((file unknown)​:103371501) (-e​:1)
called from Sub '' pc 138975 (src/gen/CORE.setting.pir​:61215)
(src/gen/CORE.setting​:13025)
called from Sub '' pc 137229 (src/gen/CORE.setting.pir​:60417)
(src/gen/CORE.setting​:13021)
called from Sub '' pc 135920 (src/gen/CORE.setting.pir​:59973)
(src/gen/CORE.setting​:12969)
called from Sub 'coro' pc 282148 (src/gen/CORE.setting.pir​:123758)
(src/gen/CORE.setting​:5916)
called from Sub '' pc 281745 (src/gen/CORE.setting.pir​:123580)
(src/gen/CORE.setting​:5898)
called from Sub 'reify' pc 281520 (src/gen/CORE.setting.pir​:123478)
(src/gen/CORE.setting​:5892)
called from Sub '' pc 277678 (src/gen/CORE.setting.pir​:121779)
(src/gen/CORE.setting​:5637)
called from Sub 'reify' pc 276905 (src/gen/CORE.setting.pir​:121469)
(src/gen/CORE.setting​:5610)
called from Sub '' pc 277678 (src/gen/CORE.setting.pir​:121779)
(src/gen/CORE.setting​:5637)
called from Sub 'reify' pc 276905 (src/gen/CORE.setting.pir​:121469)
(src/gen/CORE.setting​:5610)
called from Sub 'gimme' pc 285405 (src/gen/CORE.setting.pir​:125317)
(src/gen/CORE.setting​:6058)
called from Sub 'exists' pc 285086 (src/gen/CORE.setting.pir​:125190)
(src/gen/CORE.setting​:6047)
called from Sub 'at_pos' pc 284691 (src/gen/CORE.setting.pir​:124991)
(src/gen/CORE.setting​:6027)
called from Sub 'at_pos' pc 188755 (src/gen/CORE.setting.pir​:82009)
(src/gen/CORE.setting​:1603)
called from Sub 'postcircumfix​:<[ ]>' pc 181659
(src/gen/CORE.setting.pir​:79349) (src/gen/CORE.setting​:1484)
called from Sub 'postcircumfix​:<[ ]>' pc 181171
(src/gen/CORE.setting.pir​:79104) (src/gen/CORE.setting​:1474)
called from Sub '' pc 184788 (src/gen/CORE.setting.pir​:80462)
(src/gen/CORE.setting​:1531)
called from Sub '' pc 280217 (src/gen/CORE.setting.pir​:122887)
(src/gen/CORE.setting​:5742)
called from Sub 'reify' pc 279247 (src/gen/CORE.setting.pir​:122526)
(src/gen/CORE.setting​:5719)
called from Sub '' pc 277678 (src/gen/CORE.setting.pir​:121779)
(src/gen/CORE.setting​:5637)
called from Sub 'reify' pc 276905 (src/gen/CORE.setting.pir​:121469)
(src/gen/CORE.setting​:5610)
called from Sub 'gimme' pc 285405 (src/gen/CORE.setting.pir​:125317)
(src/gen/CORE.setting​:6058)
called from Sub 'eager' pc 284872 (src/gen/CORE.setting.pir​:125087)
(src/gen/CORE.setting​:6037)
called from Sub 'postcircumfix​:<[ ]>' pc 184570
(src/gen/CORE.setting.pir​:80383) (src/gen/CORE.setting​:1531)
called from Sub 'postcircumfix​:<[ ]>' pc 181171
(src/gen/CORE.setting.pir​:79104) (src/gen/CORE.setting​:1474)
called from Sub '' pc 138 ((file unknown)​:103371486) (-e​:1)
called from Sub '' pc 14 ((file unknown)​:103371428) (-e​:1)
called from Sub '' pc 28905 (src/stage2/gen/NQPHLL.pir​:11305)
(src/stage2/gen/NQPHLL.nqp​:1135)
called from Sub 'eval' pc 28555 (src/stage2/gen/NQPHLL.pir​:11162)
(src/stage2/gen/NQPHLL.nqp​:1122)
called from Sub '' pc 30706 (src/stage2/gen/NQPHLL.pir​:12114)
(src/stage2/gen/NQPHLL.nqp​:1225)
called from Sub 'command_eval' pc 30607
(src/stage2/gen/NQPHLL.pir​:12071) (src/stage2/gen/NQPHLL.nqp​:1264)
called from Sub 'command_eval' pc 369 (src/gen/perl6-compiler.pir​:194)
(src/Perl6/Compiler.nqp​:17)
called from Sub 'command_line' pc 29612
(src/stage2/gen/NQPHLL.pir​:11659) (src/stage2/gen/NQPHLL.nqp​:1207)
called from Sub 'MAIN' pc 362 (src/gen/perl6.pir​:141) (src/main.nqp
src/gen/main-version.nqp​:41)
called from Sub '' pc 77 (src/gen/perl6.pir​:56) (src/main.nqp
src/gen/main-version.nqp​:1)
called from Sub '' pc 1127 (src/gen/perl6.pir​:404) (src/main.nqp
src/gen/main-version.nqp​:52)

@p6rt
Copy link
Author

p6rt commented Oct 6, 2014

From @usev6

This looks better now. Since it currently dies with X​::AdHoc and backend specific messages it would be nice to have a typed exception for tests.

$ perl6-m -e 'say (^1, *+* ... *)[^20]'
===SORRY!===
Too few positionals passed; expected 2 arguments but got 1

$ perl6-p -e 'say (^1, *+* ... *)[^20]'
Not enough positional parameters passed; got 1 but expected 2
  in block <unit> at -e​:1

$ perl6-j -e 'say (^1, *+* ... *)[^20]'
Not enough positional parameters passed; got 1 but expected 2
  in block at gen/jvm/CORE.setting​:18302
  in block at gen/jvm/CORE.setting​:18240
  in block at gen/jvm/CORE.setting​:8363
  in block at gen/jvm/CORE.setting​:8365
  in method reify at gen/jvm/CORE.setting​:8391
  in method reify at gen/jvm/CORE.setting​:8054
  in method reify at gen/jvm/CORE.setting​:8054
  in method gimme at gen/jvm/CORE.setting​:8548
  in block at gen/jvm/CORE.setting​:2579
  in sub POSITIONS at gen/jvm/CORE.setting​:2576
  in sub postcircumfix​:<[ ]> at gen/jvm/CORE.setting​:2671
  in block <unit> at -e​:1

@p6rt
Copy link
Author

p6rt commented Oct 6, 2014

@usev6 - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Dec 17, 2014

From @usev6

The behaviour didn't change since October. But when I tried to wirte a test (matching the backend specific error messages) I got a strange failure with Parrot​:

$ PERL6LIB=lib perl6-p -e 'use Test; throws_like {(^1, *+* ... *)[^20]}, Exception, message => { m/"Not enough positional parameters passed; got 1 but expected 2"/ }'
  1..3
  ok 1 - code dies
  ok 2 - right exception type (Exception)
  ok 3 - .message matches -> ($_? is parcel) { #`(Block|7513347465025649387) ... }
get_pmc_keyed_str() not implemented in class 'STable'
  in block at lib/Test.pm​:303
  in sub subtest at lib/Test.pm​:197
  in sub throws_like at lib/Test.pm​:325
  in block <unit> at -e​:1

$ ./perl6-p -e '(^1, *+* ... *)[^20]'
Not enough positional parameters passed; got 1 but expected 2
  in block <unit> at -e​:1

I'll add a similiar test to S03-sequence/arity-2-or-more.t nevertheless (skipped for Parrot).

1 similar comment
@p6rt
Copy link
Author

p6rt commented Dec 17, 2014

From @usev6

The behaviour didn't change since October. But when I tried to wirte a test (matching the backend specific error messages) I got a strange failure with Parrot​:

$ PERL6LIB=lib perl6-p -e 'use Test; throws_like {(^1, *+* ... *)[^20]}, Exception, message => { m/"Not enough positional parameters passed; got 1 but expected 2"/ }'
  1..3
  ok 1 - code dies
  ok 2 - right exception type (Exception)
  ok 3 - .message matches -> ($_? is parcel) { #`(Block|7513347465025649387) ... }
get_pmc_keyed_str() not implemented in class 'STable'
  in block at lib/Test.pm​:303
  in sub subtest at lib/Test.pm​:197
  in sub throws_like at lib/Test.pm​:325
  in block <unit> at -e​:1

$ ./perl6-p -e '(^1, *+* ... *)[^20]'
Not enough positional parameters passed; got 1 but expected 2
  in block <unit> at -e​:1

I'll add a similiar test to S03-sequence/arity-2-or-more.t nevertheless (skipped for Parrot).

@p6rt
Copy link
Author

p6rt commented Mar 12, 2015

From @usev6

This ticket was still open because the test in S03-sequence/arity-2-or-more.t didn't pass for Parrot. Since support for Parrot was suspended with Rakudo Star Release 2015.02, I'm closing this ticket as 'resolved'.

I'll add the ticket to a list of closed ticket living in the mu repository​: https://github.com/perl6/mu/blob/master/misc/rt.perl.org/tickets_closed_parrot_only.txt.

In case support for Parrot will be restored in some future release the listed tickets can be checked and re-opened as appropriate.

1 similar comment
@p6rt
Copy link
Author

p6rt commented Mar 12, 2015

From @usev6

This ticket was still open because the test in S03-sequence/arity-2-or-more.t didn't pass for Parrot. Since support for Parrot was suspended with Rakudo Star Release 2015.02, I'm closing this ticket as 'resolved'.

I'll add the ticket to a list of closed ticket living in the mu repository​: https://github.com/perl6/mu/blob/master/misc/rt.perl.org/tickets_closed_parrot_only.txt.

In case support for Parrot will be restored in some future release the listed tickets can be checked and re-opened as appropriate.

@p6rt p6rt closed this as completed Mar 12, 2015
@p6rt
Copy link
Author

p6rt commented Mar 12, 2015

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant