Bitcoin Forum
May 25, 2024, 05:18:17 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Parallels for Mac: Error BDM.pyc, DB error: … not a valid path  (Read 109 times)
freedom149 (OP)
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
July 10, 2021, 04:48:50 AM
 #1

Hello there,

I've installed Bitcoin Armory version 0.96.5-beta-8730390989 on Windows 10 image within Parallels on Mac OS X Big Sur 11.4

I've set the ArmoryDB and the Bitcoin blockchain to external hard drive paths in the GUI:
Code:
R:\Bitcoin
R:\ArmoryDB

In armoryqt.conf file I've also set:
Code:
satoshi-datadir="R:\Bitcoin\blocks"
dbdir="R:\ArmoryDB"

I have Bitcoin Core running version 0.21.1 and it's running and correctly syncing the blockchain to R:\Bitcoin

Everything seems to load up perfectly except for one single error. Here's the log file output:
Code:
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1164 - C++ block utilities loaded successfully
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1281 -
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1282 -
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1283 -
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1284 - ************************************************************
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1285 - Invoked: C:\Program Files (x86)\Armory\ArmoryQt.exe
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1286 - ************************************************************
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1287 - Loading Armory Engine:
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1288 -    Armory Version        : 0.96.5
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1289 -    Armory Build:         : 8730390989
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1290 -    PyBtcWallet  Version  : 1.35
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1291 - Detected Operating system: Windows
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1292 -    OS Variant            : 10-10.0.19041--Multiprocessor Free
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1293 -    User home-directory   : C:\Users\carlos\AppData\Roaming
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1294 -    Satoshi BTC directory : C:\Users\carlos\AppData\Roaming\Bitcoin
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1295 -    Armory home dir       : C:\Users\carlos\AppData\Roaming\Armory\
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1296 - Detected System Specs    :
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1297 -    Total Available RAM   : 2.98 GB
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1298 -    CPU ID string         : Intel64 Family 6 Model 142 Stepping 9, GenuineIntel
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1299 -    Number of CPU cores   : 2 cores
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1300 -    System is 64-bit      : True
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1301 -    Preferred Encoding    : cp1252
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1302 -    Machine Arch          : amd64
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1303 -    Available HDD (ARM)   : 1003 GB
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1304 -    Available HDD (BTC)   : 0 GB
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1305 -
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1306 - Network Name: Main Network
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1307 - Satoshi Port: 8333
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1308 - Do wlt check: True
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1309 - Named options/arguments to armoryengine.py:
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     force_segwit    : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     nettimeout      : 2
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     rescan          : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     force_fcgi      : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     ignoreAllZC     : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     rescanBalance   : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     disableModules  : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     port            : None
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     interport       : 8223
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     coverageOutputDir: None
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     forceWalletCheck: False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     regtest         : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     rebuild         : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     thread_count    : -1
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     datadir         : DEFAULT
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     clearMempool    : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     offline         : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     armoryDBDir     : DEFAULT
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     armorydb_port   : 9001
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     satoshiPort     : DEFAULT
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     disableConfPermis: False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     useTorSettings  : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     netlog          : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     keypool         : 100
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     coverageInclude : None
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     forceOnline     : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     disableWalletCheck: False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     redownload      : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     rpcBindAddr     : 127.0.0.1
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     armorydb_ip     : 127.0.0.1
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     multisigFile    : DEFAULT
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     ram_usage       : -1
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     ignoreZC        : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     logDisable      : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     settingsPath    : C:\Users\carlos\AppData\Roaming\Armory\ArmorySettings.txt
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     language        : en
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     db_type         : DB_FULL
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     doDebug         : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     enableDetSign   : True
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     mtdebug         : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     testnet         : False
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     rpcport         : DEFAULT
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     satoshiHome     : DEFAULT
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     satoshiRpcport  : DEFAULT
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     logFile         : C:\Users\carlos\AppData\Roaming\Armory\ArmoryQt.exe.log.txt
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1311 -     verbosity       : None
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1312 - Other arguments:
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1315 - ************************************************************
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:1720 - C++ block utilities loaded successfully
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:3578 - Using settings file: C:\Users\carlos\AppData\Roaming\Armory\ArmorySettings.txt
2021-07-10 01:27:08 (ERROR) -- ArmoryUtils.pyc:3735 - Unsupported language  specified. Defaulting to English (en)
2021-07-10 01:27:08 (INFO) -- ArmoryUtils.pyc:3738 - Using Language: en
2021-07-10 01:27:08 (INFO) -- BDM.pyc:353 - Using the asynchronous/multi-threaded BlockDataManager.
2021-07-10 01:27:08 (INFO) -- BDM.pyc:354 - Blockchain operations will happen in the background. 
2021-07-10 01:27:08 (INFO) -- BDM.pyc:355 - Devs: check TheBDM.getState() before asking for data.
2021-07-10 01:27:08 (INFO) -- BDM.pyc:356 - Registering addresses during rescans will queue them for
2021-07-10 01:27:08 (INFO) -- BDM.pyc:357 - inclusion after the current scan is completed.
2021-07-10 01:27:11 (INFO) -- ArmoryUtils.pyc:3578 - Using settings file: C:\Users\carlos\AppData\Roaming\Armory\ArmorySettings.txt
2021-07-10 01:27:11 (INFO) -- ArmoryQt.py:2060 - loadWalletsAndSettings
2021-07-10 01:27:11 (INFO) -- ArmoryQt.py:2120 - Loading wallets...
2021-07-10 01:27:16 (INFO) -- ArmoryQt.py:2185 - Number of wallets read in: 1
2021-07-10 01:27:16 (INFO) -- ArmoryQt.py:2190 -    Wallet (xxxxxx):    "Restored - xxxxxx             "   (Encrypted)
2021-07-10 01:27:16 (INFO) -- ArmoryQt.py:2195 - Loading Multisig Lockboxes
2021-07-10 01:27:16 (INFO) -- ArmoryQt.py:1763 - acquiring process mutex...
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1395 - setupUriRegistration
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1513 - URL-register action: AskUser
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:566 - Usermode: Expert
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1698 - Changing usermode:
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1699 -    From: Expert
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1707 -      To: Expert
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1836 - startBitcoindIfNecessary
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1872 - setSatoshiPaths
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1891 - Setting satoshi datadir = R:\Bitcoin
2021-07-10 01:27:18 (INFO) -- SDM.pyc:171 - Found bitcoind in the following places:
2021-07-10 01:27:18 (INFO) -- SDM.pyc:173 -    C:\Program Files\Bitcoin\daemon\bitcoind.exe
2021-07-10 01:27:18 (INFO) -- SDM.pyc:175 - Using: C:\Program Files\Bitcoin\daemon\bitcoind.exe
2021-07-10 01:27:18 (INFO) -- SDM.pyc:340 - Called startBitcoind
2021-07-10 01:27:18 (WARNING) -- SDM.pyc:445 - Spawning bitcoind with command: C:\Program Files\Bitcoin\daemon\bitcoind.exe -datadir=R:\Bitcoin
2021-07-10 01:27:18 (INFO) -- ArmoryUtils.pyc:689 - Executing popen: ['C:\\Program Files\\Bitcoin\\daemon\\bitcoind.exe', '-datadir=R:\\Bitcoin']
2021-07-10 01:27:18 (INFO) -- SDM.pyc:451 - PID of bitcoind: 6108
2021-07-10 01:27:18 (INFO) -- SDM.pyc:452 - PID of armory:   4628
2021-07-10 01:27:18 (INFO) -- ArmoryUtils.pyc:689 - Executing popen: ['C:\\Program Files (x86)\\Armory\\guardian.exe', '4628', '6108']
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1923 - Setting netmode: 1
2021-07-10 01:27:18 (ERROR) -- BDM.pyc:197 - DB error: C:\Users\carlos\AppData\Roaming/Bitcoin/blocks is not a valid path
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1923 - Setting netmode: 0
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:1905 - loadBlockchainIfNecessary
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:4672 - Dashboard switched to "Scanning" mode
2021-07-10 01:27:18 (INFO) -- ArmoryQt.py:4672 - Dashboard switched to "Scanning" mode

