| Summary: | ptest - perl tests fail for genericx86-64 on NUC | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [QA/Testing] Runtime Testing | Reporter: | Alexandru Georgescu <alexandru.c.georgescu> | ||||||
| Component: | general | Assignee: | Armin Kuster <akuster> | ||||||
| Status: | VERIFIED FIXED | QA Contact: | Lucian Musat <georgex.l.musat> | ||||||
| Severity: | normal | ||||||||
| Priority: | Medium+ | CC: | hongxu.jia, jpuhlman, maxin.john, randy.macleod, ross.burton | ||||||
| Version: | 1.9 | ||||||||
| Target Milestone: | 2.0 | ||||||||
| Hardware: | x86 | ||||||||
| OS: | Multiple | ||||||||
| Whiteboard: | |||||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||||
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |||||||
| Bug Depends on: | |||||||||
| Bug Blocks: | 9119 | ||||||||
| Attachments: |
|
||||||||
|
Description
Alexandru Georgescu
2015-09-22 06:36:45 UTC
Hongxu is the perl owner, possibly he should look into this. There is nothing obvious in the commits between the two listed. Question for AlexG and Lucian: Did this fail on any other hardware or qemu? It would be helpful to have full hardware information in each of those ptests wiki pages. The failures could be related to the gcc version used for building perl (gcc-5.2.0) as these failures doesn't occur while running ptest on image built with gcc-4.8 ie: build the image with GCCVERSION="4.8%" in local.conf Armin, would you or someone else at Montavista be able to look into this for 2.0? Created attachment 2805 [details] Difference between 5.20 and 5.22 errno.pm After running the ptest for perl, the errors that it was reporting appear to center around errno issues. Comparing the Errno.pm between 1.8 and 2.0 shows the Errno content is just not getting generated in 2.0. 5.22 should already have fixes for dealing with this, but it appears they may not be working in the cross compilation environment. https://rt.perl.org/Public/Bug/Display.html?id=123784 Still digging to figure out why, but here is a data point if anyone else is looking. Once I copied over the contents of 5.20 to 5.22 for Errno.pm, a cursory look at the test cases seems to fix a number of the failing cases.
The reason why the 5.22 fixes didn't deal with the problem is because the changes were keyed off the compiler used to build miniperl or in our case perl-native. It checks $Config{gccversion} which will report the value that the running perl was compiled against.
<snip ext/Errno/Errno_pm.PL>
my $inhibit_linemarkers = '';
if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
# GCC 5.0 interleaves expanded macros with line numbers breaking
# each line into multiple lines. RT#123784
$inhibit_linemarkers = ' -P';
}
<snip ext/Errno/Errno_pm.PL>
The command to create the file is here:
"../../../../../../../sysroots/x86_64-linux/usr/bin/perl-native/perl5.22.0.real" "-I../../lib" "-I../../lib" Errno_pm.PL Errno.pm
cat foo.pl
use Config;
print $Config{gccversion}
[perl-5.22.0]$ ../../../../../sysroots/x86_64-linux/usr/bin/perl-native/perl5.22.0.real foo.pl
4.4.7 20120313 (Red Hat 4.4.7-11)
Created attachment 2806 [details]
Very preliminary fix.
Here is a very preliminary fix that seems to solve the issue. Perl is not my language, but this seems to correct the empty Errno.pm. To this point I have only run this against the 5.2 compiler, but I have a 4.8 build running right now. Ill am also running a ptest run against the perl built with this patch, so far it is looking much better.
Jeremy, Can you submit this patch to the list and CC Jens Rehsack Patch submitted to the list. Fixed in oe-core c616e05691ec143066df8f416cc0b6b464fabd02. Ran again the perl ptest on commit 370a2916c4559c17952392b872322e8e490b124c. There were 2256 passed and 10 fails, as opposed to 1926 passed and 84 fails last runs. I am marking this as verified fixed. |