openoms / joininbox

A terminal based graphical menu for JoinMarket
MIT License
153 stars 20 forks source link

Wallet management option do not work after update #76

Closed GerdOpp closed 2 years ago

GerdOpp commented 2 years ago

When trying to use e.g. WALLET+DISPLAY or WALLER+HISTORY no choice of wallet and password query is shown. Just:

----------------
# ESC pressed
# Press ENTER to return to the menu.
----------------

I did the following steps:

1 delete and re-install JoinMarket from raspiblitz

In the title it shows: JoininBox v0.6.6 mainnet However under UPDATE it shows current versions:

  • JoininBox v0.6.1
  • JoinMarket v0.9.2

2 update JoininBox

Now under UPDATE it shows:

  • JoininBox v0.6.6
  • JoinMarket v0.9.2
  1. RESET joinmarket.cfg

  2. Exit and re-start JoinMarket

  3. In joinmarket.cfg

    • rpc_port = 8332
    • rpc_user = raspibolt
    • rpc_password = MYPASSWORD
  4. In bitcoin.conf

    • rpcuser = raspibolt
    • rpcpassword = MYPASSWORD
    • main.rpcport = 8332
openoms commented 2 years ago

Now please update JoinMarket to v0.9.4 and reset the joinmarket.cfg again as offered after the update.

GerdOpp commented 2 years ago

I did that but the issue remains

openoms commented 2 years ago

Can't reproduce it now. Are you on RaspiBlitz v1.7.1? Make sure that the PasswordB in the bitcoin.conf has only numbers and letters just in case.

GerdOpp commented 2 years ago

What is the onion address at 2022-01-27T08:19:17Z ?


Setting connection to the local Bitcoin node on mainnet

Setting bitcoinRPC in the joinmarket.cfg

Show the default number of lines**

                                                    ┌───────────Monitoring the mainnet logs──────────────┐
                                                    │                                                    │
                                                    │ Will tail the bitcoin mainnet logfile from:        │
                                                    │                                                    │
                                                    │ /home/bitcoin/.bitcoin/debug.log                   │
                                                    │                                                    │
                                                    │ Press CTRL+C to exit and type 'menu' for the GUI.  │
                                                    ├────────────────────────────────────────────────────┤
                                                    │                     <  OK  >                       │
                                                    └────────────────────────────────────────────────────┘

2022-01-27T08:18:46Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42168 2022-01-27T08:19:17Z Socks5() connect to *****jqd.onion:8333 failed: host unreachable 2022-01-27T08:19:45Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42318 2022-01-27T08:19:46Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42320 2022-01-27T08:20:25Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42420 2022-01-27T08:20:46Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42466 2022-01-27T08:20:46Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42468 2022-01-27T08:21:46Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42608 2022-01-27T08:21:47Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42614 2022-01-27T08:22:05Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42664 2022-01-27T08:22:47Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42768 2022-01-27T08:22:47Z ThreadRPCServer incorrect password attempt from 127.0.0.1:42770

openoms commented 2 years ago

As discussed on Telegram the

rpc_password=
rpc_user=raspibolt
rpc_port=8332

in the joinmarket.cfg needs to be the same as in /mnt/hdd/bitcoin/bitcoin.conf

you can edit these manually. Look at the first part of the joinmarket.cfg in general. Connecting to tye Bitcoin RPC? running on mainnet?

There is also an automatic option in the CONFIG menu to connect to the local Bitcoin Core.

For now I am not sure where the problem is, but if you'd like help to debug can run: source _functions.sh and test the functions: generateJMconfig and getRPC print

both should show the correct values

GerdOpp commented 2 years ago

UPDATE:

From the above state:

However, when I CONFIG+LOCAL connect to the local Bitcoin Core on mainnet it shows:

