Project

General

Profile

Actions

action #40895

closed

travis CI tests report a lot of "Use of uninitialized value $expr in concatenation (.) or string at /usr/lib/perl5/5.18.2/B/Deparse.pm line 1370."

Added by okurz over 5 years ago. Updated over 3 years ago.

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

100%

Estimated time:

Description

Observation

This happens reproducibly now also in the circle CI tests:

[06/11/2019 15:51:19] <sebastianriedel> we might have another unstable test, this one is completely unrelated to what i'm working on https://circleci.com/gh/kraih/openQA/372?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link
[06/11/2019 15:52:13] <sebastianriedel> don't think i've seen that error before though
[06/11/2019 15:54:17] <okurz> https://gitlab.suse.de/openqa/osd-deployment/merge_requests/7 for what I mentioned in before regarding automatic deployment
[06/11/2019 15:55:20] <okurz> @sebastianriedel the log is so full of noise regarding "Use of uninitialized value $expr in concatenation (.) or string at /usr/lib/perl5/5.26.1/B/Deparse.pm line 1794." that I do not know what to look for
[06/11/2019 15:55:59] <sebastianriedel> Yea, that is indeed annoying
[06/11/2019 15:57:22] <okurz> @tinita Didn't you do something with "Deparse" lately? can we fix this warning for goo?
[06/11/2019 15:58:23] <tinita> what's goo?
[06/11/2019 15:58:54] <sebastianriedel> good probably
[06/11/2019 15:59:13] <cdywan> It seems to time out? The log doesn't help much seeing where it's at when it happens... :thinking:
[06/11/2019 15:51:19] <sebastianriedel> we might have another unstable test, this one is completely unrelated to what i'm working on https://circleci.com/gh/kraih/openQA/372?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link
[06/11/2019 15:59:16] <tinita> I added deparse to the script_output, yeah. are these warnings new? I think I have seen warnings like this before my change
[06/11/2019 15:59:51] <okurz> no they have been there in travis CI for long as well, in openQA, not os-autoinst
[06/11/2019 15:59:53] <cdywan> Those don't look new to me. Uusually I notice them in the summary
[06/11/2019 16:02:10] <tinita> is there an issue for this?
[06/11/2019 16:02:59] <okurz> not sure
[06/11/2019 16:04:13] <tinita> https://progress.opensuse.org/issues/40895
[06/11/2019 16:04:35] <okurz> right :)
[06/11/2019 16:05:07] <tinita> can we please have more context in issues? :)
[06/11/2019 16:05:18] <tinita> like which test for example
[06/11/2019 16:05:45] <sebastianriedel> Yes please, much more context!

Steps to reproduce

Take a look in the tests we have in circle CI. You should be able to find the warning repeated in the test output multiple times

Problem

This looks like a problem in Deparse itself but potentially triggered by our direct or indirect use

Expected result

There should be no perl warning in our tests, especially not repeated multiple times.

Suggestions

If we can not fix the upstream library we could monkey-patch to silent the error

Actions #1

Updated by tinita over 4 years ago

Context from a recent circleci test:

Use of uninitialized value $expr in concatenation (.) or string at /usr/lib/perl5/5.26.1/B/Deparse.pm line 1794.
# Waiting for worker with ID 14
Use of uninitialized value $expr in concatenation (.) or string at /usr/lib/perl5/5.26.1/B/Deparse.pm line 1794.
Use of uninitialized value $expr in concatenation (.) or string at /usr/lib/perl5/5.26.1/B/Deparse.pm line 1794.
# Waiting for worker with ID 15
# Waiting for worker with ID 16
# Waiting for worker with ID 17
# Waiting for worker with ID 18
t/05-scheduler-full.t .. 8/? Use of uninitialized value $expr in concatenation (.) or string at /usr/lib/perl5/5.26.1/B/Deparse.pm line 1794.

https://circleci.com/gh/kraih/openQA/372

Actions #2

Updated by okurz over 4 years ago

  • Description updated (diff)
Actions #3

Updated by okurz over 4 years ago

  • Description updated (diff)
Actions #4

Updated by tinita over 4 years ago

It is related to Devel::Cover.

https://github.com/pjcj/Devel--Cover/issues/142

Funnily, the suggested "patch" to B/Deparse.pm there:

if (!defined $expr) {
require Carp; Carp::confess('here!');
}

makes the warning go away.
It might already be fixed in a newer version of perl, but at least this subroutine still looks the same in perl 5.30.

Actions #5

Updated by tinita over 4 years ago

  • Status changed from New to In Progress
  • Assignee set to tinita
  • Target version set to Current Sprint
Actions #6

Updated by tinita over 4 years ago

  • Status changed from In Progress to Feedback
  • % Done changed from 0 to 100
Actions #7

Updated by tinita over 4 years ago

PRs are merged

Actions #8

Updated by tinita over 4 years ago

  • Status changed from Feedback to Resolved
Actions #9

Updated by tinita over 3 years ago

It seems that in a newer version B::Deparse produces even more warnings:

Use of uninitialized value $expr2 in concatenation (.) or string at /home/squamata/project/t/lib/OpenQA/Test/PatchDeparse.pm line 44.
Use of uninitialized value $expr2 in substitution (s///) at /home/squamata/project/t/lib/OpenQA/Test/PatchDeparse.pm line 43.

I updated the patch in: https://github.com/os-autoinst/openQA/pull/3701

Maybe I should open a perl bug.

Actions

Also available in: Atom PDF