The read_historcial_rates method returned None, so the cached_history var in get_historical_rates_safe was not properly initialized to an empty dict, and therefore cached_history.update(new_history) would raise (with the exception caught and ignored).
This makes cached_history is an empty dict {} if the file does not already exist.
Similar fix to commit a42cdb6 electroncash#2898