2022-01-27T10:22:31Z Socks5() connect to obw*.onion:8333 failed: host unreachable 2022-01-27T10:22:44Z ThreadRPCServer incorrect password attempt from 127.0.0.1:47724 2022-01-27T10:22:44Z ThreadRPCServer incorrect password attempt from 127.0.0.1:47726 2022-01-27T10:23:17Z Socks5() connect to nkp*****.onion:8333 failed: host unreachable 2022-01-27T10:23:42Z ThreadRPCServer incorrect password attempt from 127.0.0.1:47930 2022-01-27T10:23:44Z ThreadRPCServer incorrect password attempt from 127.0.0.1:47932 2022-01-27T10:23:45Z ThreadRPCServer incorrect password attempt from 127.0.0.1:47934 2022-01-27T10:24:45Z ThreadRPCServer incorrect password attempt from 127.0.0.1:48104 2022-01-27T10:24:45Z ThreadRPCServer incorrect password attempt from 127.0.0.1:48106 2022-01-27T10:24:56Z New outbound peer connected: version: 70016, blocks=720587, peer=44 (outbound-full-relay) 2022-01-27T10:25:14Z Socks5() connect to gtt*****.onion:8333 failed: host unreachable 2022-01-27T10:25:21Z ThreadRPCServer incorrect password attempt from 127.0.0.1:48228 │ 2022-01-27T10:25:45Z ThreadRPCServer incorrect password attempt from 127.0.0.1:48286ug.log │ 2022-01-27T10:25:46Z ThreadRPCServer incorrect password attempt from 127.0.0.1:48288

I don't know what that means

openoms commented 2 years ago

it is probably another app. There was a bug in raspiblitz with electrs not changing the password B.

Can edit in: /home/electrs/.electrs/config.toml

GerdOpp commented 2 years ago

Thanks for the info. True, electrs was not running. Editing the password in config.toml solveed it.

Is there an automatic update option for electrs in the RaspiBlitz? Or I have to manually edit if I change the password until next RaspiBlitz version?

GerdOpp commented 2 years ago

Sorry to bother again. The same effect now has happened as last time:

So seems that something mixes up the system when starting the JoinmarketQT.

GerdOpp commented 2 years ago

How can I check this? How can I run source _functions.sh?

For now I am not sure where the problem is, but if you'd like help to debug can run: source _functions.sh and test the functions: generateJMconfig and getRPC print

both should show the correct values

openoms commented 2 years ago

Thanks for the info. True, electrs was not running. Editing the password in config.toml solveed it.

Is there an automatic update option for electrs in the RaspiBlitz? Or I have to manually edit if I change the password until next RaspiBlitz version?

yes, will be fixed in the next raspiblitz version (already in the dev branch)

openoms commented 2 years ago

How can I check this? How can I run source _functions.sh?

For now I am not sure where the problem is, but if you'd like help to debug can run: source _functions.sh and test the functions: generateJMconfig and getRPC print

both should show the correct values

these are simply commands you type in the terminal at /home/joinmarket (where the _functions.sh script is)

I have tried and cannot reproduce the problem. Is there something weird in your wallet's name maybe? is the wallet name only numbers and letters, no spaces? There is dot before the extension of course.

Also does it happen if you generate another wallet (leave it empty, just to test)?

GerdOpp commented 2 years ago

I have many wallets in the directory. But even the window is not opened where I can type in the wallet name to be displayed

GerdOpp commented 2 years ago
admin@raspberrypi:/home/joinmarket $ source _functions.sh
admin@raspberrypi:/home/joinmarket $ generateJMconfig
# The joinmarket.cfg is present

sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
# Edited the joinmarket.cfg to connect to IRC servers over Tor only.

# editing the joinmarket.cfg with the local bitcoin RPC settings.
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
rpc_user = raspibolt
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
# rpc_password = mypass
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
# rpc_port = 8332
sed: can't read /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
# using the bitcoind wallet: wallet.dat
GerdOpp commented 2 years ago

admin@raspberrypi:/home/joinmarket $ getRPC print

# Reading the bitcoind RPC settings from the joinmarket.cfg
-bash: /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
-bash: /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
-bash: /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
-bash: /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
-bash: /home/joinmarket/.joinmarket/joinmarket.cfg: Permission denied
GerdOpp commented 2 years ago

I can generate a new testwallet ok. But if I want to use any other function, e.g. "m0" show first mixdepth or DISPLAY, the next screen is immediately

ESC pressed

Press ENTER to return to the menu.

openoms commented 2 years ago

fix the owner of that file:

sudo chown joinmarket:joinmarket /home/joinmarket/.joinmarket/joinmarket.cfg

this is likely a result of a bug in raspiblitz changing the owner. Will be sorted for the next release also. Will put a check in the joininbox startup as well.

GerdOpp commented 2 years ago

Funny thing is the QT seems to work as usual. I can open a wallet and read it from the blockchain I can freeze and unfreeze UTXOs

GerdOpp commented 2 years ago

fix the owner of that file:

sudo chown joinmarket:joinmarket /home/joinmarket/.joinmarket/joinmarket.cfg

Does this command give any feedback? I used it but the outputs are the same as above with many "Permission denied"

GerdOpp commented 2 years ago

Maybe I made a mistake. I executed the above commands from "admin@raspberrypi:/home/joinmarket $" Now I did it from "(jmvenv) joinmarket@raspberrypi:~ $ "

Results are:

----------------------------------------
(jmvenv) joinmarket@raspberrypi:~ $ source _functions.sh
----------------------------------------
(jmvenv) joinmarket@raspberrypi:~ $ generateJMconfig
# The joinmarket.cfg is present

# Edited the joinmarket.cfg to connect to IRC servers over Tor only.

# editing the joinmarket.cfg with the local bitcoin RPC settings.
rpc_user = raspibolt
# rpc_password = mypass
# rpc_port = 8332
# using the bitcoind wallet: wallet.dat

-------------------------------------------------------

(jmvenv) joinmarket@raspberrypi:~ $ getRPC print
# Reading the bitcoind RPC settings from the joinmarket.cfg
raspibolt mypass 127.0.0.1 8332 wallet.dat
(jmvenv) joinmarket@raspberrypi:~ $ 
openoms commented 2 years ago

I just see now. You are running the commands from admin (raspiblitz). They are built for joininbox (joinmarket user).

GerdOpp commented 2 years ago

I just see now. You are running the commands from admin (raspiblitz). They are built for joininbox (joinmarket user).

Thats what I just thought. The last outputs are from the (jmvenv) joinmarket@raspberrypi.

There the values are the same but still no success

openoms commented 2 years ago

Maybe I made a mistake. I executed the above commands from "admin@raspberrypi:/home/joinmarket $" Now I did it from "(jmvenv) joinmarket@raspberrypi:~ $ "

Results are:

----------------------------------------
(jmvenv) joinmarket@raspberrypi:~ $ source _functions.sh
----------------------------------------
(jmvenv) joinmarket@raspberrypi:~ $ generateJMconfig
# The joinmarket.cfg is present

# Edited the joinmarket.cfg to connect to IRC servers over Tor only.

# editing the joinmarket.cfg with the local bitcoin RPC settings.
rpc_user = raspibolt
# rpc_password = mypass
# rpc_port = 8332
# using the bitcoind wallet: wallet.dat

-------------------------------------------------------

(jmvenv) joinmarket@raspberrypi:~ $ getRPC print
# Reading the bitcoind RPC settings from the joinmarket.cfg
raspibolt mypass 127.0.0.1 8332 wallet.dat
(jmvenv) joinmarket@raspberrypi:~ $ 

all good. Can also test:

checkRPCwallet

and: ./info.qtgui.sh

openoms commented 2 years ago

check the owner of the data directory with

sudo ls -la /mnt/hdd/app-data/.joinmarket

and if it is not joinmarket, fix with:

sudo chown -R joinmarket:joinmarket /mnt/hdd/app-data/.joinmarket
GerdOpp commented 2 years ago
(jmvenv) joinmarket@raspberrypi:~ $ checkRPCwallet
# Reading the bitcoind RPC settings from the joinmarket.cfg
# Making sure the set wallet.dat wallet is present in bitcoind
# The wallet: wallet.dat is present and loaded in the connected bitcoind

with "./info.qtgui.sh" it shows the Choose a desktop os window

GerdOpp commented 2 years ago

If I do LOCAL (connect to local Bitcoin...) it still gives:

2022-01-27T19:57:08Z ThreadRPCServer incorrect password attempt from 127.0.0.1:32794 2022-01-27T19:57:55Z ThreadRPCServer incorrect password attempt from 127.0.0.1:32942 2022-01-27T19:58:09Z ThreadRPCServer incorrect password attempt from 127.0.0.1:32964 2022-01-27T19:58:09Z ThreadRPCServer incorrect password attempt from 127.0.0.1:32966 2022-01-27T19:59:09Z ThreadRPCServer incorrect password attempt from 127.0.0.1:33158 2022-01-27T19:59:09Z ThreadRPCServer incorrect password attempt from 127.0.0.1:33160 2022-01-27T19:59:34Z ThreadRPCServer incorrect password attempt from 127.0.0.1:33252 2022-01-27T19:59:42Z New outbound peer connected: version: 70016, blocks=720645, peer=76 (block-relay-only) 2022-01-27T20:00:10Z ThreadRPCServer incorrect password attempt from 127.0.0.1:33336 2022-01-27T20:00:10Z ThreadRPCServer incorrect password attempt from 127.0.0.1:33338

GerdOpp commented 2 years ago

I am sending you a video via telegram for demonstration

openoms commented 2 years ago

no need. it is just your bitcoin debug logs. Not Joinmarket /joininbox related. Some app on your raspiblitz does not have the right password. you will find out by it not working.

Is your joininbox working now?

GerdOpp commented 2 years ago

Thats actually the problem I have. Joininbox is not working. check the video

GerdOpp commented 2 years ago

Reboot does not change anything.

I don't know another terminal as the one included in Linux Mint. I am already happy, that I can handle that, ...as old windows user. ;-)

openoms commented 2 years ago

As I cannot reproduce the issue will leave it open for anyone else to find.

If you'd like to try there plenty other alternatives to the built-in terminal. Can try another and uninstall later: https://linuxhint.com/best_terminal_aternatives_ubuntu/

GerdOpp commented 2 years ago

Maybe it helps that I can reproduce the error repeatedly. It appears each time when JoininBox is updated from 0.6.1 to v0.6.6. Please see the detailed sequence below:

RaspiBlitz Version 1.7.1

  1. Remove JoinMarket via the RaspiBlitz menu

  2. Re-Install Joinmarket via the RaspiBlitz menu

  3. RESET the joinmarket.cfg to the defaults Status: JoininBox v0.6.1 JoinMarket v0.9.2 -> JoininBox works correctly

  4. Update JoininBox to v0.6.6 Status: JoininBox v0.6.6 JoinMarket v0.9.2 -> JoininBox is NOT working correctly

  5. Update JoinMarket to v0.9.4 + reset the joinmarket.cfg Status: JoininBox v0.6.6 JoinMarket v0.9.4 -> JoininBox is NOT working correctly

openoms commented 2 years ago

Here are the commands to downgrade the joininbox scripts to a previous version from: https://github.com/openoms/joininbox/releases First specify the version to use (using v0.6.1 as the example):

VERSION="v0.6.1"

then run the update (copy - paste the whole block or line-by-line):

echo "# Removing the joininbox source code"
sudo rm -rf /home/joinmarket/joininbox
echo "# Downloading the latest joininbox source code"
sudo -u joinmarket git clone https://github.com/openoms/joininbox.git /home/joinmarket/joininbox
cd /home/joinmarket/joininbox
sudo -u joinmarket git reset --hard $VERSION

echo "# Copying the scripts in place"
sudo -u joinmarket cp /home/joinmarket/joininbox/scripts/*.* /home/joinmarket/
sudo -u joinmarket cp /home/joinmarket/joininbox/scripts/.* /home/joinmarket/ 2>/dev/null
sudo -u joinmarket chmod +x /home/joinmarket/*.sh
GerdOpp commented 2 years ago

Downgrading does not repair the problem. I have downgraded 0.6.6.->0.6.5.->0.6.4.

My only remaining idea would be to try it in reverse order. e.g. start with removing JM and re-install from raspiblitz 1.7.1 and then upgrading step by step 0.6.1->0.6.6. Don't know if thats possible at all.

But if I am the only one to get this problem maybe I just wait until the next raspiblitz version and hope it will be ok then.

However, I am wondering if it is not possible to show, what messages are displayed on the screen right after choosing "DISPLAY" in the menu and before the final message comes:

# ESC pressed
# Press ENTER to return to the menu.
GerdOpp commented 2 years ago

I think the code above for the downgrade might also work for a step-by-step upgrade. I will test it.

GerdOpp commented 2 years ago

I can reproduce the following:

So for me it looks as if there is something going wrong at the switch from v0.6.4 to v0.6.5.

Would it be safe to stay running on v0.6.4. or does this have any disadvantage?

GerdOpp commented 2 years ago

I think I might have found the reason for the strange behavior of my JoininBox installation, mentioned in issue #76

To test, I have taken a another RaspiBlitz, installed v1.7.1 + Joinmarket/JoinBox and updated both to the latest versions. I created a new wallet and could DISPLAY the contents of all mixdepths without problems. But then I created a second wallet and now when I wanted to use DISPLAY in JoininBox, exactly the same behavior appeared as on my first Raspiblitz: There was no display but the screen immediately jumped to the screen stating: "# ESC pressed & # Press ENTER to return to the menu."

So I deleted one of the 2 wallet files, tried again and this time the DISPLAY command in the menu worked fine. I re-checked by creating another wallet->not working and again deleting the second wallet->working fine!

Have you tried before to use the menu functions when you have several wallets in the wallet folder?

In former JoininBox versions this has never been a problem. After choosing DISPLAY, it opened the folder with all available wallets and you could type in the one you wanted.

Could you cross-check this on your side?

GerdOpp commented 2 years ago

I have also created 3 wallets and it is not working. After deleting 2 of them, it works.

GerdOpp commented 2 years ago

The difference how ever to the earlier versions of JoininBox is that after choosing DISPLAY, it is not showing the wallet folder to choose but directly executes the wallet-tool command with the wallet available: ----------------------- Running the command: python wallet-tool.py testwallet2.jmdat ------------------------

openoms commented 2 years ago

If there is only one wallet there ia no choice offered. This is intended.

Please keep using the version working for you until this can be reproduced by someone else or a solution is found. Likely a full reinstall with a RaspiBlitz SDcard change will solve it.

openoms commented 2 years ago

@GerdOpp the new RaspiBlitz v1.7.2 with JoininBox 0.6.7 is out: https://github.com/rootzoll/raspiblitz/#downloading-the-software curious if updating (reflashing the SDcard) will solve this.

GerdOpp commented 2 years ago

@openoms I updated to RaspiBlitz v1.7.2 with JoininBox 0.6.7 and now everything seems to work as it should. Thanks!

openoms commented 2 years ago

Great, thanks for the report will refer back to it if needed. Will close now as solved.

openoms commented 2 years ago

I could reproduce similar when opening the menu in a small terminal window where the dialog window is bigger than the window.

If anyone has the issue try to increase the window size (or reduce the font size) and see if it is still an issue.