Bug 11284

Summary: selftest: tests that capture output fail on GDC Autobuilders
Product: [Infrastructure] AutoBuilder Reporter: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia>
Component: autobuilderAssignee: Joshua Lock <joshuagloe>
Status: VERIFIED FIXED QA Contact: Jose Perez C <jose.perez.carranza>
Severity: normal    
Priority: High CC: anibal.limon, infras.ab.watcher, Infras.watcher, joshuagloe, meta.mr.watcher, meta.watcher, pidge, richard.purdie
Version: 2.3   
Target Milestone: 2.3 M4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: Regression (Found by QA test)
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
selftest failure
none
selftest success for 2.3 M3 rc1
none
selftest failure 2.3 M3 rc2 - not validated warning none

Description Jair Gonzalez 2017-04-01 00:32:00 UTC
Created attachment 3684 [details]
selftest failure

STEPS TO REPRODUCE: 

1 Clone poky 
2 source environment
3 oe-selftest --run-all 


EXPECTED OUTCOME: 
  All tests cases should be executed correctly 

ACTUAL OUTCOME 
  There are several failures and errors on the results


Full log attached

Note: This was only observed at GDC autobuilders 

In addition, the following sequence of messages seems to be repeating constantly on the logs, seemingly causing test cases that execute shell commands and capture their output to fail, as they capture these messages instead:

------------------------------------------------------------------------------
NOTE: Started PRServer with DBfile: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest-debian8/build/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 51266, PID: 7242
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest-debian8/build/bitbake/lib/bb/parse/ast.py:40: ResourceWarning: unclosed file <_io.TextIOWrapper name=17 mode='w' encoding='UTF-8'>
  self.filename = filename

NOTE: Started PRServer with DBfile: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest-debian8/build/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 51266, PID: 7242
NOTE: Terminating PRServer...
------------------------------------------------------------------------------
Comment 1 Jair Gonzalez 2017-04-01 00:45:05 UTC
Created attachment 3685 [details]
selftest success for 2.3 M3 rc1
Comment 2 Richard Purdie 2017-04-01 08:00:04 UTC
I could reproduce this locally and confirmed that reverting 542eb4731cd491c23e30689e5c8c0da91ba4bb44 (bitbake: tinfoil: enable client-side logger handling by default) fixed this.

This only happens if you have PRSERV_HOST = "localhost:0" in local.conf and I'm guessing the main autobuilders we usually use does not have this set.

You may be able to unblock M3-rc2 testing if you ensure PRSERV_HOST is not set in these tests on the GDC machines.

Marking as a high so Paul can look at this and we can decide if we need to change the tests, or require selftest has no PRSERV set.
Comment 3 Richard Purdie 2017-04-01 08:00:34 UTC
Just to also note that "oe-selftest -r pkgdata.OePkgdataUtilTests.test_glob" was enough to reproduce reliably.
Comment 4 Jair Gonzalez 2017-04-04 16:06:30 UTC
Created attachment 3686 [details]
selftest failure 2.3 M3 rc2 - not validated warning
Comment 5 Jair Gonzalez 2017-04-04 16:13:00 UTC
We disabled PRSERV on the GDC autobuilder servers and executed oe-selftest again. With this change, the PRSERV error is not showing anymore on the logs. However, several tests are still failing as a result of a warning with the following message:

WARNING: Host distribution "debian-8" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.

I have attached one of the logs for further review.

I also reviewed the logs on the main autobuilder and in it, the PRSERV variables are being set, but the error is not showing up. As an example, in http://yctb01.zpn.intel.com:8010/builders/nightly-oe-selftest-debian8/builds/22/steps/Running%20oe-selftest/logs/stdio we can see the following lines being set:

  PRSERV_HOST=localhost
  PRSERV_PORT=0
Comment 6 Richard Purdie 2017-04-04 16:32:35 UTC
I'd suggest doing something similar to this http://git.yoctoproject.org/cgit.cgi/yocto-autobuilder/commit/?id=87b10595e9a1d36081ec60d3069f4a98798f27eb in order to avoid the distro version checks.
Comment 7 Richard Purdie 2017-04-04 16:33:32 UTC
(In reply to comment #6)
> I'd suggest doing something similar to this
> http://git.yoctoproject.org/cgit.cgi/yocto-autobuilder/commit/
> ?id=87b10595e9a1d36081ec60d3069f4a98798f27eb in order to avoid the distro
> version checks.

(i.e. set SANITY_TESTED_DISTROS = "")
Comment 8 Jair Gonzalez 2017-04-04 16:58:56 UTC
I have created https://bugzilla.yoctoproject.org/show_bug.cgi?id=11292 detailing the "sanity testing distros" issue.
Comment 9 Joshua Lock 2017-04-13 15:15:24 UTC
We have resolved the configuration mishap which resulted in this error on the autobuilder:

http://git.yoctoproject.org/clean/cgit.cgi/yocto-autobuilder/commit/?id=867b093d540fcd51d821adcdd8184668ab23b40e

GDC autobuilders have been updated to match.

Richard has proposed a workaround for the SANITY_TESTED_DISTROS issue in bug #11292, therefore we can mark this issue resolved.
Comment 10 Jose Perez C 2017-04-27 12:49:38 UTC
Working correctly on 2.3 rc2  commit: 7a0e795373653886452a7a2992ced10080711c26