Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QemuVideoDxe SCT inconsistent test failures and logging issue (Bugzilla Bug 3601) #227

Open
tianocore-issues opened this issue Sep 1, 2021 · 13 comments

Comments

@tianocore-issues
Copy link

This issue was created automatically with bugzilla2github

Bugzilla Bug 3601

Date: 2021-09-01T11:47:35+00:00
From: Shashi Mallela <<shashi.mallela>>
To: Edhay <<edhaya.chandran>>
CC: edhaya.chandran, shashi.mallela, Sunny.Wang

Last updated: 2022-11-07T10:13:50+00:00

@tianocore-issues
Copy link
Author

Comment 17123

Date: 2021-09-01 11:47:35 +0000
From: Shashi Mallela <<shashi.mallela>>

  • Industry Specification: ---
  • Release Observed: EDK II Master
  • Releases to Fix: EDK II Master
  • Target OS: ---
  • Bugzilla Assignee(s): Edhay <<edhaya.chandran>>

In SBSA SCT tests,the main UEFI failures (120 instances) are around the EFI_GRAPHICS_OUTPUT_PROTOCOL QueryMode() and SetMode().

There are 2 issues seen as below:-

  1. On testing with the RELEASE version of edk2 images and analyzing the logs(as seen in the Release section of the attached log file), it is seen that the errors are around "compare Info structure" (in GraphicsOutputBBTestConformance.c and GraphicsOutputBBTestFunction.c files of edk-test) which compares the queried Info structure with the Info structure within the current instance of EFI_GRAPHICS_OUTPUT_PROTOCOL. Both these files have code to print out the Info structures(mentioned above) after SetMode() followed by QueryMode(),but the output only shows all information in the queried Info structure.The same Info structure information from the current instance of EFI_GRAPHICS_OUTPUT_PROTOCOL is not printed.

To confirm QemuVideoDxe GOP implementation handling the full ABI definition as per UEFI spec,i added debug logs in the Gop.c file and confirmed that all members of the Info structure are being implemented in both QueryMode() and SetMode()(Please refer to the prints labelled "QueryMode Result.." and "Reference Info..." in the attached SCT logfile under debug section.Since the returned query Info is seen in the logs,the issue is with printing the Info structure from current instance of EFI_GRAPHICS_OUTPUT_PROTOCOL(lines 158 in GraphicsOutputBBTestFunction.c and lines 526 in GraphicsOutputBBTestConformance.c)

  1. While arriving at the debug logs (indicated in 1 above),an interesting observation was that with DEBUG version of edk2 images,all test cases around "compare Info structure"(which failed in the RELEASE version) PASSED (can be seen in the attached logfile under debug section). The print Info issue stayed even with debug logs.However,a newer series of errors showed up,this time around "compare FrameBufferSize"(in GraphicsOutputBBTestFunction.c). But these FrameBufferSize errors are within the scope of QemuVideoDxe and can be handled by edk2 separately,so we can ignore these errors in the scope of sct tests for now.

Please provide your comments on the errors discrepancy seen between RELEASE & DEBUG images and also the print issue in GraphicsOutputBBTestFunction.c & GraphicsOutputBBTestConformance.c.

@tianocore-issues
Copy link
Author

Comment 17124

Date: 2021-09-01 11:59:16 +0000
From: Shashi Mallela <<shashi.mallela>>

Created attachment 821
SCT Logs with edk2 RELEASE & DEBUG images

Attachment: BZ-821-SCT_Release_and_Debug.log

@tianocore-issues
Copy link
Author

Comment 17137

Date: 2021-09-02 10:23:27 +0000
From: Edhay <<edhaya.chandran>>

@shashi,

Please provide an indication of the bug in edk2-test.

@tianocore-issues
Copy link
Author

Comment 17144

Date: 2021-09-02 10:40:07 +0000
From: Shashi Mallela <<shashi.mallela>>

The files GraphicsOutputBBTestConformance.c and GraphicsOutputBBTestFunction.c(as indicated in the description and attached log) in edk2-test are the sources of this bug.

@tianocore-issues
Copy link
Author

Comment 17892

Date: 2021-12-02 01:43:16 +0000
From: Edhay <<edhaya.chandran>>

Hi Shashi,

  1. Regarding the printing of current instance of EFI_GRAPHICS_OUTPUT_PROTOCOL, it is agreed that there is an issue. We suspect this is to do with the print buffer. We are checking the same.

  2. Regarding the issue of discrepancy of results themselves.
    Release version : Fail. Debug version: Pass
    Could you please update how you acquired these release and debug versions?
    From the prints in the logs, it points that you are using the same ACS image.

@tianocore-issues
Copy link
Author

Comment 17902

Date: 2021-12-02 09:46:01 +0000
From: Edhay <<edhaya.chandran>>

Check for '\n' in other assert prints.

@tianocore-issues
Copy link
Author

Comment 18130

Date: 2022-01-13 09:16:58 +0000
From: Edhay <<edhaya.chandran>>

Mail Shashi Mallela directly.

@tianocore-issues
Copy link
Author

Comment 19019

Date: 2022-06-02 07:49:45 +0000
From: Edhay <<edhaya.chandran>>

Sent a mail to Shashi regarding our comments/queries.

@tianocore-issues
Copy link
Author

Comment 19020

Date: 2022-06-02 09:43:19 +0000
From: Shashi Mallela <<shashi.mallela>>

(In reply to Edhay from comment #4)
> Hi Shashi,
>
> 1. Regarding the printing of current instance of
> EFI_GRAPHICS_OUTPUT_PROTOCOL, it is agreed that there is an issue. We
> suspect this is to do with the print buffer. We are checking the same.
>
> 2. Regarding the issue of discrepancy of results themselves.
> Release version : Fail. Debug version: Pass
> Could you please update how you acquired these release and debug versions?
> From the prints in the logs, it points that you are using the same ACS image.

Hi Edhay,

I generated the RELEASE and DEBUG versions separately by building edk2 firmware with "-b RELEASE" and "-b DEBUG" options

@tianocore-issues
Copy link
Author

Comment 19025

Date: 2022-06-02 11:12:01 +0000
From: Edhay <<edhaya.chandran>>

Hi Shashi,

Could you further update on the steps to reproduce the same?
Is the test system used QEMU? If yes, which architecture was used?

@tianocore-issues
Copy link
Author

Comment 19030

Date: 2022-06-02 13:45:24 +0000
From: Shashi Mallela <<shashi.mallela>>

Yes, the testing used qemu and platform was sbsa-ref(qemu).
The edk2 firmware was generated for (aarch64)sbsa platform too.

@tianocore-issues
Copy link
Author

Comment 19241

Date: 2022-07-14 10:35:11 +0000
From: Sunny Wang <<Sunny.Wang>>

For the inconsistent test failure issue, the patches were sent out by Dimitrije Pavlov <[email protected]>.
It can be fixed by either of the following patches.

For the logging issue, we still need someone to fix it and send out a patch.

@tianocore-issues
Copy link
Author

Comment 19959

Date: 2022-11-07 10:13:50 +0000
From: Edhay <<edhaya.chandran>>

The SCT part of the solution is
https://edk2.groups.io/g/devel/topic/92068027

upstreamed by the commmit-id:
4a25c3b

Keeping this ticket open until the edk2 solution is upstreamed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant