Author

Topic: Fresh install of Armory Fails to spawn DB! (Read 196 times)

legendary
Activity: 3738
Merit: 1360
Armory Developer
June 24, 2019, 02:05:46 AM
#6
Try the noasm .deb
newbie
Activity: 17
Merit: 2
TL;DR: ArmoryDB on commandline gave Illegal Instruction.  Building from source solved issue.  Thanks!

########## Not gonna be that guy that says "fixed it!" with no info.

Uninstalled Armory to build from source, read goatpig's post, reinstalled 96.5 from .deb.  Result:

$ ArmoryDB
/home/happy
/home/happy
/home/happy/.armory is not a valid path
logging in /home/happy/.armory/dbLog.txt
-INFO  - 18:22:04: (main.cpp:32) Running on 4 threads
-INFO  - 18:22:04: (main.cpp:33) Ram usage level: 50
-INFO  - 18:22:04: (BDM_Server.h:263) Listening on port 9001

# Hangs so I close

^C

# Ran Armory from Mint Menu, got "Failed to spawn DB", closed Armory

$ ArmoryDB
/home/happy
/home/happy
logging in /home/happy/.armory/dbLog.txt
-INFO  - 18:22:37: (main.cpp:32) Running on 4 threads
-INFO  - 18:22:37: (main.cpp:33) Ram usage level: 50
-INFO  - 18:22:37: (BlockUtils.cpp:915) blkfile dir:  /media/vault/blockchains/bitcoin/blocks
-INFO  - 18:22:37: (BlockUtils.cpp:916) lmdb dir: /home/happy/.armory/databases
-INFO  - 18:22:37: (lmdb_wrapper.cpp:388) Opening databases...
-INFO  - 18:22:37: (BDM_Server.h:263) Listening on port 9001
Illegal instruction
$

$ dpkg -r armory

Built v0.96 from source.  Build failed:

lrelease: could not exec '/usr/lib/x86_64-linux-gnu/qt5/bin/lrelease': No such file or directory

Fix this by: sudo apt-get install qttools5-dev-tools

On a hunch that the illegal instruction was from missing qt library I ran make clean, then reinstalled Armory from .deb.  Configured it, same results, could not spawn DB.  Illegal instruction.  Uninstalled from deb.

Realized that there is a v0.96.5 tag.  Switched to it, verified signature, make clean (again), autogen, configure, make.  Build is successful.

$ python ArmoryQt.py
Traceback (most recent call last):
  File "update_version.py", line 14, in
    f = open(hash_loc, "r")
IOError: [Errno 2] No such file or directory: '.git/6640d6257ab0c37013e5cd4b99681a5cfc3'
/home/happy
********************************************************************************
Loading Armory Engine:
   Armory Version:       0.96.5
   Armory Build:         None
   PyBtcWallet  Version: 1.35
Detected Operating system: Linux
   OS Variant            : ('LinuxMint', '18.3', 'sylvia')
   User home-directory   : /home/happy
   Satoshi BTC directory : /media/vault/blockchains/bitcoin
   Armory home dir       : /home/happy/.armory/
   ArmoryDB directory     : /home/happy/.armory/databases
   Armory settings file  : /home/happy/.armory/ArmorySettings.txt
   Armory log file       : /home/happy/.armory/armorylog.txt
   Do wallet checking    : True
(ERROR) ArmoryUtils.py:3735 - Unsupported language  specified. Defaulting to English (en)
/home/happy/BitcoinArmory/armoryengine/Transaction.py:3126: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
"sni-qt/8602" WARN  20:54:26.857 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
(WARNING) SDM.py:402 - Spawning DB with command: /home/happy/BitcoinArmory/ArmoryDB --db-type="DB_FULL" --cookie --satoshi-datadir="/media/vault/blockchains/bitcoin/blocks" --satoshi-port=8333 --datadir="/home/happy/.armory/" --dbdir="/home/happy/.armory/databases"


# Armory launches and builds databases.

Thanks!


legendary
Activity: 3738
Merit: 1360
Armory Developer
Start ArmoryDB from the command line

Code:
> ArmoryDB

What happens?
newbie
Activity: 17
Merit: 2
I was using an older version of Armory on Linux Mint 18.1
How old? I forget exactly when, but some older versions of Armory had some database issues/instability that could cause ArmoryDB to choke. I'm not sure if it presented as a "Failed to spawn ArmoryDB" error.
I don't remember which version it was, but ya it was always a bit finicky even back when I was using it more often.  I simplified things a bit, when explaining what I tried to do with the old version.  Tried that, factory resets, deleting the databases folder... various attempts caused it to hang in various points so I decided to start fresh.

Quote
but have you sucessfully cleared the database while using Armory 0.96.5?

Every time it says "fails to spawn the DB!" and goes into offline mode.
Quote
Close Armory. Wipe the ~/.armory/databases folder. Then start Armory again. See if it lets you create a wallet this time?
No luck.  Fails to spawn DB, goes to offline mode, creating a wallet crashes Armory.  Specifically starting in Offline mode also crashes on create wallet (whether from the intro screen or the drop down menu).
Quote
ArmoryDB could also be choking due to being compiled with ASM code that your CPU doesn't support? You could try compiling Armory yourself in case this is a problem?
Interesting idea.  I'll give it a shot.

BTW, when launching in online mode (but failover to offline) the Dashboard is empty except for the two loading bars which have no activity.  When launching directly to offline mode the Dashboard is as expected.
I also realized that ps -e | grep Arm reports the ArmoryDB process as defunct, but if I open in offline mode it reports no processes.  So what is the name of the main Armory process?

member
Activity: 270
Merit: 36
I was using an older version of Armory on Linux Mint 18.1
How old? I forget exactly when, but some older versions of Armory had some database issues/instability that could cause ArmoryDB to choke. I'm not sure if it presented as a "Failed to spawn ArmoryDB" error.
You mentioned you tried to rebuild & rescan while on the older version, but have you sucessfully cleared the database while using Armory 0.96.5?
Close Armory. Wipe the ~/.armory/databases folder. Then start Armory again. See if it lets you create a wallet this time?

ArmoryDB could also be choking due to being compiled with ASM code that your CPU doesn't support? You could try compiling Armory yourself in case this is a problem?
newbie
Activity: 17
Merit: 2
I'll try to be detailed...
I was using an older version of Armory on Linux Mint 18.1.  I had not booted the machine in months.  After syncing the blockchain and starting Armory everything looked fine with the watching only wallet I had loaded.  After importing other wallets from paper backups the transaction history for the watching only wallet was reduced to two entries.  The newly imported wallets had 0 balance.  I checked their addresses and "Used" listed no addresses.  This is wrong.  Even if somehow coins were stolen there should be Used addresses, or transaction history, or something.  Rebuild and Rescan Databases hangs for hours.

I remove Armory.  I delete my copy of the blockchain and update bitcoin-core.  I check the version is correct:  https://pastebin.com/9EqTBfsz

I run bitcoin-core via:

nohup bitcoind -datadir= ${btc_local_chain} -daemon >> ${btc_local_chain}/bitcoind.log

where btc_local_chain is defined as:  btc_local_chain="/media/vault/blockchains/bitcoin"

I allow the blockchain to fully sync.  I check the blockheight is correct via:

btc-cli getblockcount
wget -q -O - http://blockchain.info/q/getblockcount

I update gcc and g++ and their symlinks, and confirm version:
https://pastebin.com/L8BDy8ku
https://pastebin.com/Z0DZV7hx

I try installing and uninstalling armory 0.96.5 and 0.96.4 (the GCC 7.2 and 4.9 versions) various times, always getting "Failed to spawn DB!"
I start documenting for this post:

I update mint to 18.3 through Software Manager GUI.  I reboot.

I remove Armory and install armory_0.96.5_amd64_gcc7.2.deb:
https://pastebin.com/qhS8iDRf

I reboot.

I start Armory in offline mode and uncheck "Let Armory run Bitcoin Core..."
I set Bitcoin Home Dir to: /media/vault/blockchains/bitcoin

I check ArmorySettings.txt to confirm the blockchain location is properly set:
https://pastebin.com/BJ0Yt5vz

I create armoryqt.conf and armorydb.conf in ~/.armory/, each contain a single line:
satoshi-datadir="/media/vault/blockchains/bitcoin"

I run: sudo apt-get update
I run: sudo apt-get dist-upgrade
https://pastebin.com/AGmYtbQ4

I reboot.

I run bitcoind as before, and again check the blockheight is correct.  I double check with https://www.blockchain.com/btc/block-height/

I wait for my HDD to stop spinning.

I empty the armorylog.txt file for clarity.

I start Armory from Linux Mint Menu.  Again:  Armory Failed to spawn the DB!
I skip creating a wallet and close Armory.  I check the logs:
armorylog.txt: https://pastebin.com/x4dh1Eqf
dbLog.txt: https://pastebin.com/ajdMszs3

The database invocation looks correct.  It simply fails.
I launch Armory again, again the DB error.  I "create my first wallet" with all defaults and password = password, just to test.
Armory immediately closes without creating the wallet.  I check ps -e | grep armory and it is not running.  There are no .wallet files in the directory.
I launch Armory again.  DB Error.  It wants me to create a wallet.  I click skip.  I do Help->Rebuild and Rescan Databases.
I quit Armory and launch again.  DB Error.  It wants me to create a wallet.
Logfile from the last two launches:  https://pastebin.com/eayz9YNG   [I copied this before closing Armory].

At this point I feel like my only option is to reformat all drives, install the latest mint, download blockchain again, etc. etc. etc.  I'd rather not.  Any other options?

Please help, thank you.
Jump to: