Ticket #5805 (closed defect: fixed)

Opened 6 years ago

Last modified 6 years ago

olpc-update failed message

Reported by: chihyu Owned by: cscott
Priority: high Milestone: Update.1
Component: upgrade utility Version:
Keywords: Cc: kimquirk, katie, ffm
Action Needed: Verified: no
Deployments affected: Blocked By:
Blocking:

Description

I tried updating from build 653 to joyride-1489 via a USB stick, following the instructions in http://wiki.laptop.org/go/Olpc-update

The update was successful, but the following "failed" message showed during the updating process. Kim also saw a similar message when updating from build 653 to joyride-1490 via the network.

-bash-3.2# olpc-update --usb
Updating to version to hash cb7d801565a38a216be734630cc416f4
Making clean /versions/updates/cb7d801565a38a216be734630cc416f4
Trying irsync_pristine update from /tmp/tmpdKozIo
- Cleaning tree.
- Fetching contents.
- Performing incremental rsync.
Verifying update.
Contents manifest failure at line 383
Last file examined: usb8388.bin
Update failed: Command '['/usr/sbin/olpc-contents-verify', '/versions/updates/cb7d801565a38a216be734630cc416f4/etc/passwd', '/versions/updates/cb7d801565a38a216be734630cc416f4/etc/group', 'cb7d801565a38a216be734630cc416f40ca8ddca7dfd7dee3ed1bb16c5711f62', '/versions/updates/cb7d801565a38a216be734630cc416f4.contents', '/versions/updates/cb7d801565a38a216be734630cc416f4', '/versions/updates/cb7d801565a38a216be734630cc416f4.pristine']' returned non-zero exit status 1
Trying irsync_dirty update from /tmp/tmpdKozIo
- Creating contents for existing tree.
- Fetching contents for update tree.
- Performing incremental rsync.
Verifying update.
Installing update in /versions/{pristine,run}/cb7d801565a38a216be734630cc416f4
-bash-3.2# 

Change History

  Changed 6 years ago by mstone

This message indicates that the ostensibly 'pristine' filesystem was actually dirty. olpc-update correctly determined this and successfully retried with less demanding assumptions. Why 'usb8388.bin' was dirty is an interesting question; however, this is not a bug in olpc-update.

  Changed 6 years ago by jg

  • priority changed from normal to high
  • milestone changed from Never Assigned to Update.1

But saying an update failed when it didn't *is* a bug.... And one that will cause us a lot of support trouble....

Me thinks we need to say things in a clearer fashion...

  Changed 6 years ago by mstone

jg: the point is that the irsync_pristine operation _did_ fail, and the irsync_dirty operation _did_ succeed and we learned that usb8388.bin is being dirtied for unknown reasons because of this message.

Would you be satisfied with a simple 'Update succeeded.' line at the bottom?

  Changed 6 years ago by katie

  • cc katie added

follow-up: ↓ 6   Changed 6 years ago by ffm

  • cc ffm added

for me, it fails at "localtime", which occurred after I changed the timezone.

Also occurs for Aaron Konstam

in reply to: ↑ 5   Changed 6 years ago by chihyu

Replying to ffm:

for me, it fails at "localtime", which occurred after I changed the timezone. Also occurs for Aaron Konstam

I performed olpc-update --usb again from joyride 1537 to joyride 1541. I did not change the timezone, but this time the error message includes "localtime" and "MemoryError" (please see below).

The update was successful, despite the error message.

-bash-3.2# olpc-update --usb
Updating to version hash a2187811ad6b9413b688d0fd8ad1253d
Deleting old pristine version [some old hash]
Deleting run version [some old hash]
Deleting old contents for version [some old hash]
Making clean /versions/updates/a2187811ad6b9413b688d0fd8ad1253d
Trying irsync_pristine update from /tmp/tmpxSvC-6
 - Cleaning tree.
 - Fetching contents.
 - Performing incremental rsync.
Verifying update.
Contents manifest failure at line 383
Last file examined: localtime
Update failed: Command '['/usr/sbin/olpc-contents-verify', '/versions/updates/a2187811ad6b9413b688d0fd8ad1253d/etc/passwd', 
'/version/updates/a2187811ad6b9413b688d0fd8ad1253d/etc/group', 'a2187811ad6b9413b688d0fd8ad1253dc78066e59690e597b18062ca6a1dbedb', 
'/versions/updates/a2187811ad6b9413b688d0fd8ad1253d.contents', '/versions/updates/a2187811ad6b9413b688d0fd8ad1253d', 
'/versions/updates/a2187811ad6b9413b688d0fd8ad1253d.pristine']' returned non-zero exit status 1
Trying irsync_dirty update from /tmp/tmpxSvC-6
 - Creating contents for existing tree.
Traceback (most recent call last):
 File "/usr/sbin/olpc-contents-create", line 90, in <module>
   if __name__ == '__main__': main()
 File "/usr/sbin/olpc-contents-create", line 83, in main
   force_group=force_group)
 File "/usr/lib/python2.5/site-packages/bitfrost/contents/utils.py", line 140, in mkcontents
   force_user=force_user, force_group=force_group)
 File "/usr/lib/python2.5/site-packages/bitfrost/contents/utils.py", line 94, in mkdirobject
   force_user, force_group)
 File "/usr/lib/python2.5/site-packages/bitfrost/contents/utils.py", line 94, in mkdirobject
   force_user, force_group)
 File "/usr/lib/python2.5/site-packages/bitfrost/contents/utils.py", line 94, in mkdirobject
   force_user, force_group)
 File "/usr/lib/python2.5/site-packages/bitfrost/contents/utils.py", line 100, in mkdirobject
   entry['h'] = mkhashes(file(fullname).read())
MemoryError
Update failed: Command '['/usr/sbin/olpc-contents-create', '-f', '/versions/updates/tmp.2j5RJG/contents', '-p', 
'/versions/updates/a2187811ad6b9413b688d0fd8ad1253d/etc/passwd', '-g', '/versions/updates/a2187811ad6b9413b688d0fd8ad1253d/etc/group', 
'/versions/updates/a2187811ad6b9413b688d0fd8ad1253d']' returned non-zero exit status 1
Trying rsync update from /tmp/tmpxSvC-6
 - Fetching contents.
 - Performing full rsync.
Verifying update.
Installing update in /versions/{pristine,run}/a2187811ad6b9413b688d0fd8ad1253d
-bash-3.2#

  Changed 6 years ago by cscott

  • status changed from new to closed
  • resolution set to fixed

Fix committed to git. olpc-update 2.2 will clearly indicate that the update was successful at the end of the process, and will say "attempt failed" rather than "update failed".

The memory error looks like a dup of #5954. Please followup there.

Note: See TracTickets for help on using tickets.