action #96317
closedUnexpected warnings fail 25-cache.t if run with recent perl-DBD-SQLite
Description
A recent build of openQA for Fedora Rawhide failed due to unexpected warnings in 25-cache.t:
# Failed test 'no (unexpected) warnings (via done_testing)'
# at ./t/25-cache.t line 450.
# Got the following unexpected warnings:
# 1: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 2: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 3: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 4: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 5: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 6: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 7: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 8: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 9: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 10: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 11: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 12: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 13: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 14: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 15: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 16: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# 17: "sqlite_unicode" attribute will be deprecated. Use "sqlite_string_mode" instead. at /usr/lib64/perl5/vendor_perl/DBI.pm line 734.
# Looks like you failed 1 test of 82.
./t/25-cache.t ..............................................
As best as I can tell, this was triggered by the deprecation happening upstream in perl-DBD-SQLite - https://github.com/DBD-SQLite/DBD-SQLite/commit/9dc75eaeadd5d7f3d5024c3f82630d951722c4c7 . But nothing in openQA itself seems to specifically use the deprecated attribute, though the codepath involved is kind of hard to understand so I'm not 100% sure what's going on. I've filed an issue upstream - https://github.com/DBD-SQLite/DBD-SQLite/issues/87 - to see what they think.
Figured I'd file an issue as SUSE will likely run into this too at some point. As for workarounds, we could wrap the entire test in a warnings()
block and then assert that we only see these kinds of warnings, I guess. To get a Fedora build through I will probably just patch out the use of Test::Warnings
entirely for now.
Updated by AdamWill about 3 years ago
ah, upstream pointed out the attribute is set in Mojo::SQLite
- https://github.com/DBD-SQLite/DBD-SQLite/issues/87#issuecomment-889461978 . So we should be able to fix it there.
Updated by okurz about 3 years ago
- Status changed from New to In Progress
- Assignee set to tinita
- Priority changed from Low to Urgent
- Target version set to Ready
In the meantime a new release 1.69_01 of perl-DBD-SQLite was created reverting the warning. Tina provided a backported fix in the openSUSE package as well.
Bumping prio to "Urgent" as the issue also blocks our openQA CI checks in https://github.com/os-autoinst/openQA/pull/4093 and then all other pull request checks will soon (or already?) fail because the older, still working version of perl-DBD-SQLite won't be found anymore.
@tinita to track as you are already it with https://build.opensuse.org/request/show/909334 and https://build.opensuse.org/request/show/909336
Updated by tinita about 3 years ago
- Status changed from In Progress to Feedback
Waiting for https://build.opensuse.org/request/show/909336
Updated by tinita about 3 years ago
Updated by tinita about 3 years ago
- Status changed from Feedback to Resolved
PR was merged, CI is passing again