Activity log for bug #1808552

Date Who What changed Old value New value Message
2018-12-14 16:02:58 Mohamed El Gindi bug added bug
2018-12-14 16:04:57 Mohamed El Gindi description Restore not working on windows 10 python 2.7 for 2 reasons: 1. Because of this commit https://github.com/openstack/freezer/commit/b08c785b78484902217b418c872068389f6aeac9 Looks for '/bin/bash' executable in freezer\engine\tar\tar.py, but it doesn't exist in Windows. (fixable by editing code) 2. Multiprocessing module seems to have problems pickling/unpickling. Command: freezer-agent --action restore --mode fs --restore-abs-path C:\Users\Administrator\Documents\freezer_dir --container freezer_win --backup-name test_win --log-file C:\Users\Administrator\Documents\freezer.log Result: Critical Error: Can't pickle <type 'thread.lock'>: it's not found as thread.lock C:\Users\Administrator\Documents>Traceback (most recent call last): File "<string>", line 1, in <module> File "C:\Python27\lib\multiprocessing\forking.py", line 381, in main self = load(from_parent) File "C:\Python27\lib\pickle.py", line 1378, in load return Unpickler(file).load() File "C:\Python27\lib\pickle.py", line 858, in load p dispatch[key](self) File "C:\Python27\lib\pickle.py", line 880, in load_eof raise EOFError EOFError More logging in log file: 2018-12-07 02:31:38.471 4084 INFO freezer.engine.engine [-] Creating restore path: C:\Users\Administrator\Documents\freezer_dir 2018-12-07 02:31:38.497 4084 INFO freezer.engine.engine [-] Restore path creation completed 2018-12-07 02:31:43.293 4084 INFO freezer.engine.engine [-] Restoring backup undefined-2016_test_win 2018-12-07 02:31:43.295 4084 INFO freezer.engine.engine [-] Restoring from level 0 2018-12-07 02:31:43.351 4084 ERROR freezer.main [-] Can't pickle <type 'thread.lock'>: it's not found as thread.lock: PicklingError: Can't pickle <type 'thread.lock'>: it's not found as thread.lock 2018-12-07 02:31:43.351 4084 ERROR freezer.main Traceback (most recent call last): 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\main.py", line 271, in main 2018-12-07 02:31:43.351 4084 ERROR freezer.main freezer_main(backup_args) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\main.py", line 138, in freezer_main 2018-12-07 02:31:43.351 4084 ERROR freezer.main return run_job(backup_args, storage) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\main.py", line 151, in run_job 2018-12-07 02:31:43.351 4084 ERROR freezer.main response = freezer_job.execute() 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\job.py", line 393, in execute 2018-12-07 02:31:43.351 4084 ERROR freezer.main backup_media=conf.mode) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\engine\engine.py", line 268, in restore 2018-12-07 02:31:43.351 4084 ERROR freezer.main process_stream.start() 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\multiprocessing\process.py", line 130, in start 2018-12-07 02:31:43.351 4084 ERROR freezer.main self._popen = Popen(self) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\multiprocessing\forking.py", line 277, in __init__ 2018-12-07 02:31:43.351 4084 ERROR freezer.main dump(process_obj, to_child, HIGHEST_PROTOCOL) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\multiprocessing\forking.py", line 199, in dump 2018-12-07 02:31:43.351 4084 ERROR freezer.main ForkingPickler(file, protocol).dump(obj) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 224, in dump 2018-12-07 02:31:43.351 4084 ERROR freezer.main self.save(obj) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 331, in save 2018-12-07 02:31:43.351 4084 ERROR freezer.main self.save_reduce(obj=obj, *rv) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 419, in save_reduce 2018-12-07 02:31:43.351 4084 ERROR freezer.main save(state) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 286, in save 2018-12-07 02:31:43.351 4084 ERROR freezer.main f(self, obj) # Call unbound method with explicit self 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 649, in save_dict 2018-12-07 02:31:43.351 4084 ERROR freezer.main self._batch_setitems(obj.iteritems()) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 681, in _batch_setitems 2018-12-07 02:31:43.351 4084 ERROR freezer.main save(v) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 286, in save Restore not working on windows 10 python 2.7 for 2 reasons: 1. Because of this commit https://github.com/openstack/freezer/commit/b08c785b78484902217b418c872068389f6aeac9 Looks for '/bin/bash' executable in freezer\engine\tar\tar.py, but it doesn't exist in Windows. (fixable by editing code) 2. Multiprocessing module seems to have problems pickling/unpickling. Command: freezer-agent --action restore --mode fs --restore-abs-path C:\Users\Administrator\Documents\freezer_dir --container freezer_win --backup-name test_win --log-file C:\Users\Administrator\Documents\freezer.log Result: Critical Error: Can't pickle <type 'thread.lock'>: it's not found as thread.lock C:\Users\Administrator\Documents>Traceback (most recent call last):   File "<string>", line 1, in <module>   File "C:\Python27\lib\multiprocessing\forking.py", line 381, in main     self = load(from_parent)   File "C:\Python27\lib\pickle.py", line 1378, in load     return Unpickler(file).load()   File "C:\Python27\lib\pickle.py", line 858, in load p dispatch[key](self)   File "C:\Python27\lib\pickle.py", line 880, in load_eof     raise EOFError EOFError More logging in log file: 2018-12-07 02:31:38.471 4084 INFO freezer.engine.engine [-] Creating restore path: C:\Users\Administrator\Documents\freezer_dir 2018-12-07 02:31:38.497 4084 INFO freezer.engine.engine [-] Restore path creation completed 2018-12-07 02:31:43.293 4084 INFO freezer.engine.engine [-] Restoring backup undefined-2016_test_win 2018-12-07 02:31:43.295 4084 INFO freezer.engine.engine [-] Restoring from level 0 2018-12-07 02:31:43.351 4084 ERROR freezer.main [-] Can't pickle <type 'thread.lock'>: it's not found as thread.lock: PicklingError: Can't pickle <type 'thread.lock'>: it's not found as thread.lock 2018-12-07 02:31:43.351 4084 ERROR freezer.main Traceback (most recent call last): 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\main.py", line 271, in main 2018-12-07 02:31:43.351 4084 ERROR freezer.main freezer_main(backup_args) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\main.py", line 138, in freezer_main 2018-12-07 02:31:43.351 4084 ERROR freezer.main return run_job(backup_args, storage) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\main.py", line 151, in run_job 2018-12-07 02:31:43.351 4084 ERROR freezer.main response = freezer_job.execute() 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\job.py", line 393, in execute 2018-12-07 02:31:43.351 4084 ERROR freezer.main backup_media=conf.mode) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\engine\engine.py", line 268, in restore 2018-12-07 02:31:43.351 4084 ERROR freezer.main process_stream.start() 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\multiprocessing\process.py", line 130, in start 2018-12-07 02:31:43.351 4084 ERROR freezer.main self._popen = Popen(self) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\multiprocessing\forking.py", line 277, in __init__ 2018-12-07 02:31:43.351 4084 ERROR freezer.main dump(process_obj, to_child, HIGHEST_PROTOCOL) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\multiprocessing\forking.py", line 199, in dump 2018-12-07 02:31:43.351 4084 ERROR freezer.main ForkingPickler(file, protocol).dump(obj) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 224, in dump 2018-12-07 02:31:43.351 4084 ERROR freezer.main self.save(obj) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 331, in save 2018-12-07 02:31:43.351 4084 ERROR freezer.main self.save_reduce(obj=obj, *rv) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 419, in save_reduce 2018-12-07 02:31:43.351 4084 ERROR freezer.main save(state) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 286, in save 2018-12-07 02:31:43.351 4084 ERROR freezer.main f(self, obj) # Call unbound method with explicit self 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 649, in save_dict 2018-12-07 02:31:43.351 4084 ERROR freezer.main self._batch_setitems(obj.iteritems()) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 681, in _batch_setitems 2018-12-07 02:31:43.351 4084 ERROR freezer.main save(v) 2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 286, in save