                                               desc="Running pass {} of {}: {}".format(
                                                   phase + 1,
                                                   self.extractor.passes,
                                                   self.extractor.phase.title()))):
  
                  exception = faces.get("exception", False)
                  if exception:
                      break
                  filename = faces["filename"]
  
 
</s> remove         return io_thread
 </s> add         self.threads.append(io_thread) </s> remove         save_thread.join()
 </s> add         for thread in self.threads:
            thread.join() </s> remove         save_thread = self.threaded_io("save")
 </s> add         self.threaded_io("save")
                self.check_thread_error()
                                               desc="Running pass {} of {}: {}".format(
                                                   phase + 1,
                                                   self.extractor.passes,
                                                   self.extractor.phase.title()))):
                self.check_thread_error()
                  exception = faces.get("exception", False)
                  if exception:
                      break
                  filename = faces["filename"]
  
keep keep keep keep replace keep keep keep keep keep
 Bugfix: Catch load/save errors and raise during extract 
scripts/extract.py