rakudo / rakudo

🦋 Rakudo – Raku on MoarVM, JVM, and JS
https://rakudo.org/
Artistic License 2.0
1.73k stars 374 forks source link

[JVM] build broken after re-design of Whatever currier #1526

Closed usev6 closed 6 years ago

usev6 commented 6 years ago

It looks like the JVM build broke with commit 752bb8b381a06dd4d49247d36369fffa3327a641 I didn't try to (didn't have time to) figure out what exactly goes wrong, but I'm filing this issue for now.

Stage start      :   0.000
Stage parse      : 236.324
Stage syntaxcheck:   0.001
Stage ast        :   0.001
Stage optimize   :  24.968
Stage jast       :  35.909
Stage classfile  : java.lang.RuntimeException: java.lang.RuntimeException: p6bindsig_no_autothread defined twice in qb_4033
  in classfile (gen/jvm/stage2/NQPHLL.nqp:92)
  in execute_stage (gen/jvm/stage2/NQPHLL.nqp:1433)
  in run (gen/jvm/stage2/NQPHLL.nqp:1469)
  in <anon> (gen/jvm/stage2/NQPHLL.nqp:1472)
  in compile (gen/jvm/stage2/NQPHLL.nqp:1458)
  in eval (gen/jvm/stage2/NQPHLL.nqp:1158)
  in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1413)
  in command_eval (gen/jvm/stage2/NQPHLL.nqp:1305)
  in command_eval (src/Perl6/Compiler.nqp:42)
  in command_line (gen/jvm/stage2/NQPHLL.nqp:1264)
  in MAIN (gen/jvm/main.nqp:47)
  in <mainline> (gen/jvm/main.nqp:38)
  in <anon> (gen/jvm/main.nqp)
*** Error code 1

Stop.
make: stopped in /usr/home/christian/perl6/perl6-roast-data/rakudo.jvm

The above error is on commit e930e2537f compiling on FreeBSD 11.1-RELEASE-p4 (amd64). I did a bisect and the first bad commit was 752bb8b381.

peschwa commented 6 years ago

The obvious fix -- preventing redeclaration of the Label p6bindsig_no_autothread by giving each decleration a unique name unbreaks the build at least. I'm uncertain whether this is the right kind of fix though, the fact that we didn't need unique names for the Label inside the p6bindsig definition before suggests that we're now emitting multiple p6bindsigs in a single QB/Java method, which I'm not sure is desirable.

peschwa commented 6 years ago

Some more discussion.

zoffixznet commented 6 years ago

Closing without tests, as this bug doesn't affect MoarVM (it goes through a different path when making the sig binder QAST) and on JVM it's already covered by compilation failing....

zoffixznet commented 6 years ago

Actually, never mind. Got tests to cover the bug too: https://github.com/rakudo/rakudo/commit/0d0fe79341