2

As the title states, I am using Linux and the v0.12 GUI does not connect to a local or remote node. In addition, I am seeing this particular error in monero-wallet-gui.log:

ERROR default src/wallet/api/utils.cpp:46 error: std::bad_cast

1 Answer 1

1

This particular issue is resolved in GUI v0.13.

This bad_cast issue is currently being investigated. In the meantime, there are two (temporary) workarounds, namely (i) using CLI v0.12 and (ii) using GUI v0.11 (with monerod v0.12 if you're using a local node).

Local node

Workaround 1:

  1. Exit the GUI.

  2. Browse to the directory your wallet files are located (~/Monero/<wallet-name>)

  3. Copy the wallet files to the same directory as v0.12 CLI (monero-wallet-cli).

  4. Open a new terminal from the same directory as v0.12 CLI.

  5. If you specified a custom data directory (or, in other words, if you specified a Blockchain location in the GUI), skip this step and proceed to step 5. If you did not specify a custom data directory, type:

    ./monerod

  6. If you specified a custom data directory, we have to add the --data-dir flag. That is:

    ./monerod --data-dir path/to/data/directory

For instance, if you used Monero as data directory on an external drive, your command would be:

./monerod  --data-dir /Volumes/externaldrive/Monero

Note that the --data-dir flag has to be applied every time you start the daemon (monerod).

  1. Open another terminal from the same directory as v0.12 CLI.

  2. Type -> ./monero-wallet-cli

  3. Enter your wallet name.

  4. Enter your password.

  5. The wallet should now open in the CLI and perform a refresh.

  6. Once it's fully refreshed, you can transact. I'd advise to use this guide for assistance:

https://getmonero.org/resources/user-guides/monero-wallet-cli.html


Workaround 2:

  1. Exit GUI v0.12.

  2. Replace monerod in the v0.11 directory with the v0.12 monerod

  3. Browse to the directory your wallet files are located (~/Monero/<wallet-name>)

  4. Rename <wallet-name> (the file without extension) to <wallet-name>-old

  5. Open GUI v0.11. It should now work properly with monerod v0.12.

There is, unfortunately, one salient caveat with this workaround. That is, input sorting is required for v7 and GUI v0.11 is not able to sort inputs. As a result, creating a 2 input 2 output transaction will, on average, fail 50% of the time. Similarly, creating a 3 input 2 output transaction will, on average, fail 33% of the time. Creating a 1 input 2 output transaction, however, should not fail.


Remote node

Workaround 1:

  1. Exit the GUI.

  2. Browse to the directory your wallet files are located (~/Monero/<wallet-name>)

  3. Copy the wallet files to the same directory as v0.12 CLI (monero-wallet-cli).

  4. Open a new terminal from the same directory as v0.12 CLI.

  5. Type -> ./monero-wallet-cli --daemon-address <remote-node-address>:<remote-node-port>

  6. For instance, if you used node.moneroworld.com with port 18089 as remote node, the command would be -> ./monero-wallet-cli --daemon-address node.moneroworld.com:18089

  7. Enter your wallet name.

  8. Enter your password.

  9. The wallet should now open in the CLI and perform a refresh.

  10. Once it's fully refreshed, you can transact. I'd advise to use this guide for assistance:

https://getmonero.org/resources/user-guides/monero-wallet-cli.html


Workaround 2:

  1. Exit GUI v0.12.

  2. Browse to the directory your wallet files are located (~/Monero/<wallet-name>)

  3. Rename <wallet-name> (the file without extension) to <wallet-name>-old

  4. Open GUI v0.11. It should now work properly.

There is, unfortunately, one salient caveat with this workaround. That is, input sorting is required for v7 and GUI v0.11 is not able to sort inputs. As a result, creating a 2 input 2 output transaction will, on average, fail 50% of the time. Similarly, creating a 3 input 2 output transaction will, on average, fail 33% of the time. Creating a 1 input 2 output transaction, however, should not fail.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.