johnlu
|
|
May 12, 2017, 01:02:52 PM |
|
I got a question... I know that I can close bitcoind with bitcoin-cli stop command. Is there any command or any way to safely stop ArmoryDB? Now I use pkill -9 ArmoryDB.
|
|
|
|
achow101
Staff
Legendary
Offline
Activity: 3542
Merit: 6884
Just writing some code
|
|
May 12, 2017, 03:31:32 PM |
|
I got a question... I know that I can close bitcoind with bitcoin-cli stop command. Is there any command or any way to safely stop ArmoryDB? Now I use pkill -9 ArmoryDB.
I have just been using Ctrl+C (when ArmoryDB is in the terminal) or sudo kill -9 to kill it and I have not experienced any issues. I think that is the only way to actually stop ArmoryDB when you run it yourself.
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3738
Merit: 1360
Armory Developer
|
|
May 12, 2017, 06:13:36 PM |
|
I didn't "import" with that feature, but copied some old wallets into my armory folder.
So it comes down to wallets with imports crashing Armory on startup?
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3738
Merit: 1360
Armory Developer
|
|
May 12, 2017, 06:14:26 PM |
|
I got a question... I know that I can close bitcoind with bitcoin-cli stop command. Is there any command or any way to safely stop ArmoryDB? Now I use pkill -9 ArmoryDB.
Not really. The client has the code for it but it's not really humanly reproducible. The DB is fine with ungraceful shutdowns, won't phase it.
|
|
|
|
Portnoy
Legendary
Offline
Activity: 2030
Merit: 1000
My money; Our Bitcoin.
|
|
May 12, 2017, 07:34:26 PM |
|
Windows 7 64bit Bitcoin Core 0.14.0 Armory 0.96
I upgraded to 0.96 from 0.94.1 and after several crashes (usually at the scanning transaction history stage), restarts and reboots I finally got Armory to startup normally and show transactions and balances.
Everything seemed to be fine after several days, until I did a normal transaction yesterday. I sent some bitcoin from an offline wallet using the method of a usb key to move the tx file back and forth. The transaction went through okay. It got confirmed quickly as evidenced but the receiving wallet and blockchain.info. But Armory didn't show the transaction as having any confirmations(when it really had several), and thus making a lot of the BTC in that wallet unspendable, when it should be spendable.
I decided to do a 'Rescan Balance' to see if that would update the list of txs to show the proper number of confirmations instead of 0. When next I tried to start Armory it stopped working... I tried more times and either ArmoryQt would stop-working/crash or ArmoryDB would, usually at the scanning transaction history stage, or at scanning or resolving tx hashes. After each crash the dblog.txt is always empty and the end of armorylog.txt had several lines of: (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode
Next I tried to do a 'Rebuild and Rescan Databases' which didn't help after several attempts(including reboots of the computer)... still the crashes.
I next tried 'Clear All Unconfirmed' in case it was that last tx (which didn't show as confirmed in Armory but really was confirmed) was the problem. That didn't work right away but after a reboot it seemed to startup normally again. But that transaction was not included in the list of transactions and the balance of the wallet was back to where it was before that transaction; i.e. incorrect.
Of course I am reluctant to do any more transactions from that wallet when Armory can't even display the balance correctly.
Again I tried to do a 'Rescan Balance'... but back to the crashing of ArmoryDB. Even when I try 'Clear All Unconfirmed' and reboot the computer again. It gets as far as showing in the ArmoryQt client, 'Resolving Tx Hashes'... showing a small percentage but also a small number of seconds to go: e.g. 3% 5 seconds.
Still dblog is empty and armorylog ends with the line: (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode.
The ArmoryDB console, after a Windows pop-up error message "ArmoryDB.exe has stopped working", and before I choose to 'Close the program' shows several lines of incremented error messages... The last few lines in the ArmoryDB console are: -ERROR- 1494614491: (..\BlockchainScanner.cpp:1405) Block deser error while processing tx filters: -ERROR- 1494614491: (..\BlockchainScanner.cpp:1406) raw data does not match expected block hash -ERROR- 1494614491: (..\BlockchainScanner.cpp:1407) Skipping this block -ERROR- 1494614492: (..\BlockchainScanner.cpp:1405) Block deser error while processing tx filters: -ERROR- 1494614492: (..\BlockchainScanner.cpp:1406) raw data does not match expected block hash -ERROR- 1494614492: (..\BlockchainScanner.cpp:1407) Skipping this block
I am wondering if I should try the 'Factory Reset' option next or wait for the next update where this bug is fixed...
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3738
Merit: 1360
Armory Developer
|
|
May 12, 2017, 08:32:51 PM |
|
I am wondering if I should try the 'Factory Reset' option next or wait for the next update where this bug is fixed...
Build with DB_BARE. Would a PPA be possible?
Don't know what that means.
|
|
|
|
Portnoy
Legendary
Offline
Activity: 2030
Merit: 1000
My money; Our Bitcoin.
|
|
May 12, 2017, 08:58:23 PM |
|
I am wondering if I should try the 'Factory Reset' option next or wait for the next update where this bug is fixed...
Build with DB_BARE. I don't compile myself but download the binaries.
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3738
Merit: 1360
Armory Developer
|
|
May 12, 2017, 09:05:06 PM |
|
As in build the DB with --db-type=DB_BARE
|
|
|
|
Ente
Legendary
Offline
Activity: 2126
Merit: 1001
|
|
May 12, 2017, 09:13:05 PM |
|
I didn't "import" with that feature, but copied some old wallets into my armory folder.
So it comes down to wallets with imports crashing Armory on startup? I have two old wallet files, both have an imported privatekey. The first wallet file has a "regular" address imported, and works fine (that specific imported address is empty though). The second wallet file has that compressed type privkey (I think) imported. Armory segfaults immediately on startup with that wallet in its folder. Ente
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3738
Merit: 1360
Armory Developer
|
|
May 12, 2017, 09:29:14 PM |
|
You mean you managed to import an compressed priv key into an Armory wallet? That's damn weird. Can you try to reproduce this on testnet?
|
|
|
|
Portnoy
Legendary
Offline
Activity: 2030
Merit: 1000
My money; Our Bitcoin.
|
|
May 13, 2017, 12:12:15 AM |
|
As in build the DB with --db-type=DB_BARE
Even before seeing this I tried something else. I shutdown as many background programs etc. as I could to give me as much RAM as possible. I am back to where the program starts and shows the balances. I didn't have memory problems before. Does 0.96 need greater than 8 GB of RAM? I have 9GB in total on this machine before anything loads. What would be a good amount? But again...That transaction still doesn't show up after all these rescans; the wallet still has the old wrong balance. What can be done about that Watching-Only wallet? If I try to send any more transactions from it there will no doubt be problems won't there?
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3738
Merit: 1360
Armory Developer
|
|
May 13, 2017, 12:22:04 AM |
|
It needs a lot of RAM during the scan phase, but maintenance is around 350MB. You have to consider Core and your OS are also running, which will eat ~3GB+ each as well. You can tone down the RAM utilization by lowering RAM target and thread count during the build & scan. Your issue is not fixed regardless, if you didn't rebuild your DB, it is still corrupt. You want to delete your Armory /databases folder, shut down your Bitcoin node and start ArmoryDB with the following command line: --db-type=DB_BARE --ram-usage=1 --thread-count=(whatever you want)
Once the DB is done building (says "Enabling zero conf"), you can start ArmoryQt on top of it and the DB will start scanning. Once it is done scanning, you can shut this whole thing down and go back to regular operations.
|
|
|
|
Portnoy
Legendary
Offline
Activity: 2030
Merit: 1000
My money; Our Bitcoin.
|
|
May 13, 2017, 02:21:56 AM |
|
It needs a lot of RAM during the scan phase, but maintenance is around 350MB. You have to consider Core and your OS are also running, which will eat ~3GB+ each as well. You can tone down the RAM utilization by lowering RAM target and thread count during the build & scan. Your issue is not fixed regardless, if you didn't rebuild your DB, it is still corrupt. You want to delete your Armory /databases folder, shut down your Bitcoin node and start ArmoryDB with the following command line: --db-type=DB_BARE --ram-usage=1 --thread-count=(whatever you want)
Once the DB is done building (says "Enabling zero conf"), you can start ArmoryQt on top of it and the DB will start scanning. Once it is done scanning, you can shut this whole thing down and go back to regular operations. Okay I did all that. Everything went smoothly. Everything started quickly when I went back to regular operations. Thanks for all the help. But again... That transaction still doesn't show up after all these rescans; the wallet still has the old wrong balance. What can be done about that Watching-Only wallet? If I try to send any more transactions from it there will no doubt be problems won't there?
Did I mess up that wallet when I used 'Clear All Unconfirmed' when the transaction really wasn't unconfirmed just that Armory never recognized it as such?
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3738
Merit: 1360
Armory Developer
|
|
May 13, 2017, 10:59:54 AM |
|
Did I mess up that wallet when I used 'Clear All Unconfirmed' when the transaction really wasn't unconfirmed just that Armory never recognized it as such?
What's your top block in the bottom right corner?
|
|
|
|
Ente
Legendary
Offline
Activity: 2126
Merit: 1001
|
|
May 13, 2017, 01:26:56 PM |
|
You mean you managed to import an compressed priv key into an Armory wallet? That's damn weird. Can you try to reproduce this on testnet?
In fact I am not entirely sure what exactly I imported. It certainly was a vanity-address, generated with vanitygen. I imported the private key. I couldn't spend funds on that address with Armory. I believe I sent the funds to the vanity-address I created, but Armory showed a different address when importing the privkey. But then I did see the funds in a pre-0.96 Armory, just couldn't spend them. I am not too sure. I remember that I could import privkeys created by bitcoinj, but couldn't see the funds there, and that bitcoinj used compressed keys back then already. Anyway, I'll just wait for the final version of the new wallet format and check again then. If you want I'll send you the crashing wallet to have a look by yourself. It's all not too important for me. But maybe I found some weird cornercase that helps for finalizing the wallet format? Cheers, Ente
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3738
Merit: 1360
Armory Developer
|
|
May 13, 2017, 01:40:46 PM |
|
If you want I'll send you the crashing wallet to have a look by yourself. It's all not too important for me. But maybe I found some weird cornercase that helps for finalizing the wallet format?
I'd look at a WO copy.
|
|
|
|
Portnoy
Legendary
Offline
Activity: 2030
Merit: 1000
My money; Our Bitcoin.
|
|
May 13, 2017, 05:07:14 PM |
|
Did I mess up that wallet when I used 'Clear All Unconfirmed' when the transaction really wasn't unconfirmed just that Armory never recognized it as such?
What's your top block in the bottom right corner? 455618 ( or something close to that... I didn't write it down before I tried another restart... ) Yes it appears to be stuck there, and now when I start it up again it seems to be stalled at the scanning history stage again... The console has this in it: ... BDM thread failed: empty pool ptr ... Starting address registration process ... running 10 zc parser threads ...
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3738
Merit: 1360
Armory Developer
|
|
May 13, 2017, 06:12:32 PM |
|
You're gonna to delete about 110 blkXXXXX.dat files worth of block data.
|
|
|
|
HyperDesmo
Newbie
Offline
Activity: 4
Merit: 0
|
|
May 13, 2017, 08:28:51 PM |
|
Hi, I'm receiving an error: "Armory failed to spawn the DB!". Could you please help me with this issue? At first I wanted install on F: cause it's my HDD disk, but after this problem appears I switched to C:, so that's why you can see F: in the log. 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1138 - C++ block utilities loaded successfully 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1255 - 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1256 - 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1257 - 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1258 - ************************************************************ 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1259 - Invoked: C:\Program Files (x86)\Armory\ArmoryQt.exe 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1260 - ************************************************************ 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1261 - Loading Armory Engine: 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1262 - Armory Version : 0.96 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1263 - Armory Build: : a3d01aa722 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1264 - PyBtcWallet Version : 1.35 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1265 - Detected Operating system: Windows 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1266 - OS Variant : 8-6.2.9200--Multiprocessor Free 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1267 - User home-directory : C:\Users\XXX\AppData\Roaming 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1268 - Satoshi BTC directory : C:\Users\XXX\AppData\Roaming\Bitcoin\ 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1269 - Armory home dir : C:\Users\XXX\AppData\Roaming\Armory\ 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1270 - Detected System Specs : 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1271 - Total Available RAM : 15.89 GB 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1272 - CPU ID string : Intel64 Family 6 Model 60 Stepping 3, GenuineIntel 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1273 - Number of CPU cores : 8 cores 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1274 - System is 64-bit : True 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1275 - Preferred Encoding : cp1250 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1276 - Machine Arch : amd64 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1277 - Available HDD (ARM) : 18 GB 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1278 - Available HDD (BTC) : 18 GB 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1279 - 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1280 - Network Name: Main Network 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1281 - Satoshi Port: 8333 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1282 - Do wlt check: True 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1283 - Named options/arguments to armoryengine.py: 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - thread_count : -1 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - rescan : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - ignoreAllZC : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - rescanBalance : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - disableModules : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - port : None 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - interport : 8223 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - coverageOutputDir: None 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - forceWalletCheck: False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - regtest : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - rebuild : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - nettimeout : 2 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - datadir : DEFAULT 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - clearMempool : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - offline : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - armoryDBDir : DEFAULT 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - armorydb_port : 9001 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - satoshiPort : DEFAULT 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - useTorSettings : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - netlog : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - keypool : 100 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - coverageInclude : None 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - forceOnline : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - redownload : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - rpcBindAddr : 127.0.0.1 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - armorydb_ip : 127.0.0.1 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - multisigFile : DEFAULT 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - ram_usage : -1 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - mtdebug : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - logDisable : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - settingsPath : C:\Users\XXX\AppData\Roaming\Armory\ArmorySettings.txt 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - language : en 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - db_type : DB_FULL 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - doDebug : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - enableDetSign : True 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - disableConfPermis: False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - testnet : False 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - rpcport : DEFAULT 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - satoshiHome : DEFAULT 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - satoshiRpcport : DEFAULT 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - logFile : C:\Users\XXX\AppData\Roaming\Armory\ArmoryQt.exe.log.txt 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1285 - verbosity : None 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1286 - Other arguments: 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1289 - ************************************************************ 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:1692 - C++ block utilities loaded successfully 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:3590 - Using settings file: C:\Users\XXX\AppData\Roaming\Armory\ArmorySettings.txt 2017-05-13 22:24 (ERROR) -- ArmoryUtils.pyc:3747 - Unsupported language specified. Defaulting to English (en) 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:3750 - Using Language: en 2017-05-13 22:24 (INFO) -- BDM.pyc:368 - Using the asynchronous/multi-threaded BlockDataManager. 2017-05-13 22:24 (INFO) -- BDM.pyc:369 - Blockchain operations will happen in the background. 2017-05-13 22:24 (INFO) -- BDM.pyc:370 - Devs: check TheBDM.getState() before asking for data. 2017-05-13 22:24 (INFO) -- BDM.pyc:371 - Registering addresses during rescans will queue them for 2017-05-13 22:24 (INFO) -- BDM.pyc:372 - inclusion after the current scan is completed. 2017-05-13 22:24 (INFO) -- ArmoryUtils.pyc:3590 - Using settings file: C:\Users\XXX\AppData\Roaming\Armory\ArmorySettings.txt 2017-05-13 22:24 (INFO) -- ArmoryQt.py:2042 - loadWalletsAndSettings 2017-05-13 22:24 (INFO) -- ArmoryQt.py:2102 - Loading wallets... 2017-05-13 22:24 (INFO) -- ArmoryQt.py:2167 - Number of wallets read in: 1 2017-05-13 22:24 (INFO) -- ArmoryQt.py:2172 - Wallet (XXX): "Primary Wallet " (Encrypted) 2017-05-13 22:24 (INFO) -- ArmoryQt.py:1747 - acquiring process mutex... 2017-05-13 22:24 (INFO) -- ArmoryQt.py:1385 - setupUriRegistration 2017-05-13 22:24 (INFO) -- ArmoryQt.py:1453 - Armory already registered for current user. Done! 2017-05-13 22:24 (INFO) -- ArmoryQt.py:558 - Usermode: Advanced 2017-05-13 22:24 (INFO) -- ArmoryQt.py:1681 - Changing usermode: 2017-05-13 22:24 (INFO) -- ArmoryQt.py:1682 - From: Advanced 2017-05-13 22:24 (INFO) -- ArmoryQt.py:1690 - To: Advanced 2017-05-13 22:24 (INFO) -- ArmoryQt.py:1814 - startBitcoindIfNecessary 2017-05-13 22:24 (INFO) -- ArmoryQt.py:1850 - setSatoshiPaths 2017-05-13 22:24 (INFO) -- ArmoryQt.py:1868 - Setting satoshi datadir = F:\Program Files\Armory 2017-05-13 22:24 (ERROR) -- ArmoryQt.py:1808 - Failed to start Armory database: Invalid blockdata path Traceback (most recent call last): File "ArmoryQt.py", line 1793, in startArmoryDBIfNecessary File "SDM.pyc", line 368, in spawnDB BadPath: Invalid blockdata path 2017-05-13 22:24 (INFO) -- ArmoryQt.py:1900 - Setting netmode: 0
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3738
Merit: 1360
Armory Developer
|
|
May 13, 2017, 09:05:25 PM |
|
BadPath: Invalid blockdata path
Specify your block data folder with --satoshi-datadir
|
|
|
|
|