-
Notifications
You must be signed in to change notification settings - Fork 170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't open wallet - "File is already in use" error #1343
Comments
Thanks, I've labelled this bug, it definitely looks like one; can you try deleting *.lock file after quitting Qt, then re-opening Qt again? Assuming that it works OK like that, we'll still need to fix the behaviour you described of course. However, the debug message and the core dump here have me worried that it might instead be some library-level incompatibility. Someone will need to start by reproducing your error case. |
OK I have failed to reproduce this - probably not surprising as per my last paragraph above, about the nature of those error messages. I did the following, on signet, on current master ed6f745 :
So I think we'd first need to establish if you can open and run things normally, it seems like there's some library incompatibility, probably in the Qt libraries. |
Once I do this, qt opens normally, it shows me the "Open Wallet" form, I choose the wallet file, enter the passphrase, and it shuts down and prints the error above. |
It looks to me this could be issue with Python and / or Qt library versions. Could you do the following in command line and copy / paste all output here?
|
Yes.
|
You could perhaps try this fix that was made a while back: 61edd03#diff-fb36fac83bad8e5317ae7a1e2bbb7aff1fa5274b8da55e7ce056782ca9dba52eR3 (see the Issue #737 in the comments for some details on that; in particular this comment). You could also try to pin the exact version of PySide2 that I have (5.14.2.3) though that probably doesn't matter (the issue seems to be in PySide2 5.15):
|
(Btw I forgot to say, of course, that currently we disallow 5.15.2 in requirement/gui.txt, but not 5.15.2.1). |
I open As for your last response(s): I don't think you've made it clear what you recommend me to do. Should I re-install some dependency? |
Don't worry about that; it'll be ignored if you're not on Windows.
Yes, sorry, to be clearer: I was suggesting replacing
in that file with:
, and then repeating the installation. ... although, I would not be surprised if it doesn't work; if it doesn't, it'll be something related to differences between 22.04 ubuntu and the 20.04 that I'm using. |
I can't install it with this new line.
|
Yes, as I feared. So it seems 5.14 is not available there for your Python version. Notice it says:
So you'd have to run with Python 3.8, I'm guessing you're currently on 3.9 or 3.10 (edit: sorry you already told us, it's 3.10). If that is very inconvenient (you could try |
Once I run
|
I see, thanks for the report. I got the same error as that trying to install an old Python version myself recently (I tried 3.6 and 3.7 on Ubuntu 20.04). Right now I'm not sure how one fixes that. |
So, it doesn't have to do with my Ubuntu release (22.04), I suppose. Should I try installing an older version of JoinMarket? |
Well, I'd definitely say it does - on 20.04 you simply won't have this problem. What we have here is an interplay between versions of different things - the operating system, Python and the Qt libraries. But that doesn't mean your OS is somehow 'the wrong one', it's just that they've changed some of the dependency chains there and our Qt install now doesn't seem to work.
I'm afraid I can't see any case where that will help. We've been pinning 5.14.2 of PySide2 for a long time (since late 2020 as per the convo linked above ), and I can't recommend trying to install something older than that (there are multiple ways that will be broken and/or bad, and may well not install on 22.04 either). |
Can confirm having the same error with Python 3.10. |
Tried disallowing PySide 5.15.2.*, got 5.13.2 installed instead, but this causes new error (when commenting out try / except for load_program_config() in joinmarket-qt.py:
|
Tried disallowing 5.15.2.* also for PyQt5 and PyQt5-Qt5, but then there is no versions available for Python 3.10:
With Python 3.9 have no problems, can run joinmarket-qt with current master. So seems we don't support Qt GUI with Python 3.10 for now, workaround is to use older Python version. @AdamISZ Could we build Linux binary for joinmarket-qt, like we already do for Windows? |
We can, and I have done it in the past, but I stopped when I realized that incompatibilities in the linked libraries on different distros regularly caused problems. Note that building a static binary is obviously desirable, but it's surprisingly difficult. We should probably try to use AppImage or something like that, but i only briefly looked into it a couple years back and didn't find an easy way to get it to work. We could start from Electrum's setup (which is what I did for the Windows thing - I set up the wine build process from what I saw from Electrum and maybe Core HWI too), but I was struggling to find the motivation to do this intensive work for Linux since it seemed like very few people would have trouble just starting a script for it instead (like your .sh wrapper), that's why there was a note in the releases for some time 'if there is interest in a Linux binary we may start releasing them again', but literally nobody said anything in response to that. |
There seems to be more and more issues regarding Qt, maybe we should look at again. Same applies to macOS. Also, would be cool to have process documented and have reproducible builds (should not be too hard - just use some VM with same versions of all software involved into building binaries). |
I run
./joinmarket-qt.sh
atscripts
to open up JoinMarket, as told in the main page.A "Open Wallet" popup is prompt, and it tells me to enter my wallet name and passphrase. I do it, but then this error appears:
I delete the
.wallet1.jmdat.lock
, re-enter the passphrase and nothing happens. The program just shuts down, a new.wallet1.jmdat.lock
is created, and the console prints these messages:Note that it's my first time that I try JoinMarket, and I'm using the latest release (0.9.7). I've also tested my RPC connection, and it works properly (it doesn't have to do with my full node).
The text was updated successfully, but these errors were encountered: