action #40895

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 1 year ago. Updated about 1 month ago.

Status:ResolvedStart date:12/09/2018
Priority:NormalDue date:
Assignee:tinita% Done:

100%

Category:Concrete Bugs
Target version:Current Sprint
Difficulty:
Duration:

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

History

#1 Updated by tinita about 1 month 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

#2 Updated by okurz about 1 month ago

  • Description updated (diff)

#3 Updated by okurz about 1 month ago

  • Description updated (diff)

#4 Updated by tinita about 1 month 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.

#5 Updated by tinita about 1 month ago

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

#6 Updated by tinita about 1 month ago

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

#7 Updated by tinita about 1 month ago

PRs are merged

#8 Updated by tinita about 1 month ago

  • Status changed from Feedback to Resolved

Also available in: Atom PDF