On 3/15/22 20:30, Peter Maydell wrote:
coredata.CoreData
   File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/coredata.py",
line 1003, in load
     obj = pickle.load(f)
   File 
"/Users/pm215/src/qemu-for-merges/meson/mesonbuild/mesonlib/universal.py",
line 2076, in __setstate__
     self.__init__(**state)  # type: ignore
TypeError: __init__() got an unexpected keyword argument 'module'
FAILED: build.ninja


meson ought to be smart enough to spot that it's got data from an
incompatible version and just discard its cache rather than
choking on it.

It tries, but it's playing whack-a-mole with Python:

    except (pickle.UnpicklingError, EOFError):
        raise MesonException(load_fail_msg)
    except (ModuleNotFoundError, AttributeError):
        raise MesonException(
            f"Coredata file {filename!r} references functions or classes that don't 
"
            "exist. This probably means that it was generated with an old "
            "version of meson.")

I'll submit a patch to add TypeError.

Paolo

Reply via email to