New issue
Advanced search Search tips

Issue 884947 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Nov 27
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 884613



Sign in to add a comment

chromeos-fonts: qemu fallback cpu selection insufficient for some x86 boards

Project Member Reported by vapier@chromium.org, Sep 18

Issue description

the chromeos-fonts ebuild has this logic:
            qemu=( qemu-x86_64 -cpu Broadwell )
            qemu=( qemu-i386 -cpu Broadwell )

this is used in case the x86 board we're building doesn't work with the cpu used to run cros_sdk.  assuming Broadwell is wrong on many levels, but specifically it doesn't support newer CPUs that we're trying to enable leading to failures:

  warning: TCG doesn't support requested feature: CPUID.01H:EDX.vme [bit 1]
  warning: TCG doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
  warning: TCG doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
  warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
  warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
  warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
  warning: TCG doesn't support requested feature: CPUID.01H:ECX.f16c [bit 29]
  warning: TCG doesn't support requested feature: CPUID.01H:ECX.rdrand [bit 30]
  warning: TCG doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
  warning: TCG doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
  warning: TCG doesn't support requested feature: CPUID.07H:EBX.erms [bit 9]
  warning: TCG doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]
  warning: TCG doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
  warning: TCG doesn't support requested feature: CPUID.07H:EBX.rdseed [bit 18]
  warning: TCG doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8]
  qemu: uncaught target signal 4 (Illegal instruction) - core dumped
 
Blocking: 884613
Mike, does fixing this need a qemu upgrade? Current qemu is 2.6 and may not support new features in skylake+ cpus.
it might necessitate an upgrade :/
 Issue 890395  has been merged into this issue.
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/portage-stable/+/56d4bcbced2edca8ce120a9a4ad51f7a876f746a

commit 56d4bcbced2edca8ce120a9a4ad51f7a876f746a
Author: Chris McDonald <cjmcdonald@chromium.org>
Date: Fri Oct 05 22:43:29 2018

edk2-ovmf, seabios: upgraded packages to upstream

Upgraded sys-firmware/edk2-ovmf to version 2017_p20180211 on amd64
Upgraded sys-firmware/seabios to version 1.11.0 on amd64

BUG= 884947 
TEST="emerge edk2-ovmf", "emerge seabios"

Change-Id: Ia34219dc7a2d53c0b3083ffd506b6dd9be9e0cb9
Reviewed-on: https://chromium-review.googlesource.com/1246989
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Chris McDonald <cjmcdonald@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/sys-firmware/edk2-ovmf/metadata.xml
[add] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/sys-firmware/seabios/files/seabios/config.seabios-256k
[rename] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/sys-firmware/seabios/seabios-1.11.0.ebuild
[delete] https://crrev.com/69210e695791947286bd558a4bae94f49081bae3/metadata/md5-cache/sys-firmware/seabios-1.8.2
[modify] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/sys-firmware/seabios/Manifest
[add] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/sys-firmware/seabios/files/seabios/config.seabios-128k
[add] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/sys-firmware/edk2-ovmf/Manifest
[add] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/sys-firmware/edk2-ovmf/edk2-ovmf-2017_p20180211.ebuild
[add] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/sys-firmware/seabios/files/seabios/README
[delete] https://crrev.com/69210e695791947286bd558a4bae94f49081bae3/sys-firmware/seabios/files/seabios-1.8.2-fstack-check.patch
[add] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/sys-firmware/edk2-ovmf/files/edk2-ovmf-2017_p20180211-build_system_fixes.patch
[add] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/metadata/md5-cache/sys-firmware/edk2-ovmf-2017_p20180211
[modify] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/sys-firmware/seabios/metadata.xml
[add] https://crrev.com/56d4bcbced2edca8ce120a9a4ad51f7a876f746a/metadata/md5-cache/sys-firmware/seabios-1.11.0

Owner: cjmcdonald@chromium.org
Status: Started (was: Available)
Project Member

Comment 7 by bugdroid1@chromium.org, Oct 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/b36fb4dbb28dbac4f4eb644a40274a73a2c0961f

commit b36fb4dbb28dbac4f4eb644a40274a73a2c0961f
Author: chrome-bot <chrome-bot@chromium.org>
Date: Wed Oct 17 21:23:18 2018

qemu: upgraded package to unstable upstream

Moved qemu back in to portage-stable and added necessary dependencies
to default/linux/package.use

BUG= 884947 ,  803281 ,  747613 
TEST="sudo emerge qemu", "emerge-grunt chromeos-fonts", buildbot VM tests succeed
CQ-DEPEND=CL:1249722

Change-Id: I8ffe8c8c5454f49720c9b8fe236ca26ecf64cd15
Reviewed-on: https://chromium-review.googlesource.com/1249603
Commit-Ready: Chris McDonald <cjmcdonald@chromium.org>
Tested-by: Drans Sulaiman <drans4775@gmail.com>
Tested-by: Chris McDonald <cjmcdonald@chromium.org>
Reviewed-by: Drans Sulaiman <drans4775@gmail.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/files/qemu-2.5.0-cflags.patch
[modify] https://crrev.com/b36fb4dbb28dbac4f4eb644a40274a73a2c0961f/profiles/default/linux/package.use
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/files/qemu-2.5.0-sysmacros.patch
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/files/qemu-2.6.0-slirp-send-queue-hangs.patch
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/metadata.xml
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/files/qemu-2.6.0-o_tmpfile.patch
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/qemu-2.6.0.ebuild
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/files/65-kvm.rules
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/files/qemu-2.6.0-ucontext.patch
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/files/bridge.conf
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/files/qemu-binfmt.initd-r1
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/files/qemu-2.6.0-memfd.patch
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/qemu-2.6.0-r4.ebuild
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/Manifest
[delete] https://crrev.com/b5f2b54349ff6529aaeb267e7302fee232436300/app-emulation/qemu/files/qemu-2.6.0-crypto-static.patch

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/portage-stable/+/3bbf6aabe6a632e2434d9736045023f33d91bd40

commit 3bbf6aabe6a632e2434d9736045023f33d91bd40
Author: Chris McDonald <cjmcdonald@chromium.org>
Date: Wed Oct 17 21:23:17 2018

qemu: upgraded package to unstable upstream

Upgraded app-emulation/qemu to version 3.0.0 on amd64

BUG= 884947 
TEST="emerge qemu"
CQ-DEPEND=CL:1249603

Change-Id: I69e2b87fffd605d949ad99484dd2e40b177e1bd3
Reviewed-on: https://chromium-review.googlesource.com/1249722
Commit-Ready: Chris McDonald <cjmcdonald@chromium.org>
Tested-by: Chris McDonald <cjmcdonald@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/3bbf6aabe6a632e2434d9736045023f33d91bd40/app-emulation/qemu/files/qemu-binfmt.initd.head
[add] https://crrev.com/3bbf6aabe6a632e2434d9736045023f33d91bd40/app-emulation/qemu/files/qemu-binfmt.initd.tail
[add] https://crrev.com/3bbf6aabe6a632e2434d9736045023f33d91bd40/app-emulation/qemu/metadata.xml
[add] https://crrev.com/3bbf6aabe6a632e2434d9736045023f33d91bd40/app-emulation/qemu/files/bridge.conf
[add] https://crrev.com/3bbf6aabe6a632e2434d9736045023f33d91bd40/app-emulation/qemu/files/65-kvm.rules-r1
[add] https://crrev.com/3bbf6aabe6a632e2434d9736045023f33d91bd40/app-emulation/qemu/qemu-3.0.0.ebuild
[add] https://crrev.com/3bbf6aabe6a632e2434d9736045023f33d91bd40/metadata/md5-cache/app-emulation/qemu-3.0.0
[add] https://crrev.com/3bbf6aabe6a632e2434d9736045023f33d91bd40/app-emulation/qemu/Manifest

This bug needs more than just a qemu upgrade to properly address all boards. Qemu is incapable of emulating AVX instructions currently so if the target's CFLAGS causes those to be generated and the host doesn't natively support AVX, we can't rely on emulation as a fallback.
Is there a workaround for this with local grunt builds?

I don't know of any workarounds, but the upgrade to fontconfig 2.13 just landed and I have a proper fix for this problem in the pipeline that was waiting on that.
Project Member

Comment 12 by bugdroid1@chromium.org, Nov 27

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/87ad1fc967481048fdcfd14bbec0943c71824d7d

commit 87ad1fc967481048fdcfd14bbec0943c71824d7d
Author: Chris McDonald <cjmcdonald@chromium.org>
Date: Tue Nov 27 08:33:58 2018

chromeos-fonts: Run host's fc-cache instead of target's on compatible architectures

BUG= chromium:884947 
TEST=1. Clear board build
2. emerge-${BOARD} chromeos-fonts (w/o CL)
3. backup ${BUILDROOT}/usr/share/cache/fontconfig
4. emerge-${BOARD} chromeos-fonts (with this CL)
5. backup directory and newly generated cache contain byte-identical files aside from UUID filenames and timestamps

Tested for BOARD=grunt, x86-generic

CQ-DEPEND=CL:1340839

Change-Id: I9b47f743700e8df73f884a64aaf7dadbb4e7d3e6
Reviewed-on: https://chromium-review.googlesource.com/1305887
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Chris McDonald <cjmcdonald@chromium.org>
Reviewed-by: Raul E Rangel <rrangel@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/87ad1fc967481048fdcfd14bbec0943c71824d7d/chromeos-base/chromeos-fonts/chromeos-fonts-0.0.1.ebuild
[rename] https://crrev.com/87ad1fc967481048fdcfd14bbec0943c71824d7d/chromeos-base/chromeos-fonts/chromeos-fonts-0.0.1-r32.ebuild

Status: Fixed (was: Started)
The above CL should clear up any issues we're seeing here. Does this resolve the problems you're seeing tbroch@?
Yes, could now successfully 'emerge-grunt chromeos-fonts'.  Thanks!
Status: Verified (was: Fixed)

Sign in to add a comment