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

Regression related to AUTOGEN signature #3433

Closed
Altai-man opened this issue Jan 19, 2020 · 7 comments
Closed

Regression related to AUTOGEN signature #3433

Altai-man opened this issue Jan 19, 2020 · 7 comments
Assignees
Labels
BLOCKER Preventing the next release of rakudo, or just needing attention before the release regression Issue did not exist previously

Comments

@Altai-man
Copy link
Member

After d89a0c9 we can't install a couple of modules with similar logs. For example, Duo:

➜  ~ rakudobrew switch moar-2019.11
Switching to moar-2019.11
➜  ~ zef install Duo
===> Searching for: Duo
===> Testing: Duo:ver<0.0.1>
===> Testing [OK] for Duo:ver<0.0.1>
===> Installing: Duo:ver<0.0.1>
➜  ~ rakudobrew switch moar-06db4c249972e5e5e769927fed7aa0586950203b 
Switching to moar-06db4c249972e5e5e769927fed7aa0586950203b
➜  ~ zef install Duo
===> Searching for: Duo
===> Testing: Duo:ver<0.0.1>
[Duo] Cannot resolve caller AUTOGEN(Duo: ); none of these signatures match:
[Duo]     (Duo:D: *%_ --> Str)
[Duo]   in sub isa-ok at /home/koto/.rakudobrew/versions/moar-06db4c249972e5e5e769927fed7aa0586950203b/install/share/perl6/core/sources/2D4A7CA10695CD2B374573413D261A660E282E2A (Test) line 467
[Duo]   in block <unit> at t/00-basic.t line 10
[Duo] Cannot resolve caller AUTOGEN(Duo: ); none of these signatures match:
[Duo]     (Duo:D: *%_ --> Str)
[Duo]   in block <unit> at t/01-str.t line 15
[Duo] Cannot resolve caller AUTOGEN(Duo: ); none of these signatures match:
[Duo]     (Duo:D: *%_ --> Str)
[Duo]   in sub isa-ok at /home/koto/.rakudobrew/versions/moar-06db4c249972e5e5e769927fed7aa0586950203b/install/share/perl6/core/sources/2D4A7CA10695CD2B374573413D261A660E282E2A (Test) line 467
[Duo]   in block <unit> at t/10-util.t line 13
===> Testing [FAIL]: Duo:ver<0.0.1>
Aborting due to test failure: Duo:ver<0.0.1> (use --force-test to override)

or Hash::MultiValue

➜  ~ zef install Hash::MultiValue
===> Searching for: Hash::MultiValue
===> Testing: Hash::MultiValue:ver<0.7>:auth<github:zostay>
[Hash::MultiValue] Cannot resolve caller AUTOGEN(Hash::MultiValue: ); none of these signatures match:
[Hash::MultiValue]     (Hash::MultiValue:D: *%_ --> Str)
[Hash::MultiValue]   in sub isa-ok at /home/koto/.rakudobrew/versions/moar-06db4c249972e5e5e769927fed7aa0586950203b/install/share/perl6/core/sources/2D4A7CA10695CD2B374573413D261A660E282E2A (Test) line 467
[Hash::MultiValue]   in block  at t/basic.t line 241
[Hash::MultiValue]   in sub subtest at /home/koto/.rakudobrew/versions/moar-06db4c249972e5e5e769927fed7aa0586950203b/install/share/perl6/core/sources/2D4A7CA10695CD2B374573413D261A660E282E2A (Test) line 420
[Hash::MultiValue]   in block <unit> at t/basic.t line 47
===> Testing [FAIL]: Hash::MultiValue:ver<0.7>:auth<github:zostay>
Aborting due to test failure: Hash::MultiValue:ver<0.7>:auth<github:zostay> (use --force-test to override)
➜  ~ which perl6
/home/koto/.rakudobrew/versions/moar-06db4c249972e5e5e769927fed7aa0586950203b/install/bin/perl6

cast @vrurg
Is it a bug we can fix? Or a breakage we must do?

@Altai-man Altai-man added BLOCKER Preventing the next release of rakudo, or just needing attention before the release regression Issue did not exist previously labels Jan 19, 2020
@Altai-man
Copy link
Member Author

By the way, Blin points to this commit also for this:

➜  ~ zef install App::MoarVM::Debug
===> Searching for: App::MoarVM::Debug
===> Testing: App::MoarVM::Debug:ver<0.0.2>
===> Testing [OK] for App::MoarVM::Debug:ver<0.0.2>
===> Installing: App::MoarVM::Debug:ver<0.0.2>
===> Install [FAIL] for App::MoarVM::Debug:ver<0.0.2>: ===SORRY!===
Missing serialize REPR function for REPR VMException (BOOTException)

===SORRY!===
Missing serialize REPR function for REPR VMException (BOOTException)

yet the module tests are racey and I am not sure it is the guilty one, but worth a look?

@lizmat
Copy link
Contributor

lizmat commented Jan 19, 2020

Hmmm... that's a commit from September, so also in 2019.11 ?

@vrurg
Copy link
Member

vrurg commented Jan 20, 2020

@lizmat It was part of the big work on roles merged after the 2019.11 release.

I'm running bisection on my side to see if it comes out with the same result. The commit seems pretty innocent and hardly related to signature matching at the first glance.

@vrurg
Copy link
Member

vrurg commented Jan 20, 2020

Ok, the thing is: d89a0c9 isn't guilty. Clean rebuild of the full MoarVM/NQP/Rakudo stack on this commit makes t/00-basic.t test of Duo passing.

BTW, my own bisect between 2019.11 and the HEAD came out with even weirder variant of 2c5c013!

Anyway, I'm now trying another run between d89a0c9 and the HEAD. Hope to find something more sensible as the bug actually hurts me too. I just didn't realize it's a bug and thought it's me misunderstanding some subtle signature behaviors.

@vrurg
Copy link
Member

vrurg commented Jan 20, 2020

Ok, got it. The case bisects down to b1e986c. What actually happens is Duo has the only multi method perl with signature (::?CLASS:D: ...). But the isa-ok generates its default message against a type object Duo using method raku which redirects to perl method which it finds on Duoboom! No matching signature.

@lizmat, perhaps it makes sense to convert perl to a multi for that matter?

@vrurg
Copy link
Member

vrurg commented Jan 20, 2020

With regard to App::MoarVM::Debug – no idea what's going on there. It installs on my macOS cleanly. Firstly, the error message makes it likely to come from NQP/MoarVM land. Secondly, the module doesn't even have unit tests and no Build.pm. So, none of its code is being run during installation. Therefore I conclude that the failure is caused by something else and most likely by zef itself.

@Altai-man
Copy link
Member Author

It would be really awesome to see the fix for the case found, thus unblocking release.
As for App::MoarVM::Debug - it does not block installation itself, so guess we can live with it for now.

@lizmat lizmat closed this as completed in 06ae7d6 Jan 20, 2020
Altai-man pushed a commit that referenced this issue Jan 21, 2020
As suggested by Vadim Belman.  This fixes

  #3433
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BLOCKER Preventing the next release of rakudo, or just needing attention before the release regression Issue did not exist previously
Projects
None yet
Development

No branches or pull requests

3 participants