New issue
Advanced search Search tips

Issue 795313 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: ----



Sign in to add a comment

Multiple canaries failing because of missing lzma backports module

Project Member Reported by sheriff-...@appspot.gserviceaccount.com, Dec 15 2017

Issue description

Filed by sheriff-o-matic@appspot.gserviceaccount.com on behalf of dtor@google.com

asuka-release:1760 failed + others

Builders failed on: 
- asuka-release: 
  https://luci-milo.appspot.com/buildbot/chromeos/asuka-release/1760

Traceback (most recent call last):
  File "/b/c/cbuild/repository/chromite/lib/parallel.py", line 603, in TaskRunner
    task(*x, **task_kwargs)
  File "/b/c/cbuild/repository/chromite/lib/parallel.py", line 801, in <lambda>
    fn = lambda idx, task_args: out_queue.put((idx, task(*task_args)))
  File "/b/c/cbuild/repository/chromite/lib/paygen/paygen_build_lib.py", line 249, in _GenerateSinglePayload
    dry_run=dry_run)
  File "/b/c/cbuild/repository/chromite/lib/paygen/paygen_payload_lib.py", line 830, in CreateAndUploadPayload
    dry_run=dry_run).Run()
  File "/b/c/cbuild/repository/chromite/lib/paygen/paygen_payload_lib.py", line 103, in __init__
    import update_payload
  File "/b/c/cbuild/repository/src/aosp/system/update_engine/scripts/update_payload/__init__.py", line 11, in <module>
    from payload import Payload
  File "/b/c/cbuild/repository/src/aosp/system/update_engine/scripts/update_payload/payload.py", line 12, in <module>
    import applier
  File "/b/c/cbuild/repository/src/aosp/system/update_engine/scripts/update_payload/applier.py", line 24, in <module>
    from backports import lzma
ImportError: No module named backports
<type 'exceptions.ImportError'>: No module named backports



 

Comment 1 by dtor@chromium.org, Dec 15 2017

Owner: ahass...@chromium.org
I think the problem is that paygen tests are somehow not have proper dependency on devserver. So the backport-lzma does not get loaded. I'm going to revert these two CLs until I find a fix.
Status: Started (was: Available)
I reverted the CLs. Feel free to chump them or just let CQ merge them. Either way it is safe to do.
I think I found a solution for this: crrev.com/830254

So I'm going to stop landing the reverts until I see this CL fixes it.
Issue 795453 has been merged into this issue.
Looks like this can also be reproduced locally via "cros flash".

Comment 7 by dtor@chromium.org, Dec 16 2017

https://crrev.com/c/830254 has landed, so hopefully we should see canaries clear.
Ok. If the cros flash also fails then the problem is more sever. Because the cros flash scripts (including the paygen tests) run the devserver inside the device. And I don't think the scripts properly include all the dependencies of devserver. At least it doesn't do on my host machine. 

crrev.com/c/830254 fixes the issue on the host, but on the client device still we have the same problem. The issue is that devserver needs update_payload for a very minor information. But update_payload does a lot more that is not needed by the devserver (but some unneeded modules are being loaded anyways). We have to decouple this. But that's a long term solution.

I think with this information the next round of canaries are ought to fail. So I'm going to revert those two CLs to make sure things go green for now. and do a long term solution later.

Sorry for the trouble. I didn't think the problem could go that far :(
Project Member

Comment 9 by bugdroid1@chromium.org, Dec 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/aosp/platform/system/update_engine/+/b44f73baa8d302a077ab1c0c73eac63bd02350e5

commit b44f73baa8d302a077ab1c0c73eac63bd02350e5
Author: Amin Hassani <ahassani@chromium.org>
Date: Sat Dec 16 06:19:46 2017

Revert "update_payload: Add XZ compression support"

This reverts commit f1d6ceaedbcf81044d6af6b716c63ed79996f0a4.

