Ubuntu – “None-type” error on Wubi after MD5HASH check fails

12.04installationwubi

c29be6d58c1581d9cd679aca25db77d1  ubuntu-12.04-desktop-amd64.metalink
c7a6b99206703cfe37f1da5af1d28e3a  ubuntu-12.04-desktop-i386.metalink
4e44ca9bc7ee8ab54ff9565a5437bdc2  ubuntu-12.04-server-amd64.metalink
c9cfc1dd8c65099d929189eedc157f3c  ubuntu-12.04-server-i386.metalink

04-26 20:10 DEBUG  TaskList: #### Finished get_metalink
04-26 20:10 DEBUG  TaskList: New task get_file_md5
04-26 20:10 DEBUG  TaskList: #### Running get_file_md5...
04-26 20:10 DEBUG  TaskList: #### Finished get_file_md5
04-26 20:10 ERROR  CommonBackend: Invalid md5 for ISO C:\ubuntu\install\installation.iso (d791352694374f1c478779f7f4447a3f != 866bdfa347b5425b18fdafe719a956df)
None
04-26 20:10 DEBUG  TaskList: ### Finished check_iso
04-26 20:10 ERROR  TaskList: 'NoneType' object has no attribute 'get_info'
Traceback (most recent call last):
  File "\lib\wubi\backends\common\tasklist.py", line 197, in __call__
  File "\lib\wubi\backends\common\backend.py", line 595, in get_iso
  File "\lib\wubi\backends\common\backend.py", line 564, in use_cd
AttributeError: 'NoneType' object has no attribute 'get_info'
04-26 20:10 DEBUG  TaskList: # Cancelling tasklist
04-26 20:10 ERROR  root: 'NoneType' object has no attribute 'get_info'
Traceback (most recent call last):
File "\lib\wubi\application.py", line 58, in run
File "\lib\wubi\application.py", line 132, in select_task
File "\lib\wubi\application.py", line 158, in run_installer
File "\lib\wubi\backends\common\tasklist.py", line 197, in __call__
File "\lib\wubi\backends\common\backend.py", line 595, in get_iso
File "\lib\wubi\backends\common\backend.py", line 564, in use_cd
AttributeError: 'NoneType' object has no attribute 'get_info'
04-26 20:10 DEBUG  TaskList: # Finished tasklist

Best Answer

From the error messages, it appears that a file download has failed -- the file was corrupt due to transmission errors. These things are quite rare, but happen. Try to run the whole process again. It should show you this error in a nicer and clearer way and then not try to continue and get all kinds of other funny errors, but the program you're using is apparently not very well-written with regard to such error-handling.

Potentially useless but somewhat interesting background info: this is what the "invalid MD5" message means: MD5 is a so-called hashing algorithm, which computes a checksum value based on some data (the downloaded file). It is then compared to the known correct checksum value. MD5 checksums differ a lot even if just a single little piece of the data is different, and that is what has happened here.

Related Question