[perl #128580] [JVM] wrong multi method comb selected after module loading

2017-12-12 Thread Christian Bartolomaeus via RT
There was indeed something wrong with the multi cache on the JVM backend. Fixed 
with https://github.com/perl6/nqp/commit/7eaebf5abd

I'm closing this ticket as 'resolved'.


[perl #128580] [JVM] wrong multi method comb selected after module loading

2016-07-09 Thread Christian Bartolomaeus via RT
On Fri Jul 08 14:57:11 2016, elizabeth wrote:
> Have you tried with MVM_SPESH_DISABLE=1 and friends?

This only happens on JVM, so there aren't many of those friends, are there? :-)

At least I tried now with 'optimize=0' and got the same error. I also tried 
'RAKUDO_MODULE_DEBUG=1' but didn't something strange there:

$ RAKUDO_MODULE_DEBUG=1 ./perl6-j --optimize=foo -I. -e 'use Foo; "f".comb; 
"o".comb("o")'
 11900 RMD: Loading settings CORE
 11900 RMD: Setting up default paths: . blib
 11900 RMD: going to load Perl6::BOOTSTRAP
 11900 RMD: Settings CORE loaded
 360 11900 RMD: Attempting 'Foo' as a pragma
  88 11900 RMD:   'Foo' is not a valid pragma
  33 11900 RMD: Attempting to load 'Foo'
  11 11900 RMD:   Late loading 'Foo'
  20 11900 RMD: Parsing specs: .
  28 11900 RMD: Parsing specs: 
  16 11900 RMD: Parsing specs: .
  13 11900 RMD: Parsing specs: blib
  21 11900 RMD: Parsing specs: /usr/home/christian/bin/rakudo.jvm/share/nqp/lib
 478 11900 RMD: try-load 7795C5BD3D21241ED31BB5DB19106B21CC622A86: 
/usr/home/christian/perl6/perl6-roast-data/rakudo.jvm/Foo.pm6
  55 11900 RMD: Trying to load 7795C5BD3D21241ED31BB5DB19106B21CC622A86 from 
/usr/home/christian/perl6/perl6-roast-data/rakudo.jvm/.precomp
  36 11900 RMD: Trying to load 7795C5BD3D21241ED31BB5DB19106B21CC622A86.repo-id 
from /usr/home/christian/perl6/perl6-roast-data/rakudo.jvm/.precomp
  44 11900 RMD: Loading precompiled

/usr/home/christian/perl6/perl6-roast-data/rakudo.jvm/.precomp/FCFAAA33FDBB30941CBF3561334B7DCB959F5F4F.1.468023657397E9/77/7795C5BD3D21241ED31BB5DB19106B21CC622A86
 187 11900 RMD: Performing imports for 'Foo'
  12 11900 RMD: Imports for 'Foo' done
Type check failed in binding $pat; expected Regex but got Str ("o")
  in block  at -e line 1


Re: [perl #128580] [JVM] wrong multi method comb selected after module loading

2016-07-08 Thread Elizabeth Mattijsen
Have you tried with MVM_SPESH_DISABLE=1 and friends?


> On 08 Jul 2016, at 22:56, Christian Bartolomaeus (via RT) 
>  wrote:
> 
> # New Ticket Created by  Christian Bartolomaeus 
> # Please include the string:  [perl #128580]
> # in the subject line of all future correspondence about this issue. 
> # https://rt.perl.org/Ticket/Display.html?id=128580 >
> 
> 
> Currently there is a weird error while running S32-str/comb.t on rakudo-j. 
> For some reason the test file aborts after 39 tests with the message 'Type 
> check failed in binding $pat; expected Regex but got Str ("o")'.
> 
> Test number 40 runs just fine standalone:
> 
> $ perl6-j -Ilib -e 'use Test; is comb("o","ooo"), '
> ok 1 -
> 
> I tried to golf the problem down and that's what I arrived at:
> 
> $ > Foo.pm6
> $ ./perl6-j -I. -e 'use Foo; "f".comb; "o".comb("o")'
> Type check failed in binding $pat; expected Regex but got Str ("o")
>  in block  at -e line 1
> 
> So the problem seems to be related to module loading and it happens during 
> that second call of method comb.



[perl #128580] [JVM] wrong multi method comb selected after module loading

2016-07-08 Thread via RT
# New Ticket Created by  Christian Bartolomaeus 
# Please include the string:  [perl #128580]
# in the subject line of all future correspondence about this issue. 
# https://rt.perl.org/Ticket/Display.html?id=128580 >


Currently there is a weird error while running S32-str/comb.t on rakudo-j. For 
some reason the test file aborts after 39 tests with the message 'Type check 
failed in binding $pat; expected Regex but got Str ("o")'.

Test number 40 runs just fine standalone:

$ perl6-j -Ilib -e 'use Test; is comb("o","ooo"), '
ok 1 -

I tried to golf the problem down and that's what I arrived at:

$ > Foo.pm6
$ ./perl6-j -I. -e 'use Foo; "f".comb; "o".comb("o")'
Type check failed in binding $pat; expected Regex but got Str ("o")
  in block  at -e line 1

So the problem seems to be related to module loading and it happens during that 
second call of method comb.