New issue
Advanced search Search tips

Issue 874221 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

update_engine_client status is not matching update_engine.log when an update is resumed

Project Member Reported by dhadd...@chromium.org, Aug 14

Issue description

I have a test (autoupdate_Interruptions) that starts an update and then interrupts it with reboots/pulls network/suspends. 

The most common failure is:
the update does not continue where it left off before rebooting.

The test starts an update, reboots, then calls check_for_update again and sees if the update continues where it left off. 

In a recent failing run, the log for the before and after progress is given like this: 
New value: 0.000013, old value: 0.280376

However, looking at the update engine logs before and after reboot it looks like the update does actually continue. (attached sample logs)

Most of the time this test passes

Full logs:
https://stainless.corp.google.com/browse/chromeos-autotest-results/227333310-chromeos-test/


Assigning to Amin to take a look 
 
before reboot log.txt
23.5 KB View Download
after reboot log.txt
20.6 KB View Download
Summary: update_engine_client status is not matching update_engine.log when an update is resumed (was: update_engine_client status is not matching update_engine.log)
Can you link an example of a test that succeeded? For some reason the update engine log after the reboot is cut off at some point. So I don't know if it really continued or it is crashing or something.

If I understand the bug correctly, you are conflicting on the progress value. But remember that the progress value is how much of the update is downloaded NOT how much it is applied. So if you reboot in the middle of the update, after reboot the progress would start before where it was because it losts whatever bytes it have downloaded. Does that make sense or this bug is related to something else and I got it wrong?
Yes that does make sense but most of the time when the test runs the progress is the same before and after the reboot. 

here is an example passing run (attaching logs too):
https://stainless.corp.google.com/browse/chromeos-autotest-results/227339797-chromeos-test/
passing before reboot.txt
28.6 KB View Download
passing after reboot.txt
37.6 KB View Download
It is because we have delays between queries, so for example when you query you get 0.10 and update engine downloads to 0.20 before reboot, but it applied it until 0.10. when you reboot you see 0.10 again which looks fine because it is after 0.10. So I don't think we can really rely on where the value is after the reboot. We probably have to think a different way to handle this. I can't think of any straightforward way of doing it. Looking at the logs for any other difference does't bring up anything useful and changing the logs to reflect that will work from now on not before builds.
Issue 856402 has been merged into this issue.

Sign in to add a comment