As you can see at the end of this output is the error:
Code:
2021-07-10 01:27:18 (ERROR) -- BDM.pyc:197 - DB error: C:\Users\carlos\AppData\Roaming/Bitcoin/blocks is not a valid path

Obviously the backslashes are wrong at the end of that path.

How can I get that fixed?

Thanks so much for your help!!!
NotATether
Legendary
*
Offline Offline

Activity: 1610
Merit: 6761


bitcoincleanup.com / bitmixlist.org


View Profile WWW
July 10, 2021, 04:04:12 PM
 #2

Someone had this same issue before you, the proposed solution from goatpig (the project maintainer) was to not use the GUI settings to specify the path and only use the armoryqt.conf file for your settings. In other words you should probably unset the paths from the GUI settings.

Quote
DB error: C:\Users\Mike\AppData\Roaming/Bitcoin/blocks is not a valid path

Use the config files instead of the GUI stuff:

https://btcarmory.com/docs/pathing

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3668
Merit: 1347

Armory Developer


View Profile
July 10, 2021, 04:31:32 PM
 #3

Try the following: create a shortcut for ArmoryQt.exe and add your arguments at the end of the target field (prefixed with --).

freedom149 (OP)
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
July 11, 2021, 04:14:10 AM
 #4

Someone had this same issue before you, the proposed solution from goatpig (the project maintainer) was to not use the GUI settings to specify the path and only use the armoryqt.conf file for your settings. In other words you should probably unset the paths from the GUI settings.

Thanks so much for this advice, but it didn't work, it's still clobbering the path  Undecided
freedom149 (OP)
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
July 11, 2021, 04:30:13 AM
 #5

Try the following: create a shortcut for ArmoryQt.exe and add your arguments at the end of the target field (prefixed with --).

Thanks so much for your advice, but it didn't work either  Cry

My shortcut is as follows:
Code:
"C:\Program Files (x86)\Armory\ArmoryQt.exe" --satoshi-datadir="R:\Bitcoin\blocks" --dbdir="R:\ArmoryDB"

No effect  Cry
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3668
Merit: 1347

Armory Developer


View Profile
July 11, 2021, 09:41:20 AM
 #6

In Files -> Settings, turn off auto bitcoind (should be the first checkbox). Then try again and report here.

nc50lc
Legendary
*
Online Online

Activity: 2422
Merit: 5628


Self-proclaimed Genius


View Profile
July 12, 2021, 06:45:40 AM
 #7

Sometimes, "armorydb" process wont stop even after closing Armory-qt.exe.
That could be the reason why your settings and start parameters don't work.

Close Armory, try to find "armorydb" in your Windows10 task manager's "Background Processes"; if there is, use "End task".
Then start Armory with the settings suggested by others.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
freedom149 (OP)
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
July 12, 2021, 12:24:14 PM
 #8

In Files -> Settings, turn off auto bitcoind (should be the first checkbox). Then try again and report here.

Hi there, I've unchecked that, thanks!

Sometimes, "armorydb" process wont stop even after closing Armory-qt.exe.
That could be the reason why your settings and start parameters don't work.

Close Armory, try to find "armorydb" in your Windows10 task manager's "Background Processes"; if there is, use "End task".
Then start Armory with the settings suggested by others.

Thanks so much! I've also now made sure all Armory processes are quit.

But still, nothing works. Launching from shortcut with:
Code:
Invoked: C:\Program Files (x86)\Armory\ArmoryQt.exe --satoshi-datadir=R:\Bitcoin\blocks --dbdir=R:\ArmoryDB

- With bitcoind setting unchecked
- With taskmgr ensuring nothing was running
- With all paths in conf file set correctly

Still clobbered:
Code:
BDM.pyc:197 - DB error: C:\Users\carlos\AppData\Roaming/Bitcoin/blocks is not a valid path

 Cry Cry Cry

I'm starting to think this is exclusively a problem with Parallels Desktop running on Mac requiring the blockchain to live on an external hard drive. I can't believe this type of error would be in production software.

Thanks so much for all the help so far, maybe there's still some way to get the Armory database process started Smiley
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3668
Merit: 1347

Armory Developer


View Profile
July 12, 2021, 12:56:22 PM
 #9

You can start ArmoryDB directly from the command line prompt with your --satoshi-datadir argument. ArmoryQt talks to ArmoryDB over a socket so there is no requirement ArmoryQt to spawn it.

What you may be experiencing is some snafu with py2's handling of strings and/or the sys package path resolution that leads to a silently handled error and a revert back to the default value. ArmoryDB is compiled binary written in C++, it wouldn't be subject to these shenanigans.

freedom149 (OP)
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
July 12, 2021, 05:18:13 PM
Last edit: July 12, 2021, 05:28:46 PM by freedom149
 #10

Thanks so much!

IT WORKED!!! FIXED!!

I assumed to start the ArmoryDB via command line prompt it would be this, from within the directory where the .exe lives:
Code:
ArmoryDB --satoshi-datadir="R:\Bitcoin\blocks"

Now Armory started up and reached the "building database" screen, and the log file shows no errors!!

Thanks again so much for your support.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!