public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Basetools fail without error message due to PCD type differs in architecture.
@ 2020-04-06  2:55 Lin, Derek (HPS SW)
  2020-04-07 21:48 ` [EXTERNAL] [edk2-devel] " Bret Barkelew
  0 siblings, 1 reply; 4+ messages in thread
From: Lin, Derek (HPS SW) @ 2020-04-06  2:55 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 420 bytes --]

We've found a Basetool issue.
When a PCD is FixAtBuild at IA32 and Dynamic is at X64, there is no error message in this situation and it's very difficult to find the root cause.

Here's example to see the issue:
https://github.com/howdou/edk2/commit/333c5f33adc652308355ec100f7f385d552392fa

I think it is not allowed to have FixAtBuild at IA32 and Dynamic at X64. BaseTool should have an error message for this.

[-- Attachment #2: Type: text/html, Size: 543 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [EXTERNAL] [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.
  2020-04-06  2:55 Basetools fail without error message due to PCD type differs in architecture Lin, Derek (HPS SW)
@ 2020-04-07 21:48 ` Bret Barkelew
  2020-04-08  2:40   ` Lin, Derek (HPS SW)
  0 siblings, 1 reply; 4+ messages in thread
From: Bret Barkelew @ 2020-04-07 21:48 UTC (permalink / raw)
  To: devel@edk2.groups.io, derek.lin2@hpe.com


[-- Attachment #1.1: Type: text/plain, Size: 1302 bytes --]

This seems like a legitimate configuration. I don’t know that it should be considered an error. A warning, maybe.

This is also what the build report is perfect for finding. Did you check the PCD build report when debugging?

- Bret

From: Lin, Derek (HPS SW) via groups.io<mailto:derek.lin2=hpe.com@groups.io>
Sent: Sunday, April 5, 2020 7:55 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Subject: [EXTERNAL] [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.

We've found a Basetool issue.
When a PCD is FixAtBuild at IA32 and Dynamic is at X64, there is no error message in this situation and it's very difficult to find the root cause.

Here's example to see the issue:
https://github.com/howdou/edk2/commit/333c5f33adc652308355ec100f7f385d552392fa<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhowdou%2Fedk2%2Fcommit%2F333c5f33adc652308355ec100f7f385d552392fa&data=02%7C01%7Cbret.barkelew%40microsoft.com%7Cffb03103e6ea44f2983d08d7d9d5f14d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637217385209311719&sdata=NARbUbs0zdooQRcLakblGydppgYFoxm1BBNhm4Ap4Ek%3D&reserved=0>

I think it is not allowed to have FixAtBuild at IA32 and Dynamic at X64. BaseTool should have an error message for this.



[-- Attachment #1.2: Type: text/html, Size: 3434 bytes --]

[-- Attachment #2: CAF964A0152545AF8C2BF291DCCC1423.png --]
[-- Type: image/png, Size: 140 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.
  2020-04-07 21:48 ` [EXTERNAL] [edk2-devel] " Bret Barkelew
@ 2020-04-08  2:40   ` Lin, Derek (HPS SW)
  2020-04-08  4:11     ` Bret Barkelew
  0 siblings, 1 reply; 4+ messages in thread
From: Lin, Derek (HPS SW) @ 2020-04-08  2:40 UTC (permalink / raw)
  To: devel@edk2.groups.io, bret.barkelew@microsoft.com

