Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1863473

Summary: edk2: FTBFS in Fedora rawhide/f33
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: edk2Assignee: Paolo Bonzini <pbonzini>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: berrange, crobinso, kraxel, lersek, pbonzini, philmd, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-08-05 00:25:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1803234    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Fedora Release Engineering 2020-08-03 16:39:48 UTC
edk2 failed to build from source in Fedora rawhide/f33

https://koji.fedoraproject.org/koji/taskinfo?taskID=47943460


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Please fix edk2 at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
edk2 will be orphaned. Before branching of Fedora 34,
edk2 will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://fedoraproject.org/wiki/Fails_to_build_from_source

Comment 1 Fedora Release Engineering 2020-08-03 16:39:51 UTC
Created attachment 1704027 [details]
build.log

Comment 2 Fedora Release Engineering 2020-08-03 16:39:52 UTC
Created attachment 1704028 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2020-08-03 16:39:54 UTC
Created attachment 1704029 [details]
state.log

Comment 4 Daniel Berrangé 2020-08-03 16:42:22 UTC
root.log says

DEBUG util.py:621:  Error: 
DEBUG util.py:621:   Problem: package qemu-system-x86-2:5.0.0-2.fc33.i686 requires qemu-system-x86-core = 2:5.0.0-2.fc33, but none of the providers can be installed
DEBUG util.py:621:    - conflicting requests
DEBUG util.py:621:    - nothing provides libxenctrl.so.4.13 needed by qemu-system-x86-core-2:5.0.0-2.fc33.i686
DEBUG util.py:621:    - nothing provides libxenguest.so.4.13 needed by qemu-system-x86-core-2:5.0.0-2.fc33.i686


QEMU is fixed so should just require a new build to be triggered.

Comment 5 Daniel Berrangé 2020-08-03 17:01:46 UTC
A rebuild no longer hits the QEMU problem.

Instad we now have EDK build and test failures

https://kojipkgs.fedoraproject.org//work/tasks/8104/48528104/build.log

One example

======================================================================
FAIL: testUtf16InUniFile (CheckUnicodeSourceFiles.Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Source/Python/AutoGen/UniClassObject.py", line 375, in PreProcess
    FileIn = UniFileClassObject.OpenUniFile(LongFilePath(File.Path))
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Source/Python/AutoGen/UniClassObject.py", line 303, in OpenUniFile
    UniFileClassObject.VerifyUcs2Data(FileIn, FileName, Encoding)
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Source/Python/AutoGen/UniClassObject.py", line 312, in VerifyUcs2Data
    Ucs2Info = codecs.lookup('ucs-2')
LookupError: unknown encoding: ucs-2
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Tests/CheckUnicodeSourceFiles.py", line 60, in CheckFile
    BtUni.UniFileClassObject([path])
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Source/Python/AutoGen/UniClassObject.py", line 230, in __init__
    self.LoadUniFiles(FileList)
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Source/Python/AutoGen/UniClassObject.py", line 542, in LoadUniFiles
    self.LoadUniFile(File)
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Source/Python/AutoGen/UniClassObject.py", line 456, in LoadUniFile
    Lines = self.PreProcess(File)
Common.BuildToolError.FatalError: 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Tests/CheckUnicodeSourceFiles.py", line 79, in testUtf16InUniFile
    self.CheckFile('utf_16', shouldPass=True)
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Tests/CheckUnicodeSourceFiles.py", line 72, in CheckFile
    self.EdkErrorFailure(encoding, shouldPass)
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Tests/CheckUnicodeSourceFiles.py", line 55, in EdkErrorFailure
    self.ErrorFailure('EdkLogger.FatalError', encoding, shouldPass)
  File "/builddir/build/BUILD/edk2-edk2-stable202002/BaseTools/Tests/CheckUnicodeSourceFiles.py", line 49, in ErrorFailure
    self.fail(msg)
AssertionError: EdkLogger.FatalError should not be generated for utf_16 data in a .uni file

Comment 6 Cole Robinson 2020-08-03 17:14:25 UTC
The ucs-2 failures are not new. I hit them a few weeks ago but never followed up reporting them

laszlo, philmd, have you see the ucs-2 edk2 test suite failure danpb mentions above?

Comment 7 Daniel Berrangé 2020-08-03 17:23:24 UTC
I guess this might be some incompatibility with Python 3.9.0, vs previous 3.8.3

Comment 8 Philippe Mathieu-Daudé 2020-08-03 17:56:53 UTC
(In reply to Cole Robinson from comment #6)
> The ucs-2 failures are not new. I hit them a few weeks ago but never
> followed up reporting them
> 
> laszlo, philmd, have you see the ucs-2 edk2 test suite failure danpb
> mentions above?

No I haven't. Probably worth reporting upstream.

Comment 9 Cole Robinson 2020-08-05 00:25:15 UTC
Fixed in rawhide now. Also I sent python3.9 build fixes to upstream edk2 but PR is getting autoclosed, not sure what that's about: https://github.com/tianocore/edk2/pull/854

Comment 10 Laszlo Ersek 2020-08-06 00:00:34 UTC
Hi Cole,

please send the patches to <devel.io>, and Cc: the BaseTools maintainers:
- Bob Feng <bob.c.feng>
- Liming Gao <liming.gao>

The edk2 project uses github.com Pull Requests only for CI, for now. Contributors are encouraged (but not required) to open PRs, which count as "personal builds". If there's a CI failure, the contributor gets a report; if the CI run passes, the mergify bot auto-closes the personal build. For maintainers, the github.com PRs are required -- that's how patches get merged. Maintainers can set the "push" label on PRs, and when the CI run passes, the mergify bot actually merges the series. For now, patch review remains on the list (and the list address du jour is <devel.io>, after multiple list migrations over the past years). You are not required to subscribe (at <https://edk2.groups.io/g/devel/>) before posting, but non-subscribers' messages have to be individually approved my moderators, which slows down posting.

Thanks,
Laszlo