Open HamishMacEwan opened 2 years ago
In the other issue, I see you said it was a custom install. Had you added this yourself in a different location? I'm wondering if it's related to the python upgrade I did to 3.8. Have you tried re-installing JoininBox? I'm trying to reproduce it now.
Yes, for a long time I've installed it in /opt/mynode/joinmarket-clientserver (following the pattern of other apps, and I was very relieved when JoinInBox didn't collide with that, for reasons I'm sure).
I've been unwilling to attribute the issue to the upgrade to Python 3.8.9, because I don't have the skills to confirm that this is the case, even with the guidance Adam offered. There certainly was a lot of activity during the upgrade.
Since there was an upgrade to JoinInBox to include joinmarket-clientserver 0.9.4, I took the opportunity to see if JoinInBox was working in the myNode context, and if so, hopefully be able to work out what I'd need to do to my bespoke effort to remedy the undefined symbol.
Unfortunately JoinInBox's independent installation of joinmarket-clientserver 0.9.4 seems to suffer the same problem, which is sort of encouraging, since it suggests the environment might hold the solution.
I haven't reinstalled JoinInBox, my reinstalls of joinmarket-clientserver 0.9.4 have reliably produced the same result each time, and given the match in error, concluded that reinstallation would effect no improvement for JoinInBox.
Does Adam's suggestion give you any guidance on what the problem might be?
Unfortunately, that didn't give me many ideas. I tried on my 64-bit version and was able to run joinmarket scripts just fine as well as the obwatcher.
After the python upgrade, I was expecting the dependent packages were installed for Python 3.7, but was now using 3.8 (no dependencies). However, if you've upgraded / re-installed manually, then there must be another issue. I'll try on a 32 bit device tomorrow.
Actually, one of my devices was in this state already. 32-bit and had JoininBox installed prior to python upgrade. I'm getting the same error as you. Trying a re-install and will see if it helps. I'll also mark this app to auto-reinstall if Python gets upgraded again.
Sounds like one avenue to progress would be the 64bit route. I've been meaning to.
The reinstall I did was of joinmarket-clientserver 0.9.4 in /opt/mynode/joinmarket-clientserver and it was definitely post the Python 3.8.9 upgrade.
(jmvenv) bitcoin@myNode:/opt/mynode/joinmarket-clientserver $ python --version
Python 3.8.9
This may help. I do have a libsecp256k1 library installed that doesn't have echd enabled. I can enable it, but my first test didn't seem to help.
Upgraded to 64bit and now JoinInBox's install of joinmarket-clientserver is working fine.
How do you install an echd enabled libsecp256k1 library?
I'll follow up the link.
I just added a commit that shows how to do it, but it doesn't seem to help on 32 bit. This at least controls the versions better though in case I can find a way to force coincurve to start using it again.
https://github.com/mynodebtc/mynode/commit/318b9decdad42e313a3f81b2eae16b8987fbcea1
I added a comment to the other issue as well. Both the local version and the version that is getting installed by joinmarket both have ecdh marked. I'm not sure how it's getting missed.
Actually, one of my devices was in this state already. 32-bit and had JoininBox installed prior to python upgrade. I'm getting the same error as you. Trying a re-install and will see if it helps. I'll also mark this app to auto-reinstall if Python gets upgraded again.
I am having the same issue since the upgrade. How do i fix it?
Upgrading to 64-bit appears to be the easiest option for now.
Otherwise, changing python3 to python 3.7 (rather than 3.8) for the joininbox install should also fix it, but that would be relatively involved.
Thanks for the response Taylor. I started to use JM because a previous update messed up Samourai/Whirlpool/Dojo. I went through and did the manual Dojo update/fix but then could not get access to the wallets. I had to recover those funds to electrum and move to JM to CJ. I never received a response to requests in the telegram premium group. I actually like JM better. it is also cheaper.
Then, the recent MyNode update after numerous attempts to update with web then flashing SD, then web again, I get MyNode back up. . Now JM doesn't work. It has been frustrating. Each update something else goes wrong. I purchased the MyNode premium in hopes it would be more simple to operate, having zero experience in CL. I have been learning as much as possible over the last few months. Going to try raspiblitz to see if I have less issues. I am looking for some consistency. I never seem to get any assistance in the telegram group even. I feel disappointed I spent the extra cash to purchase full my node premium package to support the product/devs but continue to have problems man. It is a good product but I continue to have issues when updates come through.
On Sun, Dec 12, 2021 at 11:22 PM Taylor Helsper @.***> wrote:
Upgrading to 64-bit appears to be the easiest option for now.
Otherwise, changing python3 to python 3.7 (rather than 3.8) for the joininbox install should also fix it, but that would be relatively involved.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mynodebtc/mynode/issues/604#issuecomment-992098214, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALJCZOCRE4NHEEDV67IOT53UQVYHTANCNFSM5JNS7O7Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Sorry to hear you've been having issues. The "official" premium support is via email and I'm not sure I've heard from you.
There have been some large upgrades recently that were probably higher risk, but were required to continue updating apps to recent versions. A consistent backup plan is to only upgrade between stable SD card images. The myNode design allows re-flashing the SD card without losing any data - the only downside is your password does get recent and any optional apps may need to be re-installed.
The 64-bit image is now the suggested option. Support for 32-bit is slowing from other projects and it would be a good idea to upgrade when possible.
PR opened with joininbox to control python version as workaround.
I only wanted to say that I seem to face the same issues here since the most recent update.
I really hope the next update gets joinmarket going again. Thanks for all the work and merry Christmas!
Next update should have a fix, but I'm also waiting on a new JoininBox release to include the fix. Switching to 64-bit (re-flash SD card) also can resolve the issue.
Can I follow step 2 here to reflash? https://mynodebtc.github.io/troubleshooting/sd-card-readonly-error.html
I am running 0.2.49, and now I would love to upgrade to 64Bit for a multitude of reasons (didn't know I am not automatically doing that somehow), but on the website there is only the compiled image for 0.2.49. Where can I get the newest image to reflash? Thank you 🙏
Yes, that's right. Or the instructions on mynodebtc.com/download
You would re-flash with the latest image and re-upgrade to the latest version, if one is available. Going from 32-bit to 64-bit does require re-flashing since it's a full OS upgrade.
Do I have to downgrade from 0.2.49 > 0.2.48 since that is the latest image available on the website mynodebtc.com/download ? I am just making sure I don't mess this up 🤷♂️ 🙏
Yes, that's right. Full SD card images are not made for each release.
I updated the mynode to 0.02.50 (still 32-bit) and the issue remains the same. Will proceed soon to re-flash just do not yet have access to the node physically.
Yeah, the fix within JoininBox did not make it in so its still using Python 3.8 rather than 3.7. Once a myNode release has JoininBox 6.6+, the issue should be resolved.
Running JoinInBox's local Ob-watcher results in the error in the attached image.
[This error also occurs if you run other scripts in the /home/joinmarket/joinmarket-clientserver/scripts directory as user joinmarket. For example
./genwallet.py
]ImportError: /home/joinmarket/.local/lib/python3.8/site-packages/coincurve/_libsecp256k1.cpython-38-arm-linux-gnueabihf.so: undefined symbol: secp256k1_ecdh
The error has been submitted as an issue in the joinmarket-clientserver github at https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/1099 where @AdamISZ has offered some advice on how to resolve it. Sadly it's beyond my ability to diagnose.
The device is Raspberry Pi4 and it is running the v0.2.47 release.