[-- Attachment #1: Type: text/plain, Size: 2360 bytes --]

Hi Bret,

Thanks for your feedback. I'm very sorry that I didn't describe it clearly.

The Basetools just "crash" in the configuration. The Basetools crash without any information, then build stops.
I've looked into the BaseTools code, the python code crash, during the generation of PCD database for IA32.


I'm not sure if the PCD spec allows different PCD type in different architectures.
If the spec allows it, the build needs to be fixed and make sure it works. I remember the dynamic PCD database carry from PEI to DXE. And I don't think that work if PEI is FixedAtBuild while DXE is Dyanamic.

In my opinion, this configuration should come to a build failure. And define the error in PCD spec.

Thanks,
Derek

From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Bret Barkelew via groups.io
Sent: Wednesday, April 8, 2020 5:48 AM
To: devel@edk2.groups.io; Lin, Derek (HPS SW) <derek.lin2@hpe.com>
Subject: Re: [EXTERNAL] [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.

This seems like a legitimate configuration. I don't know that it should be considered an error. A warning, maybe.

This is also what the build report is perfect for finding. Did you check the PCD build report when debugging?

- Bret

From: Lin, Derek (HPS SW) via groups.io<mailto:derek.lin2=hpe.com@groups.io>
Sent: Sunday, April 5, 2020 7:55 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Subject: [EXTERNAL] [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.

We've found a Basetool issue.
When a PCD is FixAtBuild at IA32 and Dynamic is at X64, there is no error message in this situation and it's very difficult to find the root cause.

Here's example to see the issue:
https://github.com/howdou/edk2/commit/333c5f33adc652308355ec100f7f385d552392fa<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhowdou%2Fedk2%2Fcommit%2F333c5f33adc652308355ec100f7f385d552392fa&data=02%7C01%7Cbret.barkelew%40microsoft.com%7Cffb03103e6ea44f2983d08d7d9d5f14d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637217385209311719&sdata=NARbUbs0zdooQRcLakblGydppgYFoxm1BBNhm4Ap4Ek%3D&reserved=0>

I think it is not allowed to have FixAtBuild at IA32 and Dynamic at X64. BaseTool should have an error message for this.



[-- Attachment #2: Type: text/html, Size: 6604 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.
  2020-04-08  2:40   ` Lin, Derek (HPS SW)
@ 2020-04-08  4:11     ` Bret Barkelew
  0 siblings, 0 replies; 4+ messages in thread
From: Bret Barkelew @ 2020-04-08  4:11 UTC (permalink / raw)
  To: Lin, Derek (HPS SW), devel@edk2.groups.io


[-- Attachment #1.1: Type: text/plain, Size: 3348 bytes --]

AH! Okay. I would agree that a build crash without an actionable error is something we want to fix.

- Bret

From: Lin, Derek (HPS SW)<mailto:derek.lin2@hpe.com>
Sent: Tuesday, April 7, 2020 7:40 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com>
Subject: RE: [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.

Hi Bret,

Thanks for your feedback. I’m very sorry that I didn’t describe it clearly.

The Basetools just “crash” in the configuration. The Basetools crash without any information, then build stops.
I’ve looked into the BaseTools code, the python code crash, during the generation of PCD database for IA32.


I’m not sure if the PCD spec allows different PCD type in different architectures.
If the spec allows it, the build needs to be fixed and make sure it works. I remember the dynamic PCD database carry from PEI to DXE. And I don’t think that work if PEI is FixedAtBuild while DXE is Dyanamic.

In my opinion, this configuration should come to a build failure. And define the error in PCD spec.

Thanks,
Derek

From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Bret Barkelew via groups.io
Sent: Wednesday, April 8, 2020 5:48 AM
To: devel@edk2.groups.io; Lin, Derek (HPS SW) <derek.lin2@hpe.com>
Subject: Re: [EXTERNAL] [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.

This seems like a legitimate configuration. I don’t know that it should be considered an error. A warning, maybe.

This is also what the build report is perfect for finding. Did you check the PCD build report when debugging?

- Bret

From: Lin, Derek (HPS SW) via groups.io<mailto:derek.lin2=hpe.com@groups.io>
Sent: Sunday, April 5, 2020 7:55 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Subject: [EXTERNAL] [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.

We've found a Basetool issue.
When a PCD is FixAtBuild at IA32 and Dynamic is at X64, there is no error message in this situation and it's very difficult to find the root cause.

Here's example to see the issue:
https://github.com/howdou/edk2/commit/333c5f33adc652308355ec100f7f385d552392fa<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.proofpoint.com%2Fv2%2Furl%3Fu%3Dhttps-3A__nam06.safelinks.protection.outlook.com_-3Furl-3Dhttps-253A-252F-252Fgithub.com-252Fhowdou-252Fedk2-252Fcommit-252F333c5f33adc652308355ec100f7f385d552392fa-26data-3D02-257C01-257Cbret.barkelew-2540microsoft.com-257Cffb03103e6ea44f2983d08d7d9d5f14d-257C72f988bf86f141af91ab2d7cd011db47-257C1-257C0-257C637217385209311719-26sdata-3DNARbUbs0zdooQRcLakblGydppgYFoxm1BBNhm4Ap4Ek-253D-26reserved-3D0%26d%3DDwMF-g%26c%3DC5b8zRQO1miGmBeVZ2LFWg%26r%3DJDRA6paRbJNUOHYumR0x1cbR-rntAJgCrG0B8Mn4tPQ%26m%3DPvJ44EXz_3NU_vi4-hYf3S1xX6CpQxua65zwio_7MPE%26s%3DpY_1X7pyuTXznSH7ueWr_UcwaRD72_ezfbblCoh3vzQ%26e%3D&data=02%7C01%7Cbret.barkelew%40microsoft.com%7Cdd228178329d45b6820708d7db66437f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637219104584833006&sdata=2Jmqn4xh1CAA6TAxhFhq1lpseMaiDn%2BftzFuGIhtQlQ%3D&reserved=0>

I think it is not allowed to have FixAtBuild at IA32 and Dynamic at X64. BaseTool should have an error message for this.




[-- Attachment #1.2: Type: text/html, Size: 7387 bytes --]

[-- Attachment #2: ED2113367E40488891C9418E77E74F95.png --]
[-- Type: image/png, Size: 156 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-04-08  4:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-06  2:55 Basetools fail without error message due to PCD type differs in architecture Lin, Derek (HPS SW)
2020-04-07 21:48 ` [EXTERNAL] [edk2-devel] " Bret Barkelew
2020-04-08  2:40   ` Lin, Derek (HPS SW)
2020-04-08  4:11     ` Bret Barkelew

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox