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

LTP: Add 'Call Trace:' as failure in dmesg #20012

Merged
merged 1 commit into from
Aug 22, 2024

Conversation

pevik
Copy link
Contributor

@pevik pevik commented Aug 20, 2024

At least syslog11 on unfixed SLERT-15SP6 produced this output in dmesg.

Verification run: https://openqa.suse.de/tests/15246031#step/boot_ltp/174
(I was not able to find a test which would fail like this any more - although I cloned https://openqa.suse.de/tests/15153541, which has failing 6.4.0-150600.10.3-rt, test run with 6.4.0-150600.10.5-rt, which is already fixed).

Copy link

Great PR! Please pay attention to the following items before merging:

Files matching lib/**.pm:

  • Consider adding or extending unit tests in t/

This is an automatically generated QA checklist based on modified files.

@pevik
Copy link
Contributor Author

pevik commented Aug 20, 2024

@mdoucha kindly did a verification for re-enabled serial for micro and it failed horribly, thus I removed that commit.

Subroutine main_micro_alp::load_security_tests redefined at /usr/lib/perl5/5.26.1/Exporter.pm line 66.
 at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/../../lib/main_micro_alp.pm line 18.
	main_micro_alp::BEGIN() called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/../../lib/main_micro_alp.pm line 18
	eval {...} called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/../../lib/main_micro_alp.pm line 18
	require main_micro_alp.pm called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/main.pm line 13
	OpenQA::Isotovideo::Utils::BEGIN() called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/../../lib/main_micro_alp.pm line 18
	eval {...} called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/../../lib/main_micro_alp.pm line 18
	require /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/main.pm called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Utils.pm line 393
	OpenQA::Isotovideo::Utils::try {...} () called at /usr/lib/perl5/vendor_perl/5.26.1/Try/Tiny.pm line 102
	eval {...} called at /usr/lib/perl5/vendor_perl/5.26.1/Try/Tiny.pm line 93
	Try::Tiny::try(CODE(0x5641efc56318), Try::Tiny::Catch=REF(0x5641ee9d9598)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Utils.pm line 417
	OpenQA::Isotovideo::Utils::load_test_schedule() called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 89
	OpenQA::Isotovideo::Runner::load_schedule(OpenQA::Isotovideo::Runner=HASH(0x5641ec5aa938)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 78
	OpenQA::Isotovideo::Runner::prepare(OpenQA::Isotovideo::Runner=HASH(0x5641ec5aa938)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 249
	OpenQA::Isotovideo::Runner::init(OpenQA::Isotovideo::Runner=HASH(0x5641ec5aa938)) called at /usr/bin/isotovideo line 182
	eval {...} called at /usr/bin/isotovideo line 177
Subroutine new redefined at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/lib/susedistribution.pm line 49.
	require /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/lib/susedistribution.pm called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/main.pm line 19

Although the original test
https://openqa.suse.de/tests/15211469/file/autoinst-log.txt had very similar problem with redefinition it did not fail:

Subroutine main_micro_alp::load_security_tests redefined at /usr/lib/perl5/5.26.1/Exporter.pm line 66.
 at sle-micro/products/sle-micro/../../lib/main_micro_alp.pm line 18.
	main_micro_alp::BEGIN() called at sle-micro/products/sle-micro/../../lib/main_micro_alp.pm line 18
	eval {...} called at sle-micro/products/sle-micro/../../lib/main_micro_alp.pm line 18
	require main_micro_alp.pm called at sle-micro/products/sle-micro/main.pm line 13
	OpenQA::Isotovideo::Utils::BEGIN() called at sle-micro/products/sle-micro/../../lib/main_micro_alp.pm line 18
	eval {...} called at sle-micro/products/sle-micro/../../lib/main_micro_alp.pm line 18
	require sle-micro/products/sle-micro/main.pm called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Utils.pm line 395
	OpenQA::Isotovideo::Utils::try {...} () called at /usr/lib/perl5/vendor_perl/5.26.1/Try/Tiny.pm line 102
	eval {...} called at /usr/lib/perl5/vendor_perl/5.26.1/Try/Tiny.pm line 93
	Try::Tiny::try(CODE(0x55e94c3ee980), Try::Tiny::Catch=REF(0x55e94b02cfe0)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Utils.pm line 417
	OpenQA::Isotovideo::Utils::load_test_schedule() called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 89
	OpenQA::Isotovideo::Runner::load_schedule(OpenQA::Isotovideo::Runner=HASH(0x55e948b26078)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 78
	OpenQA::Isotovideo::Runner::prepare(OpenQA::Isotovideo::Runner=HASH(0x55e948b26078)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 249
	OpenQA::Isotovideo::Runner::init(OpenQA::Isotovideo::Runner=HASH(0x55e948b26078)) called at /usr/bin/isotovideo line 182
	eval {...} called at /usr/bin/isotovideo line 177
Subroutine new redefined at sle-micro/lib/susedistribution.pm line 49.
	require sle-micro/lib/susedistribution.pm called at sle-micro/products/sle-micro/main.pm line 19

@pevik
Copy link
Contributor Author

pevik commented Aug 21, 2024

@mdoucha rebased

@@ -65,6 +65,7 @@ sub create_list_of_serial_failures {
push @$serial_failures, {type => $type, message => 'Kernel stack is corrupted', pattern => quotemeta 'stack-protector: Kernel stack is corrupted'};
push @$serial_failures, {type => $type, message => 'Kernel BUG found', pattern => quotemeta 'BUG: failure at'};
push @$serial_failures, {type => $type, message => 'Kernel Ooops found', pattern => quotemeta '-[ cut here ]-'};
push @$serial_failures, {type => $type, message => 'Kernel Call Trace found', pattern => quotemeta 'Call Trace:'};
Copy link
Contributor

@mdoucha mdoucha Aug 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've just notice that every test which intentionally triggers OOM killer will produce a call trace in dmesg log. That'll also trigger this check. We should either set type => 'soft' here or drop the PR entirely.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I need to add type => 'soft'

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mdoucha FYI updated to soft.

@mdoucha
Copy link
Contributor

mdoucha commented Aug 22, 2024

This PR would allow detecting the printk issue. VR on SLEM: https://openqa.suse.de/tests/15245908#step/boot_ltp/174

At least syslog11 on unfixed SLERT-15SP6 produced this output in dmesg.

Link: https://bugzilla.suse.com/show_bug.cgi?id=1229025#c1
Signed-off-by: Petr Vorel <[email protected]>
Copy link
Contributor

@mdoucha mdoucha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mloviska
Copy link
Contributor

@mdoucha kindly did a verification for re-enabled serial for micro and it failed horribly, thus I removed that commit.

Subroutine main_micro_alp::load_security_tests redefined at /usr/lib/perl5/5.26.1/Exporter.pm line 66.
 at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/../../lib/main_micro_alp.pm line 18.
	main_micro_alp::BEGIN() called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/../../lib/main_micro_alp.pm line 18
	eval {...} called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/../../lib/main_micro_alp.pm line 18
	require main_micro_alp.pm called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/main.pm line 13
	OpenQA::Isotovideo::Utils::BEGIN() called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/../../lib/main_micro_alp.pm line 18
	eval {...} called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/../../lib/main_micro_alp.pm line 18
	require /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/main.pm called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Utils.pm line 393
	OpenQA::Isotovideo::Utils::try {...} () called at /usr/lib/perl5/vendor_perl/5.26.1/Try/Tiny.pm line 102
	eval {...} called at /usr/lib/perl5/vendor_perl/5.26.1/Try/Tiny.pm line 93
	Try::Tiny::try(CODE(0x5641efc56318), Try::Tiny::Catch=REF(0x5641ee9d9598)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Utils.pm line 417
	OpenQA::Isotovideo::Utils::load_test_schedule() called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 89
	OpenQA::Isotovideo::Runner::load_schedule(OpenQA::Isotovideo::Runner=HASH(0x5641ec5aa938)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 78
	OpenQA::Isotovideo::Runner::prepare(OpenQA::Isotovideo::Runner=HASH(0x5641ec5aa938)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 249
	OpenQA::Isotovideo::Runner::init(OpenQA::Isotovideo::Runner=HASH(0x5641ec5aa938)) called at /usr/bin/isotovideo line 182
	eval {...} called at /usr/bin/isotovideo line 177
Subroutine new redefined at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/lib/susedistribution.pm line 49.
	require /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/lib/susedistribution.pm called at /var/lib/openqa/pool/34/os-autoinst-distri-opensuse/products/sle-micro/main.pm line 19

Although the original test https://openqa.suse.de/tests/15211469/file/autoinst-log.txt had very similar problem with redefinition it did not fail:

Subroutine main_micro_alp::load_security_tests redefined at /usr/lib/perl5/5.26.1/Exporter.pm line 66.
 at sle-micro/products/sle-micro/../../lib/main_micro_alp.pm line 18.
	main_micro_alp::BEGIN() called at sle-micro/products/sle-micro/../../lib/main_micro_alp.pm line 18
	eval {...} called at sle-micro/products/sle-micro/../../lib/main_micro_alp.pm line 18
	require main_micro_alp.pm called at sle-micro/products/sle-micro/main.pm line 13
	OpenQA::Isotovideo::Utils::BEGIN() called at sle-micro/products/sle-micro/../../lib/main_micro_alp.pm line 18
	eval {...} called at sle-micro/products/sle-micro/../../lib/main_micro_alp.pm line 18
	require sle-micro/products/sle-micro/main.pm called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Utils.pm line 395
	OpenQA::Isotovideo::Utils::try {...} () called at /usr/lib/perl5/vendor_perl/5.26.1/Try/Tiny.pm line 102
	eval {...} called at /usr/lib/perl5/vendor_perl/5.26.1/Try/Tiny.pm line 93
	Try::Tiny::try(CODE(0x55e94c3ee980), Try::Tiny::Catch=REF(0x55e94b02cfe0)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Utils.pm line 417
	OpenQA::Isotovideo::Utils::load_test_schedule() called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 89
	OpenQA::Isotovideo::Runner::load_schedule(OpenQA::Isotovideo::Runner=HASH(0x55e948b26078)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 78
	OpenQA::Isotovideo::Runner::prepare(OpenQA::Isotovideo::Runner=HASH(0x55e948b26078)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 249
	OpenQA::Isotovideo::Runner::init(OpenQA::Isotovideo::Runner=HASH(0x55e948b26078)) called at /usr/bin/isotovideo line 182
	eval {...} called at /usr/bin/isotovideo line 177
Subroutine new redefined at sle-micro/lib/susedistribution.pm line 49.
	require sle-micro/lib/susedistribution.pm called at sle-micro/products/sle-micro/main.pm line 19

This is a result of the same function being defined in lib/main_common.pm and lib/main_security.pm. Worth to note, both are implemented differently.

@mdoucha
Copy link
Contributor

mdoucha commented Aug 22, 2024

This is a result of the same function being defined in lib/main_common.pm and lib/main_security.pm. Worth to note, both are implemented differently.

There were a lot more redefined function warnings but I've fixed them in #20026. We should leave this one to whoever actually uses load_security_tests() because they need to decide which one they want to call.

@pevik pevik merged commit 62dd8c2 into os-autoinst:master Aug 22, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants