Project

General

Profile

Actions

action #106684

closed

tests incomplete with "(?s)testapi::record_info.*Use of uninitialized value.*in join or string at.*Mojo/File.pm line 14.*"

Added by okurz about 2 years ago. Updated about 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Regressions/Crashes
Target version:
Start date:
2022-02-12
Due date:
% Done:

0%

Estimated time:

Description

Observation

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

[2022-02-12T09:23:53.794039+01:00] [debug] <<< testapi::record_info(title="bootloader", output=undef, result="ok")
Use of uninitialized value $_[0] in join or string at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/File.pm line 141.
    Mojo::File::spurt(Mojo::File=SCALAR(0x55e932ab9900), undef) called at /usr/lib/os-autoinst/basetest.pm line 434
    basetest::write_resultfile(bootloader_start=HASH(0x55e9305e0fc8), "bootloader_start-1.txt", undef) called at /usr/lib/os-autoinst/basetest.pm line 453
    basetest::record_resultfile(bootloader_start=HASH(0x55e9305e0fc8), "bootloader", undef, "result", "ok") called at /usr/lib/os-autoinst/testapi.pm line 237
    testapi::record_info("bootloader") called at sle/tests/installation/bootloader_start.pm line 77
    bootloader_start::run(bootloader_start=HASH(0x55e9305e0fc8)) called at /usr/lib/os-autoinst/basetest.pm line 360
    eval {...} called at /usr/lib/os-autoinst/basetest.pm line 354
    basetest::runtest(bootloader_start=HASH(0x55e9305e0fc8)) called at /usr/lib/os-autoinst/autotest.pm line 372
    eval {...} called at /usr/lib/os-autoinst/autotest.pm line 372
    autotest::runalltests() called at /usr/lib/os-autoinst/autotest.pm line 242
    eval {...} called at /usr/lib/os-autoinst/autotest.pm line 242
    autotest::run_all() called at /usr/lib/os-autoinst/autotest.pm line 296
    autotest::__ANON__(Mojo::IOLoop::ReadWriteProcess=HASH(0x55e930435870)) called at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/IOLoop/ReadWriteProcess.pm line 326
    eval {...} called at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/IOLoop/ReadWriteProcess.pm line 326
    Mojo::IOLoop::ReadWriteProcess::_fork(Mojo::IOLoop::ReadWriteProcess=HASH(0x55e930435870), CODE(0x55e932ab9870)) called at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/IOLoop/ReadWriteProcess.pm line 488
    Mojo::IOLoop::ReadWriteProcess::start(Mojo::IOLoop::ReadWriteProcess=HASH(0x55e930435870)) called at /usr/lib/os-autoinst/autotest.pm line 298
    autotest::start_process() called at /usr/bin/isotovideo line 261

doesn't seem like the test fails due to this but still should be handled.

Actions #1

Updated by tinita about 2 years ago

  • Status changed from New to Feedback
  • Assignee set to tinita

record_info expects two parameters, but in this case it only gets one.

I can find several occurrences of only one parameter also in os-autoinst-distri-opensuse, so we cannot make that fatal.

Solutions:

  1. Simply pass the empty string when we get undef
  2. Output a detailed warning that the second parameter is needed.

I did a PR for the first option: https://github.com/os-autoinst/os-autoinst/pull/1956

Actions #3

Updated by tinita about 2 years ago

  • Status changed from Feedback to Resolved

The fix was deployed on OSD.
I checked the latest job and I don't see the warning anymore in the log:
https://openqa.suse.de/tests/8201915/logfile?filename=autoinst-log.txt

Actions

Also available in: Atom PDF