action #122110
closedFix https://build.opensuse.org/package/live_build_log/devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_15/x86_64 size:S
0%
Description
[ 31s] t/01-defined-constants.t ... ok
[ 32s]
[ 32s] # Failed test 'password generation with named argument 'dictionary_list''
[ 32s] # at t/02-generate-passwords.t line 28.
[ 32s]
[ 32s] # Failed test 'password generation with named argument 'dictionary_file''
[ 32s] # at t/02-generate-passwords.t line 35.
[ 32s]
[ 32s] # Failed test 'password generation with named arguments 'dictionary_file' & 'dictionary_file_encoding''
[ 32s] # at t/02-generate-passwords.t line 41.
[ 32s] # Looks like you failed 3 tests of 10.
[ 32s] t/02-generate-passwords.t ..
Acceptance Criteria¶
AC1: Package is building again
Suggestions¶
- Check out the cartoon the module is based on (https://xkcd.com/936/)
- Check the perl packaging guidlines at https://en.opensuse.org/openSUSE:Packaging_Perl
- Try to reproduce the problem manually, e.g. based on a simple upstream git checkout
- Fix the test if possible, otherwise report upstream and just exclude the test from OBS execution, e.g. just
rm ...t
like in https://build.opensuse.org/request/show/879871 - Fixed package is submitted to openSUSE:Factory
Updated by dheidler almost 2 years ago
- Subject changed from Fix https://build.opensuse.org/package/live_build_log/devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_15/x86_64 to Fix https://build.opensuse.org/package/live_build_log/devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_15/x86_64 size:S
- Description updated (diff)
- Status changed from New to Workable
Updated by tinita almost 2 years ago
- Status changed from Workable to In Progress
- Assignee set to tinita
Updated by tinita almost 2 years ago
This happens due to a bug in Type::Tiny it seems.
I can reproduce the failure with installing all modules from CPAN in perl 5.36, and when I install the older https://cpan.metacpan.org/authors/id/T/TO/TOBYINK/Type-Tiny-1.016010.tar.gz then it passes.
Installing the latest developer version of Type-Tiny did not help.
It is a bit hard to debug because the test t/02-generate-passwords.t does not output $@
when it fails.
This is the content of $@
:
ERROR - Crypt::HSXKPasswd::hsxkpasswd(): Failed to generate password with the following error: Can't use an undefined value as a subroutine reference at /tmp/Crypt-HSXKPasswd-v3.6/blib/lib/Crypt/HSXKPasswd/Dictionary/Basic.pm line 221
So it fails here: https://metacpan.org/release/BARTB/Crypt-HSXKPasswd-v3.6/source/lib/Crypt/HSXKPasswd/Dictionary/Basic.pm#L221
And $args_check
is supposed to be a coderef created by the multisig
call above.
But it is undef. It has something to do with the state
function (because multisig
does actually return a coderef), but I wasn't able so far to replace the state function with a simple
my
variable declared outside of the sub.
https://perldoc.pl/perlsub#Persistent-Private-Variables
I can comment out the test in OBS, but it seems to me the module itself is (partially) broken now, not only the test.
Testers matrix is currently down http://matrix.cpantesters.org/?dist=Crypt-HSXKPasswd+v3.6
There is this bug report: https://rt.cpan.org/Ticket/Display.html?id=144672
but it is a different bug, though (but might be related to the same change).
Updated by openqa_review almost 2 years ago
- Due date set to 2023-01-03
Setting due date based on mean cycle time of SUSE QE Tools
Updated by tinita almost 2 years ago
- Status changed from In Progress to Feedback
Additionally to https://rt.cpan.org/Ticket/Display.html?id=144672 I now created an issue here: https://github.com/tobyink/p5-type-tiny/issues/127
I think we can now wait. This doesn't seem very urgent, and I'm not sure where we are using the module.
Updated by tinita almost 2 years ago
Toby replied: https://github.com/tobyink/p5-type-tiny/issues/127#issuecomment-1361215023
So it might be a regression in Type::Tiny
Updated by okurz almost 2 years ago
- Due date changed from 2023-01-03 to 2023-01-20
christmas grace due date bump :)
Updated by tinita almost 2 years ago
So, according to Toby it is a bug in Crypt-HSXKPasswd
https://github.com/tobyink/p5-type-tiny/issues/127#issuecomment-1361326742
https://rt.cpan.org/Transaction/Display.html?id=2408451
I'll try to add a patch in OBS.
Updated by tinita almost 2 years ago
Created request with a patch: https://build.opensuse.org/request/show/1046320
Updated by tinita almost 2 years ago
- Status changed from Feedback to Resolved
Updated by okurz almost 2 years ago
- Status changed from Resolved to Feedback
You might have missed my comment in the SR about SLE_12_SP4, see https://build.opensuse.org/package/live_build_log/devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_12_SP4/x86_64 failing:
[ 15s] + /usr/bin/patch -p1 -sfind . -type f '!' -path '*/t/*' '!' -name '*.pl' '!' -path '*/bin/*' '!' -path '*/script/*' '!' -name configure -print0
[ 15s] /usr/bin/patch: invalid option -- 'y'
[ 15s] /usr/bin/patch: Try '/usr/bin/patch --help' for more information.
Maybe a different macro needs to be called. If you don't find a solution we can also exclude the build of the package for that SLE version
Updated by tinita almost 2 years ago
@okurz: How important is this ticket? I never saw the problem that the patch doesn't work with the %autosetup makro.
Where are we using this module?
Updated by okurz almost 2 years ago
tinita wrote:
@okurz: How important is this ticket?
Not very important
I never saw the problem that the patch doesn't work with the %autosetup makro.
Yes, me neither but here it fails
Where are we using this module?
I an using it whenever I generate a new pronounceable password, e.g. for our openQA workers IPMI access
Updated by tinita almost 2 years ago
I was able to fix it by adding a blank line between the autosetup and the following find command.
New request: https://build.opensuse.org/request/show/1046617
Fixed cpanspec: https://github.com/openSUSE/cpanspec/pull/42
Updated by okurz almost 2 years ago
Now it seems we have a new problem in build in https://build.opensuse.org/package/live_build_log/devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_12_SP4/x86_64
[ 27s]
[ 27s] # Failed test 'password generation with named argument 'preset''
[ 27s] # at t/02-generate-passwords.t line 84.
[ 27s] # Looks like you failed 1 test of 10.
[ 27s] t/02-generate-passwords.t ..
[ 27s] Dubious, test returned 1 (wstat 256, 0x100)
[ 27s] Failed 1/10 subtests
maybe exclude the test again unless you can fix it
Updated by tinita almost 2 years ago
I cannot even reproduce this when branching.
https://build.opensuse.org/package/live_build_log/home:tinita:branches:devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_12_SP4/x86_64
And in the previous case it was not just a test failure, but the module was broken.
But since I can't reproduce it, I can't even print out $@
to see what exactly is going wrong in that eval in line 84.
So yeah, maybe exclude this for SLE12
Updated by okurz almost 2 years ago
- Due date deleted (
2023-01-20) - Status changed from Feedback to Resolved
Ok, in https://build.opensuse.org/package/meta/devel:languages:perl/perl-Crypt-HSXKPasswd
I added:
<package name="perl-Crypt-HSXKPasswd" project="devel:languages:perl">
<build>
<disable repository="SLE_12_SP4"/>
</build>
and an according description. All remaining build results passed. This should be good enough.
Thanks for your work.
Updated by tinita almost 2 years ago
- Status changed from Resolved to Feedback
It's not resolved yet, I still have to merge and deploy https://github.com/openSUSE/cpanspec/pull/42 and ideally make a new package.
Updated by livdywan almost 2 years ago
tinita wrote:
It's not resolved yet, I still have to merge and deploy https://github.com/openSUSE/cpanspec/pull/42 and ideally make a new package.
The package still needs to be updated
Updated by tinita almost 2 years ago
Request for Factory: https://build.opensuse.org/request/show/1060487 (cpanspec)