New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 591480 link

Starred by 33 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Regression



Sign in to add a comment

On amd64, "apt-get update" issues bogus complaint about lack of i386 architecture

Reported by markus@chromium.org, Mar 2 2016

Issue description

Version: 49.0.2623.75-1
OS: Ubuntu 14.04.4 (trusty tahr)

What steps will reproduce the problem?
1. "apt-get update" as root
2. Notice error:

W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release  Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)

E: Some index files failed to download. They have been ignored, or old ones used instead.

3. Manually fix the problem (see below)
4. Run "apt-get update && apt-get dist-upgrade".
5. Notice that step #4 installed a new version of Chrome and in the process broke "apt-get update" again!


What is the expected output? What do you see instead?

I believe this is a result of Google Chrome discontinuing support for official i386 packages. Unfortunately, Debian-based systems running amd64 by default expect to find both i386 and amd64 architectures in all of repositories that are listed in "/etc/apt/sources.d/".

If the repository isn't fixed, it is instead possible to fix this problem locally by forcing the repository to only refer to a single architecture:

  sed -i 's,^\(deb \)\(http://dl.google.com/linux/chrome/deb\),\1[arch=amd64] \2,' /etc/apt/sources.list.d/*

Unfortunately, the next time a new Chrome binary gets installed, the fixed file is overwritten with a broken one.


Please use labels and text to provide additional information.

 

Comment 1 by mmoss@chromium.org, Mar 2 2016

Cc: thestig@chromium.org
Owner: mmoss@chromium.org
Status: Started (was: Untriaged)
The last 32-bit builds went away with today's push, but it looks like maybe the repo still has some lingering metadata about them, and so is still trying to look for them. I'll see if I can find it.
Cc: sshruthi@chromium.org ligim...@chromium.org
Labels: ReleaseBlock-Stable M-49 Restrict-View-Google
Marking as M49 Release blocker. So we can have fix merge in before Stable candidate cut tomorrow @ 5:00 PM PST.

Comment 3 by mmoss@chromium.org, Mar 4 2016

Labels: -Restrict-View-Google
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 4 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/bling/chromium.git/+/101ada9dd43913419b598e24f2044be2856946c3

commit 101ada9dd43913419b598e24f2044be2856946c3
Author: mmoss <mmoss@chromium.org>
Date: Fri Mar 04 18:48:04 2016

Comment 7 by mmoss@chromium.org, Mar 4 2016

This should be in the next release.
 Issue 592209  has been merged into this issue.

Comment 9 by mmoss@chromium.org, Mar 7 2016

 Issue 592046  has been merged into this issue.
 Issue 591675  has been merged into this issue.
Labels: ReleaseBlock-Beta M-50
Project Member

Comment 12 by bugdroid1@chromium.org, Mar 7 2016

Labels: merge-merged-2661
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/60c31d822ac19c6fa9ac09aaca8917615b9e3c56

commit 60c31d822ac19c6fa9ac09aaca8917615b9e3c56
Author: mmoss <mmoss@chromium.org>
Date: Mon Mar 07 15:38:36 2016

Add multiarch specification to apt repo config.

TBR=phajdan.jr@chromium.org, thestig@chromium.org
BUG= 591480 
NOTRY=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1759243002

Cr-Commit-Position: refs/heads/master@{#379305}
(cherry picked from commit 9f2c239a6ece2f510fac2f1be1ca1811f0deb9a4)

Review URL: https://codereview.chromium.org/1769533003

Cr-Commit-Position: refs/branch-heads/2623@{#578}
Cr-Branched-From: 92d77538a86529ca35f9220bd3cd512cbea1f086-refs/heads/master@{#369907}
(cherry picked from commit 101ada9dd43913419b598e24f2044be2856946c3)

Review URL: https://codereview.chromium.org/1766423002

Cr-Commit-Position: refs/branch-heads/2661@{#100}
Cr-Branched-From: ef6f6ae5e4c96622286b563658d5cd62a6cf1197-refs/heads/master@{#378081}

[modify] https://crrev.com/60c31d822ac19c6fa9ac09aaca8917615b9e3c56/chrome/installer/linux/common/apt.include
[modify] https://crrev.com/60c31d822ac19c6fa9ac09aaca8917615b9e3c56/chrome/installer/linux/common/installer.include
[modify] https://crrev.com/60c31d822ac19c6fa9ac09aaca8917615b9e3c56/chrome/installer/linux/common/variables.include
[modify] https://crrev.com/60c31d822ac19c6fa9ac09aaca8917615b9e3c56/chrome/installer/linux/debian/build.sh
[modify] https://crrev.com/60c31d822ac19c6fa9ac09aaca8917615b9e3c56/chrome/installer/linux/rpm/build.sh

Comment 13 Deleted

Comment 14 by arcade@google.com, Mar 8 2016

This issue is slightly more annoying than what the bug indicates.

Under Ubuntu, it means you get a pop-up complaining about the problematic repository (dl.google.com) several times per hour.  Editing the sources.list file with [arch=amd64] works ... until the installed crontab overwrites it and thus removes the [arch=amd64] tag. 

Ubuntu users using chrome are being spammed with extraordinarily annoying popups.  


Labels: TE-NeedsTriageFromMTV
Unable to perform the "apt-get update" lack of permissions to run this command.Adding TE-NeedsTriageFromMTV if it can be triaged by MTV team.
Labels: -TE-NeedsTriageFromMTV -ReleaseBlock-Stable
I am guessing this should be fixed by now. Unable to verify from TE since we do not have root access to our linux box.
Labels: -ReleaseBlock-Beta
I can confirm this is resolved on my machine.

Comment 19 by mmoss@chromium.org, Mar 14 2016

Status: Fixed (was: Started)
Thanks for confirming.
On a Debian 8 machine, I still get the error.

Comment 21 by arcade@google.com, Mar 15 2016

This is resolved on my home computer.  
Is this bug supposed to be fixed for Chrome 49? It's not fixed for me on Kubuntu 15.10.
I'm not entirely sure how the bug was fixed. If it was fixed in the repository, then everything should start working again as soon as the changes propagate out; I am unclear on what the exact schedule for this is though. Others should be able to answer this question for you.

On the other hand, if it was fixed in the installer package, then you probably have a bit of a catch-22. You need to install the new installer to benefit from the fix, but you can't install it, as you still have the old package on your computer.

As "root", run the "sed" command that I mentioned earlier and you'll be back in business:

  sed -i 's,^\(deb \)\(http://dl.google.com/linux/chrome/deb\),\1[arch=amd64] \2,' /etc/apt/sources.list.d/*

Alternatively, you could always uninstall and re-install Google Chrome. That should have the exact same effect. It just takes a little more work.

@mmoss should be able to clarify whether this is necessary, or whether this is a temporary road bump that is expected to fix itself in a few days.
I think, an updated package should be released, which fixes the sources.list automatically when installed/updated. I don't think that users are expected to manually edit sources.list or do a re-install.

Comment 25 by mmoss@chromium.org, Mar 15 2016

re: #24, yes, the current packages update the sources.list.d file to include "[arch=amd64]", or to preserve it if the user added it manually.

re: #23, is there a catch-22 here? I thought apt was just refusing to download a new i386/Packages file, and thus was keeping the old file around. Is it also refusing to download the updated amd64/Packages info?

FWIW, another option is to just bypass apt-get and do the "first time" install again by grabbing the current package directly from https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb (s/stable/beta/ or s/stable/unstable/ as appropriate for the channel you want).

Comment 26 by mmoss@chromium.org, Mar 15 2016

Status: Started (was: Fixed)
I just realized I messed this up a bit. I made the "[arch=...]" setting optional in the sources.list config. This means new installs will get that setting, and any manually edited configs will retain that setting, but old configs without it won't be updated to include it. I think we probably want to force update those configs, otherwise users will have to manually edit them to finally make the error messages go away.
I see the error happening on 'apt-get update'. So, it happens before there even is a chance to install the new packet.

I usually run something like 'apt-get update && apt-get dist-upgrade'. That would obviously fail in this situation. But it is possible that @mmoss is correct and if I simply replaced '&&' with ';', the command would indeed proceed and do the right thing.

I can't easily test that theory right now, as all of my machines have already been upgraded to the most recent version of Chrome. I also don't know what the GUI (update-notifier?) does in this situation.
Project Member

Comment 28 by bugdroid1@chromium.org, Mar 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b58c0d445772371cba4da0000f78917a12c79bc

commit 8b58c0d445772371cba4da0000f78917a12c79bc
Author: mmoss <mmoss@chromium.org>
Date: Tue Mar 15 19:44:14 2016

Require multiarch setting in Linux repo config file.

This will force old configs to add this setting on the next update, and
thus get rid of the "missing i386" warning for existing users.

R=phajdan.jr@chromium.org, thestig@chromium.org
BUG= 591480 

Review URL: https://codereview.chromium.org/1801283002

Cr-Commit-Position: refs/heads/master@{#381287}

[modify] https://crrev.com/8b58c0d445772371cba4da0000f78917a12c79bc/chrome/installer/linux/debian/build.sh

Comment 29 by mmoss@chromium.org, Mar 15 2016

Labels: -Merge-Merged-2623 -merge-merged-2661 Merge-Request-50 Merge-Request-49
Labels: -Merge-Request-49 Merge-Approved-49
Merge approved for M49 (branch 2623)

Comment 31 by tin...@google.com, Mar 15 2016

Merge approved for M50 (branch 2661).

Comment 32 by tin...@google.com, Mar 15 2016

Labels: -Merge-Request-50 Merge-Approved-50
Project Member

Comment 33 by bugdroid1@chromium.org, Mar 15 2016

Labels: -merge-approved-49 merge-merged-2623
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/91b1c63374309247f624d4aaec0f33a2e901bb7f

commit 91b1c63374309247f624d4aaec0f33a2e901bb7f
Author: Michael Moss <mmoss@google.com>
Date: Tue Mar 15 21:41:59 2016

Require multiarch setting in Linux repo config file.

This will force old configs to add this setting on the next update, and
thus get rid of the "missing i386" warning for existing users.

R=phajdan.jr@chromium.org, thestig@chromium.org
BUG= 591480 

Review URL: https://codereview.chromium.org/1801283002

Cr-Commit-Position: refs/heads/master@{#381287}
(cherry picked from commit 8b58c0d445772371cba4da0000f78917a12c79bc)

Review URL: https://codereview.chromium.org/1800323002 .

Cr-Commit-Position: refs/branch-heads/2623@{#625}
Cr-Branched-From: 92d77538a86529ca35f9220bd3cd512cbea1f086-refs/heads/master@{#369907}

[modify] https://crrev.com/91b1c63374309247f624d4aaec0f33a2e901bb7f/chrome/installer/linux/debian/build.sh

Project Member

Comment 34 by bugdroid1@chromium.org, Mar 15 2016

Labels: -merge-approved-50 merge-merged-2661
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/57ada77f41a262ffb0730d564cf2b3439a3bbfe7

commit 57ada77f41a262ffb0730d564cf2b3439a3bbfe7
Author: Michael Moss <mmoss@google.com>
Date: Tue Mar 15 21:49:51 2016

Require multiarch setting in Linux repo config file.

This will force old configs to add this setting on the next update, and
thus get rid of the "missing i386" warning for existing users.

R=phajdan.jr@chromium.org, thestig@chromium.org
BUG= 591480 

Review URL: https://codereview.chromium.org/1801283002

Cr-Commit-Position: refs/heads/master@{#381287}
(cherry picked from commit 8b58c0d445772371cba4da0000f78917a12c79bc)

Review URL: https://codereview.chromium.org/1804263002 .

Cr-Commit-Position: refs/branch-heads/2661@{#249}
Cr-Branched-From: ef6f6ae5e4c96622286b563658d5cd62a6cf1197-refs/heads/master@{#378081}

[modify] https://crrev.com/57ada77f41a262ffb0730d564cf2b3439a3bbfe7/chrome/installer/linux/debian/build.sh

Comment 35 by jcr...@gmail.com, Mar 16 2016

Earlier messages above suggested that the repo would be "fixed" somehow, but it doesn't seem so.

On Linux Mint 14.04 (64bit), this was my experience as of today:
1. Supported versions of Chrome will now self-update.
2. The older method of using dl.google.com[1] as a software update repo will no longer work.  Therefore users must disable that repo manually to avoid error messages.  Is that correct?


[1] deb http://dl.google.com/linux/chrome/deb/ stable main

Comment 36 by mmoss@chromium.org, Mar 16 2016

re #35: No, please don't disable the repo config. The update mechanism in Chrome has not changed at all, and disabling the repo will prevent automatic updates. The current failure does not prevent updating Chrome, it just prevents doing something like 'apt-get update && ...' as markus@ mentions in #27, since apt-get exits with an error code.

If you want to change anything, you should just add "[arch=amd64]" to the repo config (i.e. use the sed command from #23]. The next release will do this automatically.
This error somehow connected To this topic?


Google Chrome Version 51.0.2679.0 dev (64-bit)
Ubuntu 16.04
apt 1.2.7


google-chrome-unstable.list
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main



W: gpgv:/var/lib/apt/lists/partial/dl.google.com_linux_chrome_deb_dists_stable_Release.gpg: The repository is insufficiently signed by key 4CCA1EAF950CEE4AB83976DCA040830F7FAC5991 (weak digest)
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release  No Hash entry in Release file /var/lib/apt/lists/partial/dl.google.com_linux_chrome_deb_dists_stable_Release, which is considered strong enough for security purposes
E: Some index files failed to download. They have been ignored, or old ones used instead.

Comment 38 by mmoss@chromium.org, Mar 17 2016

re #37: nope, that's  Issue 594414 

Comment 39 by jcr...@gmail.com, Mar 17 2016

 > just add "[arch=amd64]" to the repo config...
Thanks for clarifying.  I can confirm this removed the error message.

Comment 40 by mmoss@chromium.org, Mar 17 2016

 Issue 594823  has been merged into this issue.

Comment 41 by mmoss@chromium.org, Mar 18 2016

 Issue 592262  has been merged into this issue.
Cc: josa...@chromium.org
 Issue 591903  has been merged into this issue.
I'm still seeing the symptom. On my stock Ubuntu system, /etc/issue says "Ubuntu 14.04.4 LTS" and there's a red triangle with an exclamation point at the upper right corner of my screen. If I click on that then on "Check for Updates", it eventually gives the error or warning "Unable to find expected entry 'main/binary-i386/Packages' in Release file", which matches the original text about this bug.

The "next update" is mentioned in #34 and the "next release" is mentioned in #36. These are probably describing the same event. Is it the same as Ubuntu 14.04.5? When will the next relevant update happen?

There are instructions around here for fixing the problem, but if the only cost is a red triangle with an exclamation point I'd rather not follow them. That way I will be in a position to verify that the problem is fixed for naive Ubuntu users, once it's fixed.

Comment 44 by mmoss@chromium.org, Mar 21 2016

Cc: tinazh@chromium.org
re #43: The stable channel hasn't been refreshed yet since the change in #34, so that could explain any lingering issues. Hopefully that will be pushed out soon  (I think both the beta and dev channels have already updated).

It's also possible that the GUI updater is refusing to proceed due to the error exit code. You could try doing 'sudo apt-get update; sudo apt-get upgrade' on the command line and see if that fixes things.
I did a command line update on Friday and still saw the error.

Comment 46 by mmoss@chromium.org, Mar 21 2016

re #45: Are you on stable channel? Was the error just during the update, or even after the most recent chrome was installed?
Yes, on stable channel. And I don't think there was an actual update afterwards. I can check again when I get home.

Comment 48 by mmoss@chromium.org, Mar 21 2016

Yeah, as noted in #44, the stable channel build with the "forced fix" (#33) hasn't been pushed live yet, only the build with the "doesn't override manual fix" (#5).
apt-get update is failing, so nobody can get your fixed packages without manual intervention (e.g. I'm on beta channel, but I'm still stuck on 49.0.2623.56-1, despite you trying to serve 50.0.2661.57-1).

I think you need to ensure http://dl.google.com/linux/chrome/deb/dists/stable/Release contains main/binary-i386/Packages.  Presumably you also need an empty or stub file at http://dl.google.com/linux/chrome/deb/dists/stable/main/binary-i386/Packages as well.

Or if that's not possible, perhaps temporarily re-add a 32-bit package?
re: #43

> if the only cost is a red triangle with an exclamation point

On my system, it appeared to be preventing all Ubuntu updates, meaning you would not get security updates for any packages installed on your system.
Clarification:

On my system, I do apt-get update && apt-get upgrade, and apt-get update was exiting with status 100, so apt-get upgrade was not running.  Others might have a different method.

$ sudo apt-get update
...
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release  Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)

E: Some index files failed to download. They have been ignored, or old ones used instead.

$ echo $?                                                                                                                                                                                               
100
Mike: Try running the apt-get upgrade anyway; this will work and will
upgrade you to a deb that fixes the problem.
I had already modified my sources.list and update/upgraded, but thanks for the suggestion.
Has the stable release mentioned in #48 been pushed yet?

If so, it hasn't fixed the problem. My home machine is still replicating the issue.
My two machines have been fixed with updates (I intentionally did not correct sources.list myself). I'm using stable releases.

Comment 56 by mmoss@chromium.org, Apr 12 2016

Status: Fixed (was: Started)
Status: Assigned (was: Fixed)
This still reproduces for Chrome Remote Desktop on my home machine (Linux Mint), despite having 50.0.2661.75 (64-bit)stable channel of Chrome installed. The machine IS fetching updates to Chrome, but still gives the following error on "sudo apt-get update":

W: Failed to fetch http://dl.google.com/linux/chrome-remote-desktop/deb/dists/stable/Release  Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)

E: Some index files failed to download. They have been ignored, or old ones used instead.

It's working for me. Chrome says I have version 50.0.2661.75 (64-bit), I
stock have Ubuntu 14.04.4, and kernel 3.16.0-70, and "sudo apt-get update"
now completes without error. For me the symptom before the update was as I
described in comment 43 and sometime between then and now that symptom went
away. I did not take any explicit action to get the fix.

My point isn't that the comment 57 is wrong. My point is that it's working
for some people and not others. Specifically I'm  wanting to discourage the
hypothesis that it's working for nobody and comment 55 was some sort of
fluke.

Comment 59 by mmoss@chromium.org, Apr 18 2016

Status: Fixed (was: Assigned)
dgarrett@, CRD is its own package and repo, which I don't really know anything about. Please open a separate bug for that team.
 crbug.com/604469  for anyone interested.

Sign in to add a comment