materialsproject / custodian

A simple, robust and flexible just-in-time job management framework in Python.
MIT License
136 stars 105 forks source link

UnicodeDecode error parsing successful VASP job #218

Open Youjin1985 opened 2 years ago

Youjin1985 commented 2 years ago

When reporting bugs/issues, please supply the following information. If this is a feature request, please simply state the requested feature.

System

Summary

I launch vasp calculation with help of fireworks in offline mode on our group cluster. (Nodes cannot make network connections so online node is not an option). When fireworks tries to retrieve status of completed job (after lpad recover_offline), it fails because custodian cannot decode something:

Error message

Traceback (most recent call last): File "/public/home/evgenii/.virtualenvs/science/lib/python3.7/site-packages/fireworks/core/rocket.py", line 261, in run m_action = t.run_task(my_spec) File "/public/home/evgenii/.virtualenvs/science/lib/python3.7/site-packages/atomate/vasp/firetasks/run_calc.py", line 300, in run_task stored_custodian_data = {"custodian": json.load(f)} File "/public/home/evgenii/miniconda3/lib/python3.7/json/init.py", line 293, in load return loads(fp.read(), File "/public/home/evgenii/miniconda3/lib/python3.7/codecs.py", line 322, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

Files

custodian_error.tar.gz

In attached archive there is fireworks output of job. You can see that vasp job was competed successfully. Error message above is in FW_offline.json.gz.
Youjin1985 commented 2 years ago

I edited line 172, modifying RunVaspCustodian class atomate/vasp/firetasks/run_calc.py and made default gzipping False: gzip_output = self.get("gzip_output", False) This make my jobs status display as complete successfully So problem is with gzipping