-
Notifications
You must be signed in to change notification settings - Fork 77
Persisting the state fails #46
Comments
Thanks for the quick feedback. Regarding failing if load_path doesn't exist, that was done on purpose. Are you suggesting not loading in that case and starting with a fresh Devnet instance? Regarding the error, can you reinstall devnet? Or try installing it in a new virtual environment and running there? If that doesn't help, can you try installing and running with Python 3.8 or Python 3.7? |
Installed the devnet locally in a new virtual environment using your Python version (3.9.10) and tested invoking and dumping. Worked well. Running on Manjaro Linux. |
Yes I am suggesting that if the load_path does not exists, the state starts anew. So in a tutorial I can tell newbies like me, always run this xyz command to preserve the state of the devnet between sessions. I created a new venv, selected it, selected 3.9.10 as python version, reinstalled the cairo-lang and starkent-devnet (0.1.17), launched the devnet with dumping on transactions. Then in another terminal selected the venv and deployed a contract. As soon as it starts to dump a transaction, I get the same error. Then I repeated the process, deleting the venv folder first, using python 3.7 and 3.8. Both not working. |
Ok, thanks for the detailed description of what you've tried. There are known issues with multiprocessing and pickling with Python >=3.8 on MacOS.
What do you get? If it's not
Inside the printed directory, locate
Try starting your devnet and dumping with that line pasted. |
With the command So, I added the line you suggested in dump.py and now it works as expected. |
Ok, I will keep this issue open until we release a patch version. Until then, you can rely on this local fix. Thanks for reporting! |
You're welcome. I am trying to contribute by reporting everything I find. If you need macOS specific support on other issues, ping me |
Great, thanks! Very much appreciated. |
Hello team.
I am trying to use the new state dumping feature but it fails (macOS, pyenv, python 3.9.10, venv).
Apart from the fact that it would be nice to have the params for dumping and loading which don't error if the load path does not exists yet (so I can always copy and paste the same command and not having different results if it's the first or the nth time).
So having something like this always working
But there is a more pressing issue on my machine. If I start the devnet then I send the transaction, when I stop the devnet and the dump has to be written, it throws errors.
If I start the devnet to dump at every transaction, then as soon as I send a transaction, I get a 500 error for the transaction, and I the dump fails.
Could it be some dependency missing? Or any mismatched python version?
The text was updated successfully, but these errors were encountered: