Title: Failed to create BlockDataMap Post by: bill4d on August 02, 2022, 12:16:56 AM Bitcoin Client Software and Version Number: Armoury 0.96.5, Bitcoin Core 23.0
Operating System: MacOS 10.15.7 System Hardware Specs: 16 GB RAM, Core i5 Description of Problem: Armory never comes online, creates rapidly growing log file if process is not quit. Error from dblog.txt file: ... -WARN - 14:23:48: (BlockDataMap.cpp:315) Trying again... -WARN - 14:23:48: (BlockDataMap.cpp:314) Failed to create BlockDataMap for file: /Users/billd/Library/Application Support/Bitcoin/blocks/blk00000.dat -WARN - 14:23:48: (BlockDataMap.cpp:315) Trying again... -WARN - 14:23:48: (BlockDataMap.cpp:314) Failed to create BlockDataMap for file: /Users/billd/Library/Application Support/Bitcoin/blocks/blk00000.dat -WARN - 14:23:48: (BlockDataMap.cpp:315) Trying again... -WARN - 14:23:48: (BlockDataMap.cpp:314) Failed to create BlockDataMap for file: /Users/billd/Library/Application Support/Bitcoin/blocks/blk00000.dat ... Background: I downloaded BitcoinCore (430GB) and after it completed I started up Armory. The GUI starts but there is no change to the "Preparing Database" window. Armory is not frozen/crashed as I can use the menu and manipulate the GUI. But, the above error repeats in the log until I kill the process - this file quickly gets to be 10s of GBs. I have removed the Armory database directory and retried. I also tried using the default pathing as well as specifying things explicitly. Still get the error. From the logs it seems like the pathing is fine. The only non-standard thing (that was a recommended solution) is I am using a sym link from /Users/billd/Library/Application Support/Bitcoin/ to an external SSD due to the space requirements of Bitcoin Core. The log error leads me to believe that Armory is seeing the blocks but for some reason can not create the BlockDataMap ??? thanks for any help and continuing to develop Armory ! Armorylog.txt 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1164 - C++ block utilities loaded successfully 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:689 - Executing popen: sysctl hw.memsize 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:689 - Executing popen: sysctl -n machdep.cpu.brand_string 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1281 - 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1282 - 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1283 - 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1284 - ************************************************************ 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1285 - Invoked: /Users/billd/Applications/tmp/Armory.app/Contents/MacOS/py/usr/local/lib/armory/ArmoryQt.py 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1286 - ************************************************************ 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1287 - Loading Armory Engine: 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1288 - Armory Version : 0.96.5 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1289 - Armory Build: : 8730390989 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1290 - PyBtcWallet Version : 1.35 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1291 - Detected Operating system: MacOSX 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1292 - OS Variant : 10.15.7 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1293 - User home-directory : /Users/billd/Library/Application Support 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1294 - Satoshi BTC directory : /Users/billd/Library/Application Support/Bitcoin 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1295 - Armory home dir : /Users/billd/Library/Application Support/Armory/ 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1296 - Detected System Specs : 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1297 - Total Available RAM : 16.00 GB 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1298 - CPU ID string : Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1299 - Number of CPU cores : 4 cores 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1300 - System is 64-bit : True 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1301 - Preferred Encoding : Unknown 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1302 - Machine Arch : x86_64 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1303 - Available HDD (ARM) : 432 GB 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1304 - Available HDD (BTC) : 1413 GB 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1305 - 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1306 - Network Name: Main Network 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1307 - Satoshi Port: 8333 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1308 - Do wlt check: True 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1309 - Named options/arguments to armoryengine.py: 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - force_segwit : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - nettimeout : 2 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - rescan : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - force_fcgi : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - ignoreAllZC : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - rescanBalance : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - disableModules : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - port : None 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - interport : 8223 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - coverageOutputDir: None 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - forceWalletCheck: False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - regtest : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - rebuild : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - thread_count : -1 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - datadir : DEFAULT 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - clearMempool : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - offline : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - armoryDBDir : DEFAULT 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - armorydb_port : 9001 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - psn : None 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - satoshiPort : DEFAULT 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - disableConfPermis: False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - useTorSettings : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - netlog : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - keypool : 100 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - coverageInclude : None 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - forceOnline : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - disableWalletCheck: False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - redownload : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - rpcBindAddr : 127.0.0.1 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - armorydb_ip : 127.0.0.1 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - multisigFile : DEFAULT 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - ram_usage : -1 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - ignoreZC : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - logDisable : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - settingsPath : /Users/billd/Library/Application Support/Armory/ArmorySettings.txt 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - language : en 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - db_type : DB_FULL 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - doDebug : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - enableDetSign : True 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - mtdebug : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - testnet : False 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - rpcport : DEFAULT 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - satoshiHome : DEFAULT 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - satoshiRpcport : DEFAULT 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - logFile : /Users/billd/Library/Application Support/Armory/ArmoryQt.py.log.txt 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1311 - verbosity : None 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1312 - Other arguments: 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1315 - ************************************************************ 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:1720 - C++ block utilities loaded successfully 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:3578 - Using settings file: /Users/billd/Library/Application Support/Armory/ArmorySettings.txt 2022-07-30 13:09:52 (ERROR) -- ArmoryUtils.py:3735 - Unsupported language specified. Defaulting to English (en) 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:3738 - Using Language: en 2022-07-30 13:09:52 (INFO) -- BDM.py:353 - Using the asynchronous/multi-threaded BlockDataManager. 2022-07-30 13:09:52 (INFO) -- BDM.py:354 - Blockchain operations will happen in the background. 2022-07-30 13:09:52 (INFO) -- BDM.py:355 - Devs: check TheBDM.getState() before asking for data. 2022-07-30 13:09:52 (INFO) -- BDM.py:356 - Registering addresses during rescans will queue them for 2022-07-30 13:09:52 (INFO) -- BDM.py:357 - inclusion after the current scan is completed. 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:3578 - Using settings file: /Users/billd/Library/Application Support/Armory/ArmorySettings.txt 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:2060 - loadWalletsAndSettings 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:2120 - Loading wallets... 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:2185 - Number of wallets read in: 0 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1763 - acquiring process mutex... 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1395 - setupUriRegistration 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:566 - Usermode: Advanced 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1698 - Changing usermode: 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1699 - From: Advanced 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1707 - To: Advanced 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1836 - startBitcoindIfNecessary 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1872 - setSatoshiPaths 2022-07-30 13:09:52 (WARNING) -- SDM.py:402 - Spawning DB with command: /Users/billd/Applications/tmp/Armory.app/Contents/MacOS/py/usr/local/lib/armory/../../bin/ArmoryDB --db-type="DB_FULL" --cookie --satoshi-datadir="/Users/billd/Library/Application Support/Bitcoin/blocks" --satoshi-port=8333 --datadir="/Users/billd/Library/Application Support/Armory/" --dbdir="/Users/billd/Library/Application Support/Armory/databases" 2022-07-30 13:09:52 (INFO) -- ArmoryUtils.py:689 - Executing popen: ['/Users/billd/Applications/tmp/Armory.app/Contents/MacOS/py/usr/local/lib/armory/../../bin/ArmoryDB', '--db-type="DB_FULL"', '--cookie', '--satoshi-datadir="/Users/billd/Library/Application Support/Bitcoin/blocks"', '--satoshi-port=8333', '--datadir="/Users/billd/Library/Application Support/Armory/"', '--dbdir="/Users/billd/Library/Application Support/Armory/databases"'] 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1824 - Connecting on port 55999 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1923 - Setting netmode: 1 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1905 - loadBlockchainIfNecessary 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:1923 - Setting netmode: 1 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:4672 - Dashboard switched to "Scanning" mode 2022-07-30 13:09:52 (INFO) -- ArmoryQt.py:4672 - Dashboard switched to "Scanning" mode 2022-07-30 13:37:30 (INFO) -- ArmoryQt.py:5477 - BDM is safe for clean shutdown 2022-07-30 13:37:30 (INFO) -- SDM.py:465 - Called stopBitcoind 2022-07-30 13:37:30 (INFO) -- SDM.py:471 - ...but bitcoind is not running, to be able to stop Screenshot of the problem: Log Files from the Bitcoin Client: Title: Re: Failed to create BlockDataMap Post by: BitMaxz on August 02, 2022, 01:10:27 PM Would you mind posting the whole system specs?
But it seems your OS version is Catalina 10.15.7 OSX? Can you try to upgrade it to the latest version? There is an old thread here with the same issue upgrading your OSX should fix your issue. Here's the thread that I'm talking about. - https://bitcointalk.org/index.php?topic=5200633.0 Title: Re: Failed to create BlockDataMap Post by: bill4d on August 03, 2022, 06:33:55 AM By "whole system specs" are you wanting the other hardware specs or more info about the software setup from a log file ? I am adding some more hardware info about the iMac that I am running this on. Essentially I boot from an SSD that has 10.15.7 on it and have the Bitcoin CORE on a second SSD. This is an old iMac from 2013 so I don't think I can go past 10.15.x.
Latest release 10.15.7 Security Update 2022-005 (19H2026) (July 20, 2022) [±] I may not have that security update but that is not likely to impact our efforts, right ? iMac (27-inch, Late 2013) 3.2 GHz Intel Core i5 16 GB 1600 MHz DDR3 NVIDIA GeForce GT 755M 1 GB I did read that post or one similar and was aware that a more recent version of openssl was not going to work. I think I installed a .97 or .9x later version. Do you think the openssl version is related to the error I am seeing. I don't understand what the error means - "Failed to create BlockDataMap for file:". Clearly it is finding the the first block data. But "Failed to create" means what - permissions, can read the block or ? Thanks for your help Title: Re: Failed to create BlockDataMap Post by: BitMaxz on August 03, 2022, 02:56:56 PM I don't know what to suggest since I don't have a macOS and I heard most of the old macOS version is very problematic in making Armory work.
If you can't able to upgrade it to a later version of macOS I think you will need to install an emulator or virtual machine that can install Windows or Linux OS and install both Bitcoin core and Armory there. About the error "Failed to create BlockDataMap for file:" Since you said you pointed them to the right directory path it should work if you were sure that you downloaded the whole blockchain and make sure your drive still has extra spaces. If are all fine then the issue is due to the old MacOS version and needs to upgrade to a later version. Title: Re: Failed to create BlockDataMap Post by: bill4d on August 03, 2022, 07:14:11 PM My understanding was more of the opposite. I believe I read that until an Armory .97 release comes out for the MacOS that it was the old versions of MacOS that people had working using Hombrew and a certain version of python and openssl.
I am using a symlink to point the default Blockchain/Bitcoin Core directory to my external SSD but as you can see from the logs that seem to work fine. I also think that is a non-issue since Armory sees the blocks and and errors when trying to create the BlockDataMap for the first block. BUT maybe I am misinterpreting that. Can someone explain to me what is happening at that point. Is BDM.py actually reading the first block? Where is the DataMap being written to ? The ArmouryDB ? /Users/billd/Library/Application Support/Armory/databases ? Can I verify that an ArmoryDB is getting created ?? Also I want to be sure I am starting everything in the proper order. My understanding is on the MacOS version Armory can NOT manage Bitcoin CORE. So, I am doing the following to get Armory going. 1 Launch Bitcoin Core and let it complete sync'ing. This happens quickly as I have almost the whole Blockchain previously downloaded 2 Launch the Armory application after removing everything in the Databases directory 3 Click past Disclaimer/Warning and SKIP creating a wallet 4 The GUI is active and usable at this point but NO Database activity shown in the GUI, never comes online and the log file grows rapidly with the same error message. Am I missing anything ? I feel like this is very close to working and using the same components as others who got it working on 10.15 thanks Bill Title: Re: Failed to create BlockDataMap Post by: goatpig on August 08, 2022, 09:39:56 AM Quote The only non-standard thing (that was a recommended solution) is I am using a sym link from /Users/billd/Library/Application Support/Bitcoin/ to an external SSD due to the space requirements of Bitcoin Core. The log error leads me to believe that Armory is seeing the blocks but for some reason can not create the BlockDataMap Huh symlinks typically do not allow for mmap'ing the drive into memory, which is how Armory accesses the on-disk data. You should try point Armory to the drive directly instead. In your specific case, since ArmoryDB can't setup, you should work directly with it (it's a binary found in the build folder), instead of going through the GUI for automation. It will make the troubleshooting easier. In your case, I'd open the terminal and run something like this: Code: ArmoryDB --satoshi-datadir=/path/to/bitcoind/blockchain/data --dbdir=/where/the/armory/db/is/written Obvioulsy set the relevant paths, just don't use symlinks/ln, point ArmoryDB to the actual data. Title: Re: Failed to create BlockDataMap Post by: bill4d on August 16, 2022, 07:42:47 PM OK, sorry for the delay I was away for a week.
So, it looks like that may have worked. Instead of getting the old error, "Failed to create BlockDataMap ..." I now get the following: billds-iMac:Armory billd$ tail dbLog.txt -INFO - 11:31:23: (DatabaseBuilder.cpp:281) parsed block file #331 -INFO - 11:31:24: (DatabaseBuilder.cpp:281) parsed block file #334 -INFO - 11:31:31: (DatabaseBuilder.cpp:281) parsed block file #335 -INFO - 11:31:33: (DatabaseBuilder.cpp:281) parsed block file #337 -INFO - 11:31:34: (DatabaseBuilder.cpp:281) parsed block file #338 -INFO - 11:31:39: (DatabaseBuilder.cpp:281) parsed block file #339 -INFO - 11:31:42: (DatabaseBuilder.cpp:281) parsed block file #342 -INFO - 11:31:47: (DatabaseBuilder.cpp:281) parsed block file #343 -INFO - 11:31:50: (DatabaseBuilder.cpp:281) parsed block file #346 -INFO - 11:31:54: (DatabaseBuilder.cpp:281) parsed block file #347 billds-iMac:Armory billd$ It appears like we are now reading the Bitcoin Core blocks !!! I did not run Bitcoin Core first before starting this ArmoryDB test. I suppose I should have... So, what is the best way to set the datadir --satoshi-datadir argument while launching the GUI ? I tried this and got the following error: billds-iMac:Armory billd$ /Users/billd/Applications/tmp/Armory.app/Contents/MacOS/Python /Users/billd/Applications/tmp/Armory.app/Contents/MacOS/py/usr/local/lib/armory/ArmoryQt.py --satoshi-datadir="/Volumes/BitcoinCore/blockchain/blocks" --dbdir="/Users/billd/Library/Application Support/Armory/databases" Traceback (most recent call last): File "/Users/billd/Applications/tmp/Armory.app/Contents/MacOS/py/usr/local/lib/armory/ArmoryQt.py", line 36, in <module> from PyQt4.QtCore import * ImportError: dlopen(/Users/billd/Applications/tmp/Armory.app/Contents/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyQt4/QtCore.so, 2): Library not loaded: /Users/droark/Projects/BitcoinArmory/osxbuild/workspace/install/qt/lib/QtCore.framework/Versions/4/QtCore Referenced from: /Users/billd/Applications/tmp/Armory.app/Contents/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyQt4/QtCore.so Reason: image not found QtCore.so IS in fact in that location ?!? I tried to specify a direct path to the external SSD blockchain data in the OSX Armory 0.96.5 preferences and that doesn't work as expected. I get the same error repeatedly. thanks for your help. Much appreciated BIll Title: Re: Failed to create BlockDataMap Post by: bill4d on August 16, 2022, 10:22:18 PM So, I verified that setting the Bitcoin CORE directory in Armory Preferences appears to work as the output from the ArmorySetting.txt file has the change and has a recent timestamp.
billds-iMac:Armory billd$ cat ArmorySettings.txt Default_FeeByte | 200 ManageSatoshi | False AdjustFee | True MainWalletCols | MainGeometry | LastDirectory | /Users/billd/Library/Application Support/Armory/ Agreed_to_EULA | True NotifyBtcIn | True FeeOption | Auto MainLedgerCols | DNAA_UnlockTimeout | False NotifyDiscon | True First_Load_Date | 1659375461 NotifyIgnore | DNAA_IntroDialog | False SatoshiDatadir | /Volumes/BitcoinCore/blockchain <--------------- This is correct DateFormat | 25592d25622d25642025493a254d2570 Default_FeeByte_BlocksToConfirm | 3 Default_ReceiveType | P2PKH AdvFeature_UseCt | 0 UnlockTimeout | 10 DNAA_Version092Warn | False LastFilterState | 0 MinimizeOrClose | Close NotifyBtcOut | True NotifyReconn | True FailedLoadCount | 5 User_Mode | Advanced Default_Fee | 20000 MinimizeOnOpen | False First_Load | False Default_ChangeType | P2PKH IgnoreAlerts | DNAA_DeleteLevelDB | False Load_Count | 5 DNAA_DefaultApp | False LastVersionLoad | v0.96.5 billds-iMac:Armory billd$ Title: Re: Failed to create BlockDataMap Post by: bill4d on August 16, 2022, 11:08:13 PM Ah ha!
With armoryDB running as discussed above in the thread I then ran the following and now see the Armory GUI giving me an estimate of 1.5 hrs for "Building Databases" !!!!! But nothing seems to be changing ...hmmmm billds-iMac:Desktop billd$ /Users/billd/Applications/tmp/Armory.app/Contents/MacOS/Armory --satoshi-datadir="/Volumes/BitcoinCore/blockchain/blocks" --dbdir="/Users/billd/Library/Application Support/Armory/databases" /Users/billd (ERROR) ArmoryUtils.py:3735 - Unsupported language specified. Defaulting to English (en) (ERROR) ArmoryQt.py:1198 - 5 attempts to load blockchain failed. Remove mempool.bin. (ERROR) ArmoryQt.py:1203 - File mempool.bin does not exist. Nothing deleted. I am getting the following error in armorylog.txt: 2022-08-16 15:55:39 (INFO) -- BDM.py:353 - Using the asynchronous/multi-threaded BlockDataManager. 2022-08-16 15:55:39 (INFO) -- BDM.py:354 - Blockchain operations will happen in the background. 2022-08-16 15:55:39 (INFO) -- BDM.py:355 - Devs: check TheBDM.getState() before asking for data. 2022-08-16 15:55:39 (INFO) -- BDM.py:356 - Registering addresses during rescans will queue them for 2022-08-16 15:55:39 (INFO) -- BDM.py:357 - inclusion after the current scan is completed. 2022-08-16 15:55:39 (INFO) -- ArmoryUtils.py:3578 - Using settings file: /Users/billd/Library/Application Support/Armory/ArmorySettings.txt 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:2060 - loadWalletsAndSettings 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:2120 - Loading wallets... 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:2185 - Number of wallets read in: 0 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:1763 - acquiring process mutex... 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:1395 - setupUriRegistration 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:566 - Usermode: Advanced 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:1698 - Changing usermode: 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:1699 - From: Advanced 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:1707 - To: Advanced 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:1836 - startBitcoindIfNecessary 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:1923 - Setting netmode: 1 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:1905 - loadBlockchainIfNecessary 2022-08-16 15:55:39 (ERROR) -- ArmoryQt.py:1198 - 5 attempts to load blockchain failed. Remove mempool.bin. 2022-08-16 15:55:39 (ERROR) -- ArmoryQt.py:1203 - File mempool.bin does not exist. Nothing deleted. 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:1923 - Setting netmode: 1 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:4672 - Dashboard switched to "Scanning" mode 2022-08-16 15:55:39 (INFO) -- ArmoryQt.py:4672 - Dashboard switched to "Scanning" mode 2022-08-16 15:55:40 (INFO) -- ArmoryQt.py:4672 - Dashboard switched to "Scanning" mode 2022-08-16 15:55:51 (INFO) -- ArmoryQt.py:4672 - Dashboard switched to "Scanning" mode So, again I was not running Bitcoin CORE before I did this and it is out of date by 3 weeks. Can you clarify for me if I should ALWAYS run Bitcoin Core BEFORE starting Armory ? It seems like Bitcoin Core has to be up to date and online in order for any transactions to happen or at least complete ? thanks, if this ends up working I will summarize what I did for posterity :) Bill Title: Re: Failed to create BlockDataMap Post by: BitMaxz on August 16, 2022, 11:42:14 PM So, again I was not running Bitcoin CORE before I did this and it is out of date by 3 weeks. Can you clarify for me if I should ALWAYS run Bitcoin Core BEFORE starting Armory ? It seems like Bitcoin Core has to be up to date and online in order for any transactions to happen or at least complete ? Yes, you must run Bitcoin core because it always needs up-to-date block data and it must be fully synced. Armory does not work properly if your Bitcoin is not fully synced you need to wait for Bitcoin core to be fully synced and pull the latest data on Mainnet before you can use Armory wallet. Unless you want to use Armory wallet offline you don't need your Bitcoin core to be fully synced and you can make a raw transaction with Armory offline. What actually do you achieve here? Are you trying to recover your old wallet or do you just want to use Armory? As I already said above your MacOS is pretty old this might be the culprit why it doesn't work properly I'm using armory on my Windows 10 PC I haven't experienced those issues. If you just want to recover something on the Armory wallet I think it would be better if you dump or backup the private key and switch to other wallets that supports your current version of MacOS. Title: Re: Failed to create BlockDataMap Post by: goatpig on August 17, 2022, 07:14:58 AM Armory reads block data from the files generated by Bitcoin Core. If you start Armory without Core running, it will see the blockchain up to the last time Core ran. To bootstrap your ArmoryDB, it's fine to start it without Core running, but for proper operations, Core will have to run too.
The PyQt issue you mentioned earlier is related to your Python install. That's where the Mac nastyness starts and my expertise ends. As for the progress of chain scanning, you should run ArmoryDB manually and read progress in the terminal the first time around. That way you can figure out if it's the DB that's stuck or the GUI that's not picking up on progress updates. Once the database is ready, you can let ArmoryQt handle that in the background. Title: Re: Failed to create BlockDataMap Post by: nc50lc on August 17, 2022, 07:19:11 AM So, I verified that setting the Bitcoin CORE directory in Armory Preferences appears to work as the output from the ArmorySetting.txt file has the change and has a recent timestamp. With this setting, you need to manually launch Bitcoin Core before Armory.billds-iMac:Armory billd$ cat ArmorySettings.txt ManageSatoshi | False But if it's set to "True", Armory will try to find and launch bitcoind in the background. |