Bitcoin Forum
March 29, 2024, 09:56:30 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Armory keep crashing with 'BDM was not ready for your request! Waited 20 sec.'  (Read 2059 times)
bigpao (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
January 29, 2014, 05:08:02 AM
 #1

I have Bitcoin Qt and Armory (same wallet) running on three computers (two Windows 7 and one Windows Cool connected to the same network.

In Windows 7:
- All the setting is the default on Armory.
- 'Let Armory run Bitcoin-Qt/bitcoinnd in the background' is checked.
- All data directory is default folders.

In Windows 8:
- All the setting is the default on Armory.
- 'Let Armory run Bitcoin-Qt/bitcoinnd in the background' is un-checked.
- All data directory is default folders.


The Armory on Windows 7 always crash (not response) and I have to close and re-open the applications on these two machines. There has no problem with Armory on Windows 8. As I checked there always had the error as below when Armory crash:

---------------------------------------------------------------------------------------------------------------------------------
2014-01-29 04:00 (ERROR) -- armoryengine.pyc:12346 - BDM was not ready for your request!  Waited 20 sec.
2014-01-29 04:00 (ERROR) -- armoryengine.pyc:12347 -   getattr   name: hasTxWithHash
2014-01-29 04:00 (ERROR) -- armoryengine.pyc:12348 - BDM currently doing: Passthrough (83087279)
2014-01-29 04:00 (ERROR) -- armoryengine.pyc:12349 - Waiting for completion: ID= 83087279
2014-01-29 04:00 (ERROR) -- armoryengine.pyc:12350 - Direct traceback
2014-01-29 04:00 (ERROR) -- armoryengine.pyc:12353 - Traceback:
Traceback (most recent call last):
  File "armoryengine.pyc", line 12343, in passthruFunc
  File "Queue.pyc", line 176, in get
Empty
2014-01-29 04:01 (ERROR) -- armoryengine.pyc:12346 - BDM was not ready for your request!  Waited 20 sec.
2014-01-29 04:01 (ERROR) -- armoryengine.pyc:12347 -   getattr   name: hasTxWithHash
2014-01-29 04:01 (ERROR) -- armoryengine.pyc:12348 - BDM currently doing: Passthrough (83087279)
2014-01-29 04:01 (ERROR) -- armoryengine.pyc:12349 - Waiting for completion: ID= 51653993
2014-01-29 04:01 (ERROR) -- armoryengine.pyc:12350 - Direct traceback
2014-01-29 04:01 (ERROR) -- armoryengine.pyc:12353 - Traceback:
Traceback (most recent call last):
  File "armoryengine.pyc", line 12343, in passthruFunc
  File "Queue.pyc", line 176, in get
Empty
2014-01-29 04:01 (ERROR) -- armoryengine.pyc:13289 - ErrorOut var over-represented number of errors!
---------------------------------------------------------------------------------------------------------------------------------

Please anyone suggest that how should I make Armory more stable on Windows 7?

Armory version 0.90-beta
BitcoinQt version 4.8.3
In order to get the maximum amount of activity points possible, you just need to post once per day on average. Skipping days is OK as long as you maintain the average.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1711706190
Hero Member
*
Offline Offline

Posts: 1711706190

View Profile Personal Message (Offline)

Ignore
1711706190
Reply with quote  #2

1711706190
Report to moderator
1711706190
Hero Member
*
Offline Offline

Posts: 1711706190

View Profile Personal Message (Offline)

Ignore
1711706190
Reply with quote  #2

1711706190
Report to moderator
1711706190
Hero Member
*
Offline Offline

Posts: 1711706190

View Profile Personal Message (Offline)

Ignore
1711706190
Reply with quote  #2

1711706190
Report to moderator
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3640
Merit: 1345

Armory Developer


View Profile
January 29, 2014, 07:11:40 PM
 #2

The empty queue is not an error. Queue.Queue raises when it is empty, that's just its mechanism to report there's is nothing left to pop.

The version your reported for BitcoinQt is actually Qt's version, not Bitcoin.

You have to describe your behavior before the crash first. Then possibly send me a log file at support@bitcoinarmory.com

prezbo
Sr. Member
****
Offline Offline

Activity: 430
Merit: 250


View Profile
January 30, 2014, 01:52:56 PM
 #3

It appears I have the same problem, this is when creating a new wallet and the "scanning transaction history" phase has to run all over again. Here's the log.
qruze
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
January 30, 2014, 09:56:10 PM
 #4

Yep, same issue here... I have a wallet that I imported from a paper backup, after that Armory rescans the blockchain and then crashes.

Log is here
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3640
Merit: 1345

Armory Developer


View Profile
January 31, 2014, 03:55:40 AM
Last edit: January 31, 2014, 04:22:50 AM by goatpig
 #5

Yep, same issue here... I have a wallet that I imported from a paper backup, after that Armory rescans the blockchain and then crashes.

Log is here

Traceback (most recent call last):
  File "ArmoryQt.py", line 4684, in Heartbeat
  File "ArmoryQt.py", line 1917, in finishLoadBlockchain
  File "armoryengine.pyc", line 7851, in fillAddressPool
  File "armoryengine.pyc", line 7817, in computeNextAddress
  File "CppBlockUtils.pyc", line 1164, in addScrAddress_5_
TypeError: in method 'BtcWallet_addScrAddress_5_', argument 4 of type 'uint32_t'

This is an entirely more interesting error, I'll get someone on it, thanks for the log.

Edit: Guess I shot myself in the foot with this one. I hoped to get someone else on this issue but I got 'volunteered' for it =P

At any rate, thanks for the log files. The more details you can give me about your use of Armory before the crash occurs, the more clues it'll give me

qruze
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
January 31, 2014, 12:45:25 PM
 #6

Here's the whole story: Armory started crashing a while back (unfortunately I didn't check the logfile back then so I'm not sure if it was the same error) and I decided to wipe everything and start clean. So I uninstalled Armory, deleted everything in the AppData/Roaming/Armory & AppData/Roaming/Bitcoin folders. Reinstalled Armory, re-downloaded the blockchain, all ok. Created a new wallet & received payments on it. Everything good so far.

Then I tried to import the wallet I was having problems with from my paper backup (1.35a encryption, if that's relevant). This works, it recognises my wallet. Armory then gives me a message that it's going to rescan the transaction history to find the transactions associated with the newly imported wallet. The progress bar goes to 100%, then when I would expect it to load the transactions overview, it crashes with the attatched error.

Anything info in particular you're looking for to help you?
bigpao (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
February 03, 2014, 08:29:46 AM
 #7

I got the error after I left my computers at night and start to use it in the morning. There should has no activity during the problem occurred.  Embarrassed
smartbrain
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
February 03, 2014, 01:02:51 PM
 #8

Hi,

I've got this problem too and have quite a few coins stuck in there that need rescuing.

I've replicated this problem on Windows and Linux. I have tried resetting and even tried a fresh install of Armory and Bitcoin on a new PC, and last night redownloaded the blockchain overnight. Armory still crashes when I restore that particular wallet. That wallet has a lot of addresses and a lot of transactions. In that wallet, I have created one address per mining rig and get paid out daily, hence the large number of transactions in it. Other wallets with just a small handful of transactions are fine.

The problem persists too with both the binary downloads (both Windows and Ubuntu) as well as when building from source on Github on Ubuntu. Resources (i7 quad, 8 GB) are reasonable, with Python taking up around 20% of memory at peak with 1.3 GB still available.

The last few lines of the armorylog.txt file are the same as everyone else's on this thread.

Code:
2014-02-03 19:44 (ERROR) -- armoryengine.py:12346 - BDM was not ready for your request!  Waited 20 sec.
2014-02-03 19:44 (ERROR) -- armoryengine.py:12347 -   getattr   name: getTopBlockHeight
2014-02-03 19:44 (ERROR) -- armoryengine.py:12348 - BDM currently doing: Passthrough (70518724)
2014-02-03 19:44 (ERROR) -- armoryengine.py:12349 - Waiting for completion: ID= 54881326
2014-02-03 19:44 (ERROR) -- armoryengine.py:12350 - Direct traceback
2014-02-03 19:44 (ERROR) -- armoryengine.py:12353 - Traceback:
Traceback (most recent call last):
  File "/home/don/BitcoinArmory/armoryengine.py", line 12343, in passthruFunc
    out = self.outputQueue.get(True, self.mtWaitSec)
  File "/usr/lib/python2.7/Queue.py", line 176, in get
    raise Empty
Empty

When running from the command line, I also see the following errors spewed out just before it crashes

Code:
(ERROR) armoryengine.py:12346 - BDM was not ready for your request!  Waited 20 sec.
(ERROR) armoryengine.py:12347 -   getattr   name: getTopBlockHeight
(ERROR) armoryengine.py:12348 - BDM currently doing: Passthrough (70518724)
(ERROR) armoryengine.py:12349 - Waiting for completion: ID= 54881326
(ERROR) armoryengine.py:12350 - Direct traceback
  File "ArmoryQt.py", line 5133, in <module>
    os._exit(QAPP.exec_())
  File "/home/don/BitcoinArmory/qt4reactor.py", line 232, in _iterate
    self.doIteration(delay, fromqt)
  File "/home/don/BitcoinArmory/qt4reactor.py", line 244, in doIteration
    self.qApp.processEvents(QEventLoop.AllEvents, delay * 1000)
  File "/home/don/BitcoinArmory/qt4reactor.py", line 103, in read
    log.callWithLogger(w, _read)
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
  File "/home/don/BitcoinArmory/qt4reactor.py", line 102, in _read
    self.reactor._iterate(fromqt=True)
  File "/home/don/BitcoinArmory/qt4reactor.py", line 231, in _iterate
    self.runUntilCurrent()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 824, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "ArmoryQt.py", line 4684, in Heartbeat
    self.finishLoadBlockchain()
  File "ArmoryQt.py", line 1916, in finishLoadBlockchain
    self.walletMap[wltID].detectHighestUsedIndex(True)  # expand wlt if necessary
  File "/home/don/BitcoinArmory/armoryengine.py", line 7911, in detectHighestUsedIndex
    self.syncWithBlockchainLite(0)
  File "/home/don/BitcoinArmory/armoryengine.py", line 7213, in syncWithBlockchainLite
    self.lastSyncBlockNum = TheBDM.getTopBlockHeight(wait=True)
  File "/home/don/BitcoinArmory/armoryengine.py", line 12351, in passthruFunc
    traceback.print_stack()
(ERROR) armoryengine.py:12353 - Traceback:
Traceback (most recent call last):
  File "/home/don/BitcoinArmory/armoryengine.py", line 12343, in passthruFunc
    out = self.outputQueue.get(True, self.mtWaitSec)
  File "/usr/lib/python2.7/Queue.py", line 176, in get
    raise Empty
Empty
Segmentation fault (core dumped)

I have about a dozen miners paying daily. It started acting up a bit after 3 weeks or so after moving to Armory and lately it has totally failed to start up. I fear that this could be a major issue for other high-volume transaction users.

Any help in fixing this and unfreezing my coins would be very much appreciated.
smartbrain
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
February 03, 2014, 06:22:36 PM
 #9

update : getting the coins out turned out to be easy. Start up in offline mode and backup... export key lists. Then import those keys into the official Bitcoin client. And to think I was worried about my coins all for nothing. Still doesn't fix the issue with the crash though but at least my coins are safe.
bigpao (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
February 05, 2014, 09:57:24 AM
 #10

I found more error after several attempts restarting Armory and let them run for a day. As noticed, the error always occur after received new block.



2014-02-05 02:54 (ERROR) -- armoryengine.pyc:12346 - BDM was not ready for your request!  Waited 20 sec.
2014-02-05 02:54 (ERROR) -- armoryengine.pyc:12347 -   getattr   name: getTopBlockHeight
2014-02-05 02:54 (ERROR) -- armoryengine.pyc:12348 - BDM currently doing: UpdateWallets (98612157)
2014-02-05 02:54 (ERROR) -- armoryengine.pyc:12349 - Waiting for completion: ID= 41032519
2014-02-05 02:54 (ERROR) -- armoryengine.pyc:12350 - Direct traceback
2014-02-05 02:54 (ERROR) -- armoryengine.pyc:12353 - Traceback:
Traceback (most recent call last):
  File "armoryengine.pyc", line 12343, in passthruFunc
  File "Queue.pyc", line 176, in get
Empty
2014-02-05 02:54 (ERROR) -- ArmoryQt.py:4826 - Error in heartbeat function
Traceback (most recent call last):
  File "ArmoryQt.py", line 4799, in Heartbeat
  File "ArmoryQt.py", line 2052, in createCombinedLedger
  File "armoryengine.pyc", line 7278, in getBalance
  File "CppBlockUtils.pyc", line 1172, in getSpendableBalance
NotImplementedError: Wrong number or type of arguments for overloaded function 'BtcWallet_getSpendableBalance'.
  Possible C/C++ prototypes are:
    BtcWallet::getSpendableBalance(uint32_t)
    BtcWallet::getSpendableBalance()
bigpao (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
February 13, 2014, 09:25:13 AM
 #11

I am not sure that this problem is related to the below topic or not:
https://bitcointalk.org/index.php?topic=373287.0

Anyway, I tried to clear mempool.bin as suggest in that topic. Unfortunately, it makes Armory run for a while and keep getting the same error again and Armory stop running  Cry

I already also tested 'ping' to make sure that the connection to the internet is always available. When the Armory crash with the error message, there has no disconnect occurred between Windows7 and the ISP. So, I think the problem is not about the connection to the internet but not sure what the 'BDM' means?
 
Does anyone have any idea how can I make Armory stable on one of my machine?

goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3640
Merit: 1345

Armory Developer


View Profile
February 14, 2014, 09:20:37 AM
 #12

The BDM issue means Armory's backend is hanging somewhere while processing blockchain related data. The BDM stops responding and the issue trickles down into Armory's operations and will make it crash eventually.

You could always try to vm ubuntu and run Armory from that, see if the issue reappears. How much RAM is Armory using before it crashes? And is it maxing a CPU core?

bigpao (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
February 17, 2014, 08:33:34 AM
 #13

I sent the log via email to support@bitcoinarmory.com.
As noticed, RAM and CPU load are not high and the Windows has some program running : Bitcoin-Qt, Armory, Skype and other anti-virus softwares.

The following is the info from log file:

2014-02-13 16:30 (INFO) -- armoryengine.pyc:809 - ************************************************************
2014-02-13 16:30 (INFO) -- armoryengine.pyc:810 - Invoked: C:\Program Files (x86)\Armory\ArmoryQt.exe
2014-02-13 16:30 (INFO) -- armoryengine.pyc:811 - ************************************************************
2014-02-13 16:30 (INFO) -- armoryengine.pyc:812 - Loading Armory Engine:
2014-02-13 16:30 (INFO) -- armoryengine.pyc:813 -    Armory Version        : 0.90
2014-02-13 16:30 (INFO) -- armoryengine.pyc:814 -    PyBtcWallet  Version  : 1.35
2014-02-13 16:30 (INFO) -- armoryengine.pyc:815 - Detected Operating system: Windows
2014-02-13 16:30 (INFO) -- armoryengine.pyc:816 -    OS Variant            : 7-6.1.7601-SP1-Multiprocessor Free
2014-02-13 16:30 (INFO) -- armoryengine.pyc:817 -    User home-directory   : C:\Users\Admin\AppData\Roaming
2014-02-13 16:30 (INFO) -- armoryengine.pyc:818 -    Satoshi BTC directory : C:\Users\Admin\AppData\Roaming\Bitcoin\
2014-02-13 16:30 (INFO) -- armoryengine.pyc:819 -    Armory home dir       : C:\Users\Admin\AppData\Roaming\Armory\
2014-02-13 16:30 (INFO) -- armoryengine.pyc:820 - Detected System Specs    :
2014-02-13 16:30 (INFO) -- armoryengine.pyc:821 -    Total Available RAM   : 31.98 GB
2014-02-13 16:30 (INFO) -- armoryengine.pyc:822 -    CPU ID string         : Intel64 Family 6 Model 45 Stepping 7, GenuineIntel
2014-02-13 16:30 (INFO) -- armoryengine.pyc:823 -    Number of CPU cores   : 8 cores
2014-02-13 16:30 (INFO) -- armoryengine.pyc:824 -    System is 64-bit      : False
2014-02-13 16:30 (INFO) -- armoryengine.pyc:825 -    Preferred Encoding    : cp1252
tazdas
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
February 23, 2014, 09:58:52 AM
 #14

I think this is the same issue I reported below. I have not solved it yet but Armory support has been trying to help via emails.. They did provide me a dev build to test ... not successful yet ...

https://bitcointalk.org/index.php?topic=428346.0

TransAtlantic
Full Member
***
Offline Offline

Activity: 138
Merit: 100


View Profile
March 07, 2014, 01:23:36 AM
 #15

I am also having what seems like the same issue than tazdas, bigpao and others:

  "BDM was not ready for your request!  Waited 20 sec."
  "Error in heartbeat function"
    File "ArmoryQt.py", line 4684, in Heartbeat, etc.

I initially posted in this thread:
https://bitcointalk.org/index.php?topic=500720.new#new

Did anyone find a solution?


I have sent an email to  support@bitcoinarmory.com  yesterday with my logs and information.  I didn't receive a reply, but it was only yesterday, so I should give goatpig and others more time.  Smiley

I am happy to help troubleshoot that error (by running tests, giving more information, etc.) if it can help the development of Armory.


Edit:  Small correction for clarity.
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3640
Merit: 1345

Armory Developer


View Profile
March 07, 2014, 02:09:54 AM
 #16

We're putting out a new release soon that has fixes covering possible culprits. The log files are only helpful to an extent, they have few clues about why the BDM (Armory's C++ backend) is hanging. All of the bugs presented here are a symptom of this.

TransAtlantic
Full Member
***
Offline Offline

Activity: 138
Merit: 100


View Profile
March 07, 2014, 02:27:46 AM
 #17

Great - thanks for the update!  I'll be looking out for it.  Smiley

Would you have a rough idea of the time frame for that coming release?  Do you think about days or weeks (or hours, or months)?

I am wondering whether I can simply wait for that release, or if I need to find an alternative way to access the coins stuck in the Armory wallet before that time.
I am not worried about the safety of the coins in themselves, it's simply that I cannot use them right now, and will soon have to.
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3640
Merit: 1345

Armory Developer


View Profile
March 09, 2014, 03:28:04 PM
 #18

Great - thanks for the update!  I'll be looking out for it.  Smiley

Would you have a rough idea of the time frame for that coming release?  Do you think about days or weeks (or hours, or months)?

I am wondering whether I can simply wait for that release, or if I need to find an alternative way to access the coins stuck in the Armory wallet before that time.
I am not worried about the safety of the coins in themselves, it's simply that I cannot use them right now, and will soon have to.

If all goes well, 2 weeks from now

etotheipi
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
March 22, 2014, 02:43:54 PM
 #19

Just an update on this:  we believe that most of the crash-when-reach-99%-scanning problems are related to the same issue, and is resolved in the latest testing version:

https://bitcointalk.org/index.php?topic=522866.0

Please try it out and post here or there with your results.  We're pretty excited that we think we've isolated and neutralized this bug!  It would great to know if there's still cases that aren't fixed.

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
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!