Skip to content

[Bug]: vfat assert in pipelines #121

Open
@makubacki

Description

@makubacki

Is there an existing issue for this?

  • I have searched existing issues

Current Behavior

The pipeline currently fails about 1 in 3 times with the following assert in QEMU:

InstallProtocolInterface: 964E5B22-6459-11D2-8E39-00A0C969723B 7A3CD450
OnFileSystemNotification: Entry...
OnFileSystemNotification: processing a potential log device on handle 7A408FC8
FSOpen: Created new directory entry 'UefiLogs'
FSOpen: Created new directory entry '.'
FSOpen: Created new directory entry '..'
FSOpen: Open '\UefiLogs' Success
**
ERROR:../../../block/vvfat.c:2432:commit_direntries: assertion failed: (mapping)
Bail out! ERROR:../../../block/vvfat.c:2432:commit_direntries: assertion failed: (mapping)
Build/Test/Qemu/X64/bin/qemu-system-x86_64
['Build/Test/Qemu/X64/bin/qemu-system-x86_64', '-cpu', 'qemu64,+rdrand,umip,+smep,+popcnt,+sse4.2,+sse4.1', '-global', 'ICH9-LPC.disable_s3=1', '-machine', 'q35,smm=on,accel=tcg', '-debugcon', 'stdio', '-global', 'isa-debugcon.iobase=0x402', '-vga', 'cirrus', '-global', 'driver=cfi.pflash01,property=secure,value=on', '-drive', 'if=pflash,format=raw,unit=0,file=Build/test/Firmware/x64/QemuQ35/VisualStudio-x64/QEMUQ35_CODE.fd,readonly=on', '-drive', 'if=pflash,format=raw,unit=1,file=Build/test/Firmware/x64/QemuQ35/VisualStudio-x64/QEMUQ35_VARS.fd', '-name', 'MU-X64', '-m', '4096', '-smp', '2', '-drive', 'file=fat:rw:Build\\Test\\VirtualDrive.vhd,format=raw,media=disk']
Traceback (most recent call last):
  File "D:\a\1\s\.azuredevops\scripts\MuEMU.py", line 314, in <module>
    main()
  File "D:\a\1\s\.azuredevops\scripts\MuEMU.py", line 143, in main
    result = report_results("Build/Test/Results")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\a\1\s\.azuredevops\scripts\MuEMU.py", line 294, in report_results
    shutil.copy(result_path, result_output_dir)
  File "C:\hostedtoolcache\windows\Python\3.12.8\x64\Lib\shutil.py", line 435, in copy
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "C:\hostedtoolcache\windows\Python\3.12.8\x64\Lib\shutil.py", line 260, in copyfile
    with open(src, 'rb') as fsrc:
         ^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'Build\\Test\\VirtualDrive.vhd\\BaseCryptLibUnitTestApp_JUNIT_RESULT.XML'

Expected Behavior

The pipeline consistently passes unless there is an issue in the crypto code under test.

Steps To Reproduce

  1. Run the Mu_Crypto_Release Crypto Functionality Test pipeline about 4 times. A failure is statistically likely to occur in one of the 4 runs.

Build Environment

- OS(s):
  Microsoft Windows Server 2022
  10.0.20348
  Datacenter

- Tool Chain(s): VS2022
- Targets Impacted: N/A

Version Information

Commit: Latest (409d8e21ce7c4fa559e3042e46a1535322c56803)

Urgency

Medium

Are you going to fix this?

Someone else needs to fix it

Do you need maintainer feedback?

Maintainer feedback requested

Anything else?

Current suggestions:

  • Pipelines are presently using QEMU v9.0.0. QEMU v9.2.0 is now available. That could be tried to observe the failure rate.
  • Determine if a Linux host versus Windows host would prevent/reduce the problem.
  • Debug the issue in more detail and submit a fix to QEMU.

Metadata

Metadata

Assignees

Labels

state:needs-maintainer-feedbackNeeds more information from a maintainer to determine next stepsstate:needs-triageNeeds to triaged to determine next stepstype:bugSomething isn't workingurgency:mediumImportant with a moderate impact

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions