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

Issues with rakudo-j after merge of branch 'relocateable-precomp' #5305

Closed
p6rt opened this issue May 7, 2016 · 7 comments
Closed

Issues with rakudo-j after merge of branch 'relocateable-precomp' #5305

p6rt opened this issue May 7, 2016 · 7 comments
Labels
JVM Related to Rakudo-JVM

Comments

@p6rt
Copy link

p6rt commented May 7, 2016

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

Searchable as RT128094$

@p6rt
Copy link
Author

p6rt commented May 7, 2016

From @usev6

There are different issues with Rakudo on JVM after the merge of
'relocateable-precomp'. I compared an installation on the merge
commit e8fd55bbe6 with a second installation on that commit
plus 'git revert -m 1 e8fd55bbe6'.

* a lot of new failing tests in S10-packages/precompilation.rakudo.jvm
  (some others where fudged before)​: 2-4, 7-21, 24-26, 28-30, 32, 38, 39

* test for RT #​114354 fails (S06-other/main.t aborts), because 'sub MAIN'
  in t/spec/packages/HasMain.pm (line 5) is called with @​*ARGS containing
  five elements

* running stresstest takes about 10 hours after merge of branch
  'relocateable-precomp' (used to be substantially faster --
  maybe 3 hours -- didn't time this)

* 'make install' fails with​:

./perl6-j tools/build/install-core-dist.pl /home/christian/bin/rakudo.jvm/share/perl6
===SORRY!===
Cannot call method 'prefix' on a null object

  in block <unit> at tools/build/install-core-dist.pl line 15

*** Error code 1

Stop

@p6rt
Copy link
Author

p6rt commented May 9, 2016

From @usev6

Running the following code with RAKUDO_MODULE_DEBUG=1 revealed that rakudo-j did precompile a module, but was unable to use it afterwards -- and therefore removed it​:

$ echo '#' > Foo.pm6
$ RAKUDO_MODULE_DEBUG=1 ./perl6-j -I. -e 'use Foo'

Since that happened with Test.pm as well, the long spectest runs make sense.

I tried to debug this problem and it looks like FIRST not working on rakudo-j is the culprint​:

==== start of discussion on IRC -- cmp. http://irclog.perlgeek.de/p6dev/2016-05-08#i_12451277
bartolin nine_, psch​: I think I found the cause for one of the precomp issues on rakudo-j​: the FIRST phaser in https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit/PrecompilationRepository.pm#L87 does not work for rakudo-j. because of that rakudo-j did not load a freshly precompiled Module.
bartolin m​: for 1 { FIRST { next }; say "should not be here" } # prints "should not be here" on rakudo-j
camelia rakudo-moar 283b85​: ( no output )
timotimo damn
bartolin I guess, that's behind my stresstest runs taking 10 hours :-/
timotimo ;(
bartolin he, I already put it in RT last november​: RT #​126701 :-)
synopsebot6 Link​: https://rt-archive.perl.org/perl6//Public/Bug/Display.html?id=126701
==== end of discussion on IRC -- powered by https://github.com/usev6/dump-irc-logs

1 similar comment
@p6rt
Copy link
Author

p6rt commented May 9, 2016

From @usev6

Running the following code with RAKUDO_MODULE_DEBUG=1 revealed that rakudo-j did precompile a module, but was unable to use it afterwards -- and therefore removed it​:

$ echo '#' > Foo.pm6
$ RAKUDO_MODULE_DEBUG=1 ./perl6-j -I. -e 'use Foo'

Since that happened with Test.pm as well, the long spectest runs make sense.

I tried to debug this problem and it looks like FIRST not working on rakudo-j is the culprint​:

==== start of discussion on IRC -- cmp. http://irclog.perlgeek.de/p6dev/2016-05-08#i_12451277
bartolin nine_, psch​: I think I found the cause for one of the precomp issues on rakudo-j​: the FIRST phaser in https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit/PrecompilationRepository.pm#L87 does not work for rakudo-j. because of that rakudo-j did not load a freshly precompiled Module.
bartolin m​: for 1 { FIRST { next }; say "should not be here" } # prints "should not be here" on rakudo-j
camelia rakudo-moar 283b85​: ( no output )
timotimo damn
bartolin I guess, that's behind my stresstest runs taking 10 hours :-/
timotimo ;(
bartolin he, I already put it in RT last november​: RT #​126701 :-)
synopsebot6 Link​: https://rt-archive.perl.org/perl6//Public/Bug/Display.html?id=126701
==== end of discussion on IRC -- powered by https://github.com/usev6/dump-irc-logs

@p6rt
Copy link
Author

p6rt commented May 9, 2016

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

@p6rt
Copy link
Author

p6rt commented May 21, 2016

From @usev6

As a status update​: things are substantially better now (2016.04-218-gaa2715d) -- thanks to nine++
and psch++

+ stresstest runs in a reasonable time again (precompiled Test.pm can be used)

+ test for RT #​114354 passes again

+ FIRST works now

The remaining issues are​:

- 'make install' still fails -- though with a different error​:

./perl6-j tools/build/install-core-dist.pl /home/christian/bin/rakudo.jvm/share/perl6
===SORRY!===
setcodeobj can only be used with a CodeRef

  in block <unit> at tools/build/install-core-dist.pl line 18

- still failing tests in S10-packages/precompilation.t -- there are some
  NullPointerExceptions and therefore only 28 instead of 40 tests are run

@p6rt
Copy link
Author

p6rt commented Jul 17, 2016

From @usev6

The remaining issues are resolved now. Therefore, I'm closing this ticket.

@p6rt p6rt closed this as completed Jul 17, 2016
@p6rt
Copy link
Author

p6rt commented Jul 17, 2016

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

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

No branches or pull requests

1 participant