Reason for revert: <canaries failing>

Original change's description:
> update_payload: Add XZ compression support
>
> This patch adds support for checking a payload that has REPLACE_XZ
> operations. REPLACE_XZ was added in minor version 3.
>
> BUG= chromium:758792 
> TEST=unittests pass; paycheck.py with a xz generated payload pass;
> CQ-DEPEND=CL:823234
>
> Change-Id: If82c767a201b189e464f459d5c19485e5278d9b1
> Reviewed-on: https://chromium-review.googlesource.com/823227
> Commit-Ready: Amin Hassani <ahassani@chromium.org>
> Tested-by: Amin Hassani <ahassani@chromium.org>
> Reviewed-by: Ben Chan <benchan@chromium.org>
> Reviewed-by: Sen Jiang <senj@chromium.org>

TBR=benchan@chromium.org,senj@chromium.org,ahassani@chromium.org

Change-Id: I931ff3be081a41fe5fceef0e049ba4165c6acb49
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:795313 
Reviewed-on: https://chromium-review.googlesource.com/830054
Commit-Ready: Amin Hassani <ahassani@chromium.org>
Tested-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/b44f73baa8d302a077ab1c0c73eac63bd02350e5/scripts/update_payload/checker_unittest.py
[modify] https://crrev.com/b44f73baa8d302a077ab1c0c73eac63bd02350e5/scripts/update_payload/test_utils.py
[modify] https://crrev.com/b44f73baa8d302a077ab1c0c73eac63bd02350e5/scripts/update_payload/applier.py
[modify] https://crrev.com/b44f73baa8d302a077ab1c0c73eac63bd02350e5/scripts/update_payload/checker.py

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/aosp/platform/system/update_engine/+/c77e3a2d157aba4a016da5879809312c74c9f6bf

commit c77e3a2d157aba4a016da5879809312c74c9f6bf
Author: Amin Hassani <ahassani@chromium.org>
Date: Sat Dec 16 21:09:31 2017

Revert "update_engine: Add XZ compression for CrOS"

This reverts commit 717c324c334cc3bac954101f7a127fe8ef56e4e6.

Reason for revert: <canaries failed>

Original change's description:
> update_engine: Add XZ compression for CrOS
>
> This patch implements XZ compression for Chrome OS. It is only activated
> for only delta payload at this point. The XZ compression is typically
> slower than Bzip2 to compress, but faster to decompress. However, it
> uses slightly higher memory in decompression. It compresses about 5%-10%
> better than the current Bzip2.
>
> BUG= chromium:758792 
> TEST=unittests pass; brillo_update_paylod {generate|verify} passes;
>
> Change-Id: Icdaf1d37d344c30a796845eb64daa00120f3598a
> Reviewed-on: https://chromium-review.googlesource.com/811895
> Commit-Ready: Amin Hassani <ahassani@chromium.org>
> Tested-by: Amin Hassani <ahassani@chromium.org>
> Reviewed-by: Alex Deymo <deymo@chromium.org>
> Reviewed-by: Ben Chan <benchan@chromium.org>

TBR=benchan@chromium.org,deymo@chromium.org,deymo@google.com,senj@chromium.org,ahassani@chromium.org

Change-Id: I43e8c5ebec84d395b87aa782fb4d478a5fe99279
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:795313 
Reviewed-on: https://chromium-review.googlesource.com/830053
Commit-Ready: Amin Hassani <ahassani@chromium.org>
Tested-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/c77e3a2d157aba4a016da5879809312c74c9f6bf/payload_generator/zip_unittest.cc
[modify] https://crrev.com/c77e3a2d157aba4a016da5879809312c74c9f6bf/update_engine.gyp
[modify] https://crrev.com/c77e3a2d157aba4a016da5879809312c74c9f6bf/payload_generator/xz_chromeos.cc

Status: Fixed (was: Started)
Marking this as fixed.

Sign in to add a comment