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

chromiumBeta and chromiumDev are broken on master, chromiumBeta broken on 20.03 #89615

Closed
flokli opened this issue Jun 6, 2020 · 3 comments
Closed
Assignees

Comments

@flokli
Copy link
Contributor

flokli commented Jun 6, 2020

chromiumBeta has a broken hash (did upstream replace sources, or did we fail to update hashes while bumping?):

building '/nix/store/qpvspc2g5lkhkcxgn89nzk6h72m29zh4-chromium-84.0.4147.38.tar.xz.drv'...

trying https://commondatastorage.googleapis.com/chromium-browser-official/chromium-84.0.4147.38.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  805M  100  805M    0     0  2447k      0  0:05:37  0:05:37 --:--:-- 3617k
hash mismatch in fixed-output derivation '/nix/store/134dgi84yakr1sff3pk3xgfzpbd3qn9y-chromium-84.0.4147.38.tar.xz':
  wanted: sha256:1zy5174admqhb9phpnjb6a20llxbvzfh16cdgj8gh1xk1qjbdlhl
  got:    sha256:1di0fhhv6lljc2b50i0i8qx5y5xswgxz1bimpda790sb3b1xsdzx
cannot build derivation '/nix/store/4nxx71af812mc8nizzrrbldvzdhfh84j-chromium-unwrapped-84.0.4147.38.drv': 1 dependencies couldn't be built

chromiumDev fails to build, as yasm_assemble.gni isn't found in the sources (did we bump without checking it built)?

./ios/build/bots/scripts/run_test.py: interpreter directive changed from "/usr/bin/python" to "/nix/store/bb3qs85kiq78rb6q2sdivannsch14b0f-python-2.7.18/bin/python"
./ios/chrome/test/wpt/tools/run_cwt_chromedriver.py: interpreter directive changed from "/usr/bin/python" to "/nix/store/bb3qs85kiq78rb6q2sdivannsch14b0f-python-2.7.18/bin/python"
configuring
Traceback (most recent call last):
  File "build/linux/unbundle/replace_gn_files.py", line 84, in <module>
    sys.exit(DoMain(sys.argv[1:]))
  File "build/linux/unbundle/replace_gn_files.py", line 68, in DoMain
    os.path.join(source_tree_root, path + '.orig'))
  File "/nix/store/bb3qs85kiq78rb6q2sdivannsch14b0f-python-2.7.18/lib/python2.7/shutil.py", line 96, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: '/build/chromium-85.0.4158.4/third_party/yasm/yasm_assemble.gni'
builder for '/nix/store/vx10ksckjlkami4xzawfnh68i06k4iw8-chromium-unwrapped-85.0.4158.4.drv' failed with exit code 1

I get the same has mismatch for chromiumBeta on release-20.03, btw:

building '/nix/store/qpvspc2g5lkhkcxgn89nzk6h72m29zh4-chromium-84.0.4147.38.tar.xz.drv'...

trying https://commondatastorage.googleapis.com/chromium-browser-official/chromium-84.0.4147.38.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  805M  100  805M    0     0  3895k      0  0:03:31  0:03:31 --:--:-- 3641k
hash mismatch in fixed-output derivation '/nix/store/134dgi84yakr1sff3pk3xgfzpbd3qn9y-chromium-84.0.4147.38.tar.xz':
  wanted: sha256:1zy5174admqhb9phpnjb6a20llxbvzfh16cdgj8gh1xk1qjbdlhl
  got:    sha256:1di0fhhv6lljc2b50i0i8qx5y5xswgxz1bimpda790sb3b1xsdzx
cannot build derivation '/nix/store/gsdw46wi5axzdn3rpqnpxxzg02mk85l9-chromium-unwrapped-84.0.4147.38.drv': 1 dependencies couldn't be built

chromiumDev seems to build on release-20.03, at least it doesn't fail with the same error as on master, and is already running for some minutes ;-)

@flokli flokli changed the title chromiumBeta and chromiumDev are broken on master chromiumBeta and chromiumDev are broken on master, chromiumBeta broken on 20.03 Jun 6, 2020
@primeos
Copy link
Member

primeos commented Jun 6, 2020

chromiumBeta has a broken hash (did upstream replace sources, or did we fail to update hashes while bumping?):

Strange, that shouldn't happen as the hashes are automatically generated by pkgs/applications/networking/browsers/chromium/update.sh. The only known issue is that sometimes the tarball is not yet uploaded when we run the script in which case the hash won't get updated (but this wasn't the case as the hash did get updated in 9ec139b). So I guess upstream must have changed the sources...

chromiumDev fails to build, as yasm_assemble.gni isn't found in the sources (did we bump without checking it built)?

Yes, we always bump both chromiumBeta and chromiumDev without checking if they still build (due to lack of resources and to not delay stable security updates - both are not build by Hydra anyway). We use them to fix build errors before they propagate to the stable channel and usually chromiumBeta should always build (but there are sometimes bigger changes in the beta channel that break a working build). As for chromiumDev: Since the last commit updated the dev channel from M84 to M85 this is not surprising. I already started a build yesterday to check what happens.

primeos added a commit that referenced this issue Jun 6, 2020
For some reason the hash from 9ec139b became invalid, see #89615.
The update script does now produce the correct hash.
primeos added a commit to primeos/nixpkgs that referenced this issue Jun 6, 2020
For some reason the hash from 9ec139b became invalid, see NixOS#89615.
The update script does now produce the correct hash.

(cherry picked from commit 19e939d)
@flokli
Copy link
Contributor Author

flokli commented Jun 6, 2020

I tried to understand pkgs/applications/networking/browsers/chromium/update.nix to see what URL is pointing to sha256bin64, but failed. I opened #89635, but for now I can't fix that hash to unbreak chromiumBeta.

@primeos
Copy link
Member

primeos commented Jun 6, 2020

@flokli (also regarding 19e939d#commitcomment-39713551): AFAIK sha256bin64 isn't even required anymore. Anyway, I reverted the last update (required so that the script recomputes the sha256 hash) and re-run update.sh and it did generate the same sha256bin64 hash as before.

I quickly tried to locate the sha256bin64 source (I thought this was from the CSV file, but apparently not - seems like it's coming from the Debian mirror?) but I didn't find it anymore.

IIRC there are also a few Nixpkgs issues regarding sha256bin64.

Edit: It's the hash of the content of the URL produced by getDebURL, e.g.:
https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_83.0.4103.97-1_amd64.deb
Edit2: Oh, and of course it's still needed then (google-chrome source hash), but I though some issue mentioned that we don't need it anymore?

primeos added a commit that referenced this issue Jun 6, 2020
Relevant changes in M85:
- Upstream switched from YASM to NASM [0].
- third_party/binutils was removed [1].

Note: The gn and dev channel updates are optional.
cc #89615.

[0]: https://bugs.chromium.org/p/chromium/issues/detail?id=766721
[1]: chromium/chromium@9869e86
primeos added a commit that referenced this issue Jun 10, 2020
Relevant changes in M85:
- Upstream switched from YASM to NASM [0].
- third_party/binutils was removed [1].

Note: The gn and dev channel updates are optional.
cc #89615.

[0]: https://bugs.chromium.org/p/chromium/issues/detail?id=766721
[1]: chromium/chromium@9869e86

(cherry picked from commit 029a5de)
primeos added a commit that referenced this issue Jun 10, 2020
Fix #89615.

(cherry picked from commit e466ea7)
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

2 participants