Project

General

Profile

Actions

action #177384

closed

[os-autoinst] "Use of uninitialized value in repeat (x) at /usr/lib/os-autoinst/backend/qemu.pm line 136."

Added by okurz 12 days ago. Updated 10 days ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
Regressions/Crashes
Target version:
Start date:
2025-02-17
Due date:
% Done:

0%

Estimated time:

Description

Observation

https://openqa.suse.de/tests/16803497/logfile?filename=autoinst-log.txt from https://openqa.suse.de/tests/16803497 shows

Use of uninitialized value in repeat (x) at /usr/lib/os-autoinst/backend/qemu.pm line 136.
    backend::qemu::_dbus_call(backend::qemu=HASH(0xaaab07fa0dc8), "set_vlan", "tap1", 1) called at /usr/lib/os-autoinst/backend/qemu.pm line 1072
    backend::qemu::start_qemu(backend::qemu=HASH(0xaaab07fa0dc8)) called at /usr/lib/os-autoinst/backend/qemu.pm line 99
    backend::qemu::do_start_vm(backend::qemu=HASH(0xaaab07fa0dc8)) called at /usr/lib/os-autoinst/backend/baseclass.pm line 443
    backend::baseclass::start_vm(backend::qemu=HASH(0xaaab07fa0dc8), undef) called at /usr/lib/os-autoinst/backend/baseclass.pm line 81
    backend::baseclass::handle_command(backend::qemu=HASH(0xaaab07fa0dc8), HASH(0xaaab063ae958)) called at /usr/lib/os-autoinst/backend/baseclass.pm line 616
    backend::baseclass::check_socket(backend::qemu=HASH(0xaaab07fa0dc8), IO::Handle=GLOB(0xaaab0633e2b0)) called at /usr/lib/os-autoinst/backend/qemu.pm line 1199
    backend::qemu::check_socket(backend::qemu=HASH(0xaaab07fa0dc8), IO::Handle=GLOB(0xaaab0633e2b0), 0) called at /usr/lib/os-autoinst/backend/baseclass.pm line 286
    backend::baseclass::do_capture(backend::qemu=HASH(0xaaab07fa0dc8), undef, 1739786164.81989) called at /usr/lib/os-autoinst/backend/baseclass.pm line 312
    eval {...} called at /usr/lib/os-autoinst/backend/baseclass.pm line 313
    backend::baseclass::run_capture_loop(backend::qemu=HASH(0xaaab07fa0dc8)) called at /usr/lib/os-autoinst/backend/baseclass.pm line 135
    backend::baseclass::run(backend::qemu=HASH(0xaaab07fa0dc8), 14, 17) called at /usr/lib/os-autoinst/backend/driver.pm line 68
    backend::driver::__ANON__(Mojo::IOLoop::ReadWriteProcess=HASH(0xaaab0768e3c8)) called at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/IOLoop/ReadWriteProcess.pm line 329
    eval {...} called at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/IOLoop/ReadWriteProcess.pm line 329
    Mojo::IOLoop::ReadWriteProcess::_fork(Mojo::IOLoop::ReadWriteProcess=HASH(0xaaab0768e3c8), CODE(0xaaab07af3338)) called at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/IOLoop/ReadWriteProcess.pm line 493
    Mojo::IOLoop::ReadWriteProcess::start(Mojo::IOLoop::ReadWriteProcess=HASH(0xaaab0768e3c8)) called at /usr/lib/os-autoinst/backend/driver.pm line 72
    backend::driver::start(backend::driver=HASH(0xaaab07872638)) called at /usr/lib/os-autoinst/backend/driver.pm line 37
    backend::driver::new("backend::driver", "qemu") called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Backend.pm line 14
    OpenQA::Isotovideo::Backend::new("OpenQA::Isotovideo::Backend") called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 110
    OpenQA::Isotovideo::Runner::create_backend(OpenQA::Isotovideo::Runner=HASH(0xaaaafedc7730)) called at /usr/lib/os-autoinst/OpenQA/Isotovideo/Runner.pm line 252
    OpenQA::Isotovideo::Runner::init(OpenQA::Isotovideo::Runner=HASH(0xaaaafedc7730)) called at /usr/bin/isotovideo line 184
    eval {...} called at /usr/bin/isotovideo line 192

Find potentially more information in original ticket #177381

Reproducible

Fails since (at least) Build 17.5.99_hpc-node

Expected result

Last good: 17.5.98_hpc-node (or more recent)
which does not show the above stacktrace

Acceptance criteria

  • AC1: No internal error with stack trace from observation

Suggestions

  • Analyze how we could reach this code and prevent the internal error, e.g. ensure proper calls from higher layers, catch exception, etc.

Out of scope

The original test failure does not necessarily need to be fixed as part of this ticket. That will be handled in #177381

Further details

Always latest result in this scenario: latest

Actions #2

Updated by tinita 12 days ago

The reason is https://github.com/os-autoinst/os-autoinst/pull/2650/files#diff-675dc99664e3cb2e63629d86dd587727a186671073760a12af76d2d974a692a0R130

Before $@ was the empty string, not leading to a warning, now $error is undef by default.

However, looking at the calls of _dbus_call, the third return value is never used, and was never used. I tracked the usage back to when it was added in 2017. Maybe we can remove it completely.

Actions #3

Updated by tinita 11 days ago

  • Status changed from New to In Progress
  • Assignee set to tinita
Actions #4

Updated by tinita 11 days ago

  • Status changed from In Progress to Feedback
Actions #6

Updated by tinita 10 days ago

  • Status changed from Feedback to Resolved

No more "Use of uninitialized value" in the latest test run

Actions

Also available in: Atom PDF