Pages:
Author

Topic: Armory - Discussion Thread - page 64. (Read 521829 times)

full member
Activity: 168
Merit: 100
March 18, 2014, 05:12:28 PM

Does your wallet have lots of transactions with tons of inputs and outputs?  For instance, we noted huge lagging when we loaded a wallet that had 100 transactions, each of which had 1,000+ outputs (even though only one output was related to the user's wallet).

I would guess maybe a dozen addresses, maybe 60 incoming transactions, and maybe a dozen outbound transactions.

A very similar wallet loads fine. The only major difference between the two is that the one that does not crash only has one outbound transaction.

Just in case it has to do with the wallet itself, can you try making a backup of it, then use the menu item "Wallets"->"Recover Damaged Wallet".  Do a full recovery.  Then try it agian (you can do it from offline mode, then restart Armory).

0 errors where found (sic)

Interesting. I tried making an unencrypted backup and Armory crashed with the following error...
Quote
terminate called after throwing an instance of 'CryptoPP::InvalidKeyLength'
  what():  AES/CFB: 0 is not a valid key length
Aborted

I then tried running a recovery on the decrypted version and it said 999 errors...

Quote
Recovering wallet armory_***_decrypt.wallet (ID: ***) on Tue Mar 18 16:02:45 2014
Using full recovery mode
Wallet contains private keys and uses encryptionThe wallet file is 260107 bytes, of which 260107 bytes were read
1000 chain addresses, 999 imported keys and 0 comments were found
Found 1000 chained address entries
No byte errors were found in the wallet file
The following 999 addresses were not arranged sequentially in the wallet file:

 

There are no gaps in the address chain
No chained address fork was found
No chaincode corruption was found
All chained public keys are valid EC points
No chained public key is missing
All entries were saved under their matching hashVal
All chained public keys match their respective private keys
Found 999 imported address entries
No errors were found within the imported address entries
999 errors where found
Recovery done

I then backed up the wallet again (encrypted) and performed a recovery and got 998 errors...

Quote
Recovering wallet armory_***_encrypt.wallet (ID: ***) on Tue Mar 18 16:08:11 2014
Using full recovery mode
Wallet contains private keys and uses encryptionThe wallet file is 260107 bytes, of which 260107 bytes were read
1000 chain addresses, 999 imported keys and 0 comments were found
Found 1000 chained address entries
No byte errors were found in the wallet file
The following 998 addresses were not arranged sequentially in the wallet file:

  

There are no gaps in the address chain
No chained address fork was found
No chaincode corruption was found
All chained public keys are valid EC points
No chained public key is missing
All entries were saved under their matching hashVal
All chained public keys match their respective private keys
Found 999 imported address entries
No errors were found within the imported address entries
998 errors where found
Recovery done

The initial recovery that found zero errors was done in online mode, the next two done offline.
full member
Activity: 168
Merit: 100
March 18, 2014, 04:53:03 PM

Does your wallet have lots of transactions with tons of inputs and outputs?  For instance, we noted huge lagging when we loaded a wallet that had 100 transactions, each of which had 1,000+ outputs (even though only one output was related to the user's wallet).

I would guess maybe a dozen addresses, maybe 60 incoming transactions, and maybe a dozen outbound transactions.

A very similar wallet loads fine. The only major difference between the two is that the one that does not crash only has one outbound transaction.

Just in case it has to do with the wallet itself, can you try making a backup of it, then use the menu item "Wallets"->"Recover Damaged Wallet".  Do a full recovery.  Then try it agian (you can do it from offline mode, then restart Armory).

0 errors where found (sic)
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
March 18, 2014, 03:57:17 PM

Does your wallet have lots of transactions with tons of inputs and outputs?  For instance, we noted huge lagging when we loaded a wallet that had 100 transactions, each of which had 1,000+ outputs (even though only one output was related to the user's wallet).

I would guess maybe a dozen addresses, maybe 60 incoming transactions, and maybe a dozen outbound transactions.

A very similar wallet loads fine. The only major difference between the two is that the one that does not crash only has one outbound transaction.

Just in case it has to do with the wallet itself, can you try making a backup of it, then use the menu item "Wallets"->"Recover Damaged Wallet".  Do a full recovery.  Then try it agian (you can do it from offline mode, then restart Armory).
full member
Activity: 168
Merit: 100
March 18, 2014, 02:48:29 PM

Does your wallet have lots of transactions with tons of inputs and outputs?  For instance, we noted huge lagging when we loaded a wallet that had 100 transactions, each of which had 1,000+ outputs (even though only one output was related to the user's wallet).

I would guess maybe a dozen addresses, maybe 60 incoming transactions, and maybe a dozen outbound transactions.

A very similar wallet loads fine. The only major difference between the two is that the one that does not crash only has one outbound transaction.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
March 18, 2014, 02:39:11 PM
No luck, same issues.

Here is the first error message in the log file (other than using dev warning), the rest of the log is just repeated BDM errors. Also, the wallet consistency check finds no errors. After a while, the lower right corner always returns to the false blocks message.

Quote
2014-03-18 13:29 (INFO) -- BDM.py:384 - Reading blockchain, pct complete: 99.9
2014-03-18 13:29 (INFO) -- BDM.py:384 - Reading blockchain, pct complete: 99.9
2014-03-18 13:29 (INFO) -- BDM.py:384 - Reading blockchain, pct complete: 99.9
2014-03-18 13:29 (INFO) -- BDM.py:384 - Reading blockchain, pct complete: 99.9
2014-03-18 13:29 (INFO) -- ArmoryQt.py:5391 - Dashboard switched to fully-online mode
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4712 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4654 - Switching Armory functional mode to "Online"
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4712 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2014-03-18 13:29 (INFO) -- ArmoryQt.py:5391 - Dashboard switched to fully-online mode
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4712 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4654 - Switching Armory functional mode to "Online"
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4712 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2014-03-18 13:29 (INFO) -- ArmoryQt.py:2398 - Syncing wallet: *****
2014-03-18 13:29 (ERROR) -- BDM.py:252 - BDM was not ready for your request!  Waited 20 sec.
2014-03-18 13:29 (ERROR) -- BDM.py:253 -   getattr   name: scanRegisteredTxForWallet
2014-03-18 13:29 (ERROR) -- BDM.py:254 - BDM currently doing: Passthrough (22290098)
2014-03-18 13:29 (ERROR) -- BDM.py:255 - Waiting for completion: ID= 22290098
2014-03-18 13:29 (ERROR) -- BDM.py:256 - Direct traceback
2014-03-18 13:29 (ERROR) -- BDM.py:259 - Traceback:
Traceback (most recent call last):
  File "/home/***/BitcoinArmory/armoryengine/BDM.py", line 249, in passthruFunc
    out = self.outputQueue.get(True, self.mtWaitSec)
  File "/usr/lib/python2.7/Queue.py", line 176, in get
    raise Empty
Empty

Does your wallet have lots of transactions with tons of inputs and outputs?  For instance, we noted huge lagging when we loaded a wallet that had 100 transactions, each of which had 1,000+ outputs (even though only one output was related to the user's wallet).
full member
Activity: 168
Merit: 100
March 18, 2014, 02:36:45 PM
No luck, same issues.

Here is the first error message in the log file (other than using dev warning), the rest of the log is just repeated BDM errors. Also, the wallet consistency check finds no errors. After a while, the lower right corner always returns to the false blocks message.

EDIT:
Oh, the getspendable errors are still there, just down the list from the initial BDM errors. (NVM, deleted old log.)

Quote
2014-03-18 13:29 (INFO) -- BDM.py:384 - Reading blockchain, pct complete: 99.9
2014-03-18 13:29 (INFO) -- BDM.py:384 - Reading blockchain, pct complete: 99.9
2014-03-18 13:29 (INFO) -- BDM.py:384 - Reading blockchain, pct complete: 99.9
2014-03-18 13:29 (INFO) -- BDM.py:384 - Reading blockchain, pct complete: 99.9
2014-03-18 13:29 (INFO) -- ArmoryQt.py:5391 - Dashboard switched to fully-online mode
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4712 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4654 - Switching Armory functional mode to "Online"
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4712 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2014-03-18 13:29 (INFO) -- ArmoryQt.py:5391 - Dashboard switched to fully-online mode
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4712 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4654 - Switching Armory functional mode to "Online"
2014-03-18 13:29 (INFO) -- ArmoryQt.py:4712 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2014-03-18 13:29 (INFO) -- ArmoryQt.py:2398 - Syncing wallet: *****
2014-03-18 13:29 (ERROR) -- BDM.py:252 - BDM was not ready for your request!  Waited 20 sec.
2014-03-18 13:29 (ERROR) -- BDM.py:253 -   getattr   name: scanRegisteredTxForWallet
2014-03-18 13:29 (ERROR) -- BDM.py:254 - BDM currently doing: Passthrough (22290098)
2014-03-18 13:29 (ERROR) -- BDM.py:255 - Waiting for completion: ID= 22290098
2014-03-18 13:29 (ERROR) -- BDM.py:256 - Direct traceback
2014-03-18 13:29 (ERROR) -- BDM.py:259 - Traceback:
Traceback (most recent call last):
  File "/home/***/BitcoinArmory/armoryengine/BDM.py", line 249, in passthruFunc
    out = self.outputQueue.get(True, self.mtWaitSec)
  File "/usr/lib/python2.7/Queue.py", line 176, in get
    raise Empty
Empty
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
March 18, 2014, 02:07:57 PM
Wallet import still crashes Armory on .91 dev branch.

OK, still having the same problem with the new dev branch. Imported wallet after complete sync, application becomes so slow it's hard to tell if it's crashed. Crash occurs at or near the end of transaction history scan. Message in lower right corner says Connected (False Blocks). After restarting, Armory crashes at 99% transaction history scans and message in lower right corner says Connected (0 Blocks). After about 5 minutes it seems to complete, lower right corner now looks normal Connected (29XXX Blocks). A few minutes later the message returns too Connected (False Blocks).

Basically, no different experience than 0.90 version. Although a blank "Factory Reset" window just popped up. Not sure what that's about!


I believe the getSpendableBalance errors are a symptom of the problem, not the problem itself.    Rather, the problem already happened before it got to that line. 

Actually... looking at the errors makes me think that you're still using the old C++ utilities.  Like you didn't recompile the C++ code after checking out the latest version.  I see

Code:
Possible C/C++ prototypes are:
   BtcWallet::getSpendableBalance(uint32_t,bool)
   BtcWallet::getSpendableBalance(uint32_t)
   BtcWallet::getSpendableBalance()

Those prototypes did change in the latest version and now have a second argument.  Try doing a make clean and make and try agian.

full member
Activity: 168
Merit: 100
March 18, 2014, 02:01:35 PM
Wallet import still crashes Armory on .91 dev branch.

OK, still having the same problem with the new dev branch. Imported wallet after complete sync, application becomes so slow it's hard to tell if it's crashed. Crash occurs at or near the end of transaction history scan. Message in lower right corner says Connected (False Blocks). After restarting, Armory crashes at 99% transaction history scans and message in lower right corner says Connected (0 Blocks). After about 5 minutes it seems to complete, lower right corner now looks normal Connected (29XXX Blocks). A few minutes later the message returns too Connected (False Blocks).

Basically, no different experience than 0.90 version. Although a blank "Factory Reset" window just popped up. Not sure what that's about!

Quote
2014-03-18 12:30 (ERROR) -- Traceback (most recent call last):
  File "ArmoryQt.py", line 2724, in execDlgWalletDetails
    dialog = DlgWalletDetails(wlt, self.usermode, self, self)
  File "/home/***/BitcoinArmory/qtdialogs.py", line 1308, in __init__
    spendFunds = self.wlt.getBalance('Spendable')
  File "/home/***/BitcoinArmory/armoryengine/PyBtcWallet.py", line 392, in getBalance
    return self.cppWallet.getSpendableBalance(currBlk, IGNOREZC)
  File "/home/***/BitcoinArmory/CppBlockUtils.py", line 1710, in getSpendableBalance
    def getSpendableBalance(self, currBlk=0, ignoreAllZeroConf=False): return _CppBlockUtils.BtcWallet_getSpendableBalance(self, currBlk, ignoreAllZeroConf)
NotImplementedError: Wrong number or type of arguments for overloaded function 'BtcWallet_getSpendableBalance'.
  Possible C/C++ prototypes are:
    BtcWallet::getSpendableBalance(uint32_t,bool)
    BtcWallet::getSpendableBalance(uint32_t)
    BtcWallet::getSpendableBalance()


2014-03-18 12:30 (ERROR) -- BDM.py:252 - BDM was not ready for your request!  Waited 20 sec.
2014-03-18 12:30 (ERROR) -- BDM.py:253 -   getattr   name: getTopBlockHeight
2014-03-18 12:30 (ERROR) -- BDM.py:254 - BDM currently doing: Passthrough (94873642)
2014-03-18 12:30 (ERROR) -- BDM.py:255 - Waiting for completion: ID= 22657427
2014-03-18 12:30 (ERROR) -- BDM.py:256 - Direct traceback
2014-03-18 12:30 (ERROR) -- BDM.py:259 - Traceback:
Traceback (most recent call last):
  File "/home/***/BitcoinArmory/armoryengine/BDM.py", line 249, in passthruFunc
    out = self.outputQueue.get(True, self.mtWaitSec)
  File "/usr/lib/python2.7/Queue.py", line 176, in get
    raise Empty
Empty
2014-03-18 12:30 (ERROR) -- BDM.py:1218 - ErrorOut var over-represented number of errors!
2014-03-18 12:30 (INFO) -- ArmoryQt.py:5391 - Dashboard switched to fully-online mode
2014-03-18 12:30 (INFO) -- ArmoryQt.py:4712 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2014-03-18 12:30 (INFO) -- ArmoryQt.py:4654 - Switching Armory functional mode to "Online"
2014-03-18 12:30 (INFO) -- ArmoryQt.py:4712 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2014-03-18 12:30 (INFO) -- ArmoryQt.py:2398 - Syncing wallet: ***
2014-03-18 12:30 (INFO) -- ArmoryQt.py:2408 - Current block number: 0
2014-03-18 12:30 (INFO) -- SDM.py:198 - Torrent:  / Seeds: 0 / Peers: 0
2014-03-18 12:30 (ERROR) -- BDM.py:252 - BDM was not ready for your request!  Waited 20 sec.
2014-03-18 12:30 (ERROR) -- BDM.py:253 -   getattr   name: getTopBlockHeader
2014-03-18 12:30 (ERROR) -- BDM.py:254 - BDM currently doing: Passthrough (55769831)
2014-03-18 12:30 (ERROR) -- BDM.py:255 - Waiting for completion: ID= 36071649
2014-03-18 12:30 (ERROR) -- BDM.py:256 - Direct traceback
2014-03-18 12:30 (ERROR) -- BDM.py:259 - Traceback:
Traceback (most recent call last):
  File "/home/***/BitcoinArmory/armoryengine/BDM.py", line 249, in passthruFunc
    out = self.outputQueue.get(True, self.mtWaitSec)
  File "/usr/lib/python2.7/Queue.py", line 176, in get
    raise Empty
Empty
2014-03-18 12:30 (ERROR) -- ArmoryQt.py:5718 - Error in heartbeat function
Traceback (most recent call last):
  File "ArmoryQt.py", line 5621, in Heartbeat
    self.finishLoadBlockchain()
  File "/home/***/BitcoinArmory/armoryengine/Timer.py", line 99, in inner
    ret = func(*args, **kwargs)
  File "ArmoryQt.py", line 2413, in finishLoadBlockchain
    self.blkReceived = TheBDM.getTopBlockHeader().getTimestamp()
AttributeError: 'NoneType' object has no attribute 'getTimestamp'
2014-03-18 12:31 (ERROR) -- BDM.py:252 - BDM was not ready for your request!  Waited 20 sec.
2014-03-18 12:31 (ERROR) -- BDM.py:253 -   getattr   name: hasTxWithHash
2014-03-18 12:31 (ERROR) -- BDM.py:254 - BDM currently doing: Passthrough (55769831)
2014-03-18 12:31 (ERROR) -- BDM.py:255 - Waiting for completion: ID= 86350101
2014-03-18 12:31 (ERROR) -- BDM.py:256 - Direct traceback
2014-03-18 12:31 (ERROR) -- BDM.py:259 - Traceback:
Traceback (most recent call last):
  File "/home/***/BitcoinArmory/armoryengine/BDM.py", line 249, in passthruFunc
    out = self.outputQueue.get(True, self.mtWaitSec)
  File "/usr/lib/python2.7/Queue.py", line 176, in get
    raise Empty
Empty
2014-03-18 12:31 (ERROR) -- BDM.py:1218 - ErrorOut var over-represented number of errors!
2014-03-18 12:31 (ERROR) -- BDM.py:252 - BDM was not ready for your request!  Waited 20 sec.
2014-03-18 12:31 (ERROR) -- BDM.py:253 -   getattr   name: hasTxWithHash
2014-03-18 12:31 (ERROR) -- BDM.py:254 - BDM currently doing: Passthrough (48095612)
2014-03-18 12:31 (ERROR) -- BDM.py:255 - Waiting for completion: ID= 10895388
2014-03-18 12:31 (ERROR) -- BDM.py:256 - Direct traceback
2014-03-18 12:31 (ERROR) -- BDM.py:259 - Traceback:
Traceback (most recent call last):
  File "/home/***/BitcoinArmory/armoryengine/BDM.py", line 249, in passthruFunc
    out = self.outputQueue.get(True, self.mtWaitSec)
  File "/usr/lib/python2.7/Queue.py", line 176, in get
    raise Empty
Empty
2014-03-18 12:32 (INFO) -- SDM.py:198 - Torrent:  / Seeds: 0 / Peers: 0
2014-03-18 12:32 (ERROR) -- BDM.py:252 - BDM was not ready for your request!  Waited 20 sec.
2014-03-18 12:32 (ERROR) -- BDM.py:253 -   getattr   name: hasTxWithHash
2014-03-18 12:32 (ERROR) -- BDM.py:254 - BDM currently doing: Passthrough (48095612)
2014-03-18 12:32 (ERROR) -- BDM.py:255 - Waiting for completion: ID= 19321835
2014-03-18 12:32 (ERROR) -- BDM.py:256 - Direct traceback
2014-03-18 12:32 (ERROR) -- BDM.py:259 - Traceback:
Traceback (most recent call last):
  File "/home/***/BitcoinArmory/armoryengine/BDM.py", line 249, in passthruFunc
    out = self.outputQueue.get(True, self.mtWaitSec)
  File "/usr/lib/python2.7/Queue.py", line 176, in get
    raise Empty
Empty
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
March 18, 2014, 12:47:04 PM
My guess is that it's looking for a header pointer on a zero-confirmation tx.  It doesn't find it, and then the error somehow leads to crashing the readBlkFileUpdate() loop.  We may need to examine how the loop is handling zero-confirmation transaction and make sure there's not any crashing there.



newbie
Activity: 23
Merit: 0
March 18, 2014, 10:00:30 AM
Hi Alan!

I have a strange behaviour, maybe you can point me to the right direction.

we are using Armoryd.py for offline transaction signing.
After that we pass the Tx to another rpc to sign it,
and after it got signed I pass it again to armoryd.py (added own functions to btcUtilsExtra.py to make the broadcast)
but after the broadcast is done the following appears on Log:

Code:
2014-03-18 14:39 (INFO) -- Networking.py:278 - sendTx called...
2014-03-18 14:39 (ERROR) -- BtcUtilsExtra.py:152 - error of cpphead isInitilized...
2014-03-18 14:40 (ERROR) -- armoryd.py:562 - Header pointer is not available!
2014-03-18 14:40 (ERROR) -- armoryd.py:562 - Header pointer is not available!
2014-03-18 14:40 (ERROR) -- armoryd.py:562 - Header pointer is not available!
2014-03-18 14:40 (ERROR) -- armoryd.py:562 - Header pointer is not available!


 Part of code where the throw happens:

 cppHead = TheBDM.getHeaderPtrForTx(cppTx)
    try:
          if not cppHead.isInitialized():
            LOGERROR('Header pointer is not available!')
            headHashBin = ''
            headHashHex = ''
            headtime    = 0
          else:
            headHashBin = cppHead.getThisHash()
            headHashHex = binary_to_hex(headHashBin, BIGENDIAN)
            headtime    = cppHead.getTimestamp()

    except Exception, e:
        headHashBin = ''
        headHashHex = ''
        headtime    = 0
        LOGERROR('error of cpphead isInitilized...')

The Tx gets boradcasted and arrives to Network and to the Recevier Address. thats not the point,
but: After a few transactions the armoryd.py stops to reporting the correct Ledger.

It responds fine (on rpc) without any problem, but it doesnt get new values from it (new Blocks - changes of balance etc..)
I dont know if it has to see with the error log  I posted below, its just a "maybe detail" of the problem.


Some point where to look in?
Best regards

newbie
Activity: 20
Merit: 0
March 18, 2014, 09:07:56 AM
"Make hardclean" don't help.
Code:
piotrek@piotek-pc ~/Apps/BitcoinArmory :( $ cd cppForSwig/
piotrek@piotek-pc ~/Apps/BitcoinArmory/cppForSwig $ make hardclean
touch CppBlockUtils.i
rm -f *.o *.out *.a
rm -f CppBlockUtils_wrap.cxx
rm pypaths.txt
make -C cryptopp clean
make[1]: Entering directory '/home/piotrek/Apps/BitcoinArmory/cppForSwig/cryptopp'
rm -f cryptest.exe libcryptopp.a gcm.o skipjack.o osrng.o arc4.o cryptlib_bds.o hex.o esign.o randpool.o sharkbox.o base32.o dessp.o gzip.o fips140.o dsa.o polynomi.o winpipes.o eprecomp.o vmac.o hrtimer.o queue.o fipstest.o simple.o xtrcrypt.o hmac.o pkcspad.o authenc.o idea.o squaretb.o rc5.o emsa2.o sha.o network.o eax.o algparam.o des.o zlib.o ida.o dh2.o strciphr.o ecp.o blowfish.o md2.o elgamal.o adler32.o iterhash.o safer.o twofish.o wake.o wait.o default.o rc2.o oaep.o square.o gf2n.o shark.o seed.o shacal2.o cmac.o tea.o serpent.o eccrypto.o ripemd.o camellia.o pubkey.o trdlocal.o salsa.o seal.o luc.o ttmac.o crc.o tigertab.o mqv.o ccm.o dh.o md4.o whrlpool.o asn.o rw.o cast.o tiger.o rng.o channels.o zinflate.o pssr.o misc.o mqueue.o gf256.o rc6.o base64.o zdeflate.o basecode.o algebra.o blumshub.o ec2n.o dll.o gfpcrypt.o cryptlib.o files.o casts.o rijndael.o modes.o nbtheory.o md5.o socketft.o gost.o tftables.o pch.o cbcmac.o rsa.o rdtables.o 3way.o gf2_32.o rabin.o bfinit.o filters.o cpu.o sosemanuk.o xtr.o integer.o bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe algebra.export.o algparam.export.o asn.export.o basecode.export.o cbcmac.export.o channels.export.o cryptlib.export.o des.export.o dessp.export.o dh.export.o dll.export.o dsa.export.o ec2n.export.o eccrypto.export.o ecp.export.o eprecomp.export.o files.export.o filters.export.o fips140.export.o fipstest.export.o gf2n.export.o gfpcrypt.export.o hex.export.o hmac.export.o integer.export.o iterhash.export.o misc.export.o modes.export.o modexppc.export.o mqueue.export.o nbtheory.export.o oaep.export.o osrng.export.o pch.export.o pkcspad.export.o pubkey.export.o queue.export.o randpool.export.o rdtables.export.o rijndael.export.o rng.export.o rsa.export.o sha.export.o simple.export.o skipjack.export.o strciphr.export.o trdlocal.export.o gcm.import.o skipjack.import.o osrng.import.o arc4.import.o cryptlib_bds.import.o hex.import.o esign.import.o randpool.import.o sharkbox.import.o base32.import.o dessp.import.o gzip.import.o fips140.import.o dsa.import.o polynomi.import.o winpipes.import.o eprecomp.import.o vmac.import.o hrtime[Suspicious link removed]port.o queue.import.o fipstest.import.o simple.import.o xtrcrypt.import.o hmac.import.o pkcspad.import.o authenc.import.o idea.import.o squaretb.import.o rc5.import.o emsa2.import.o sha.import.o network.import.o eax.import.o algparam.import.o des.import.o zlib.import.o ida.import.o dh2.import.o strciph[Suspicious link removed]port.o ecp.import.o blowfish.import.o md2.import.o elgamal.import.o adler32.import.o iterhash.import.o safe[Suspicious link removed]port.o twofish.import.o wake.import.o wait.import.o default.import.o rc2.import.o oaep.import.o square.import.o gf2n.import.o shark.import.o seed.import.o shacal2.import.o cmac.import.o tea.import.o serpent.import.o eccrypto.import.o ripemd.import.o camellia.import.o pubkey.import.o trdlocal.import.o salsa.import.o seal.import.o luc.import.o ttmac.import.o crc.import.o tigertab.import.o mqv.import.o ccm.import.o dh.import.o md4.import.o whrlpool.import.o a[Suspicious link removed]port.o rw.import.o cast.import.o tige[Suspicious link removed]port.o rng.import.o channels.import.o zinflate.import.o pss[Suspicious link removed]port.o misc.import.o mqueue.import.o gf256.import.o rc6.import.o base64.import.o zdeflate.import.o basecode.import.o algebra.import.o blumshub.import.o ec2n.import.o dll.import.o gfpcrypt.import.o cryptlib.import.o files.import.o casts.import.o rijndael.import.o modes.import.o nbtheory.import.o md5.import.o socketft.import.o gost.import.o tftables.import.o pch.import.o cbcmac.import.o rsa.import.o rdtables.import.o 3way.import.o gf2_32.import.o rabin.import.o bfinit.import.o filters.import.o cpu.import.o sosemanuk.import.o xt[Suspicious link removed]port.o intege[Suspicious link removed]port.o bench.import.o bench2.import.o test.import.o validat1.import.o validat2.import.o validat3.import.o adhoc.import.o datatest.import.o regtest.import.o fipsalgt.import.o dlltest.import.o dlltest.dllonly.o                                                                                             
make[1]: Leaving directory '/home/piotrek/Apps/BitcoinArmory/cppForSwig/cryptopp'                                                                                                 
make -C leveldb clean                                                                                                                                                             
make[1]: Entering directory '/home/piotrek/Apps/BitcoinArmory/cppForSwig/leveldb'                                                                                                 
rm -f db_bench leveldbutil arena_test autocompact_test bloom_test c_test cache_test coding_test corruption_test crc32c_test db_test dbformat_test env_test filename_test filter_block_test issue178_test issue200_test log_test memenv_test skiplist_test table_test version_edit_test version_set_test write_batch_test db_bench_sqlite3 db_bench_tree_db libleveldb.a libleveldb.so libleveldb.so.1 libleveldb.so.1.15 libmemenv.a */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o build_config.mk                                                           
rm -rf ios-x86/* ios-arm/*                                                                                                                                                         
make[1]: Leaving directory '/home/piotrek/Apps/BitcoinArmory/cppForSwig/leveldb'
piotrek@piotek-pc ~/Apps/BitcoinArmory/cppForSwig $ cd ..
piotrek@piotek-pc ~/Apps/BitcoinArmory $ python2 ArmoryQt.py
Traceback (most recent call last):
  File "ArmoryQt.py", line 34, in
    from armoryengine.ALL import *
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine/ALL.py", line 1, in
    from armoryengine.ArmoryUtils import *
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine/ArmoryUtils.py", line 39, in
    from CppBlockUtils import KdfRomix, CryptoAES
  File "/home/piotrek/Apps/BitcoinArmory/CppBlockUtils.py", line 28, in
    _CppBlockUtils = swig_import_helper()
  File "/home/piotrek/Apps/BitcoinArmory/CppBlockUtils.py", line 24, in swig_import_helper
    _mod = imp.load_module('_CppBlockUtils', fp, pathname, description)
ImportError: /home/piotrek/Apps/BitcoinArmory/_CppBlockUtils.so: undefined symbol: _ZN6snappy21GetUncompressedLengthEPKcmPm
piotrek@piotek-pc ~/Apps/BitcoinArmory :( $ cd cppForSwig/
piotrek@piotek-pc ~/Apps/BitcoinArmory/cppForSwig $ make
g++  -Icryptopp -Ileveldb/include -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS -O2 -pipe -fPIC -c UniversalTimer.cpp
g++  -Icryptopp -Ileveldb/include -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS -O2 -pipe -fPIC -c BinaryData.cpp
g++  -Icryptopp -Ileveldb/include -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS -O2 -pipe -fPIC -c leveldb_wrapper.cpp
g++  -Icryptopp -Ileveldb/include -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS -O2 -pipe -fPIC -c StoredBlockObj.cpp
g++  -Icryptopp -Ileveldb/include -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS -O2 -pipe -fPIC -c BtcUtils.cpp
g++  -Icryptopp -Ileveldb/include -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS -O2 -pipe -fPIC -c BlockObj.cpp
g++  -Icryptopp -Ileveldb/include -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS -O2 -pipe -fPIC -c BlockUtils.cpp
g++  -Icryptopp -Ileveldb/include -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS -O2 -pipe -fPIC -c EncryptionUtils.cpp
make -C cryptopp libcryptopp.a
make[1]: Entering directory '/home/piotrek/Apps/BitcoinArmory/cppForSwig/cryptopp'
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c gcm.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c skipjack.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c osrng.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c arc4.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c cryptlib_bds.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c hex.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c esign.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c randpool.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c sharkbox.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c base32.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c dessp.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c gzip.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c fips140.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c dsa.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c polynomi.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c winpipes.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c eprecomp.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c vmac.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c hrtimer.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c queue.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c fipstest.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c simple.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c xtrcrypt.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c hmac.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c pkcspad.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c authenc.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c idea.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c squaretb.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c rc5.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c emsa2.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c sha.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c network.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c eax.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c algparam.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c des.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c zlib.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c ida.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c dh2.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c strciphr.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c ecp.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c blowfish.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c md2.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c elgamal.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c adler32.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c iterhash.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c safer.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c twofish.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c wake.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c wait.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c default.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c rc2.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c oaep.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c square.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c gf2n.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c shark.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c seed.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c shacal2.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c cmac.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c tea.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c serpent.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c eccrypto.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c ripemd.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c camellia.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c pubkey.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c trdlocal.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c salsa.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c seal.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c luc.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c ttmac.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c crc.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c tigertab.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c mqv.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c ccm.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c dh.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c md4.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c whrlpool.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c asn.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c rw.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c cast.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c tiger.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c rng.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c channels.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c zinflate.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c pssr.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c misc.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c mqueue.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c gf256.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c rc6.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c base64.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c zdeflate.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c basecode.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c algebra.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c blumshub.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c ec2n.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c dll.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c gfpcrypt.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c cryptlib.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c files.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c casts.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c rijndael.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c modes.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c nbtheory.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c md5.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c socketft.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c gost.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c tftables.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c pch.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c cbcmac.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c rsa.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c rdtables.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c 3way.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c gf2_32.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c rabin.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c bfinit.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c filters.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c cpu.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c sosemanuk.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c xtr.cpp
g++ -DNDEBUG -g -O2 -fPIC -mtune=generic -pipe -c integer.cpp
ar -cr   libcryptopp.a gcm.o skipjack.o osrng.o arc4.o cryptlib_bds.o hex.o esign.o randpool.o sharkbox.o base32.o dessp.o gzip.o fips140.o dsa.o polynomi.o winpipes.o eprecomp.o vmac.o hrtimer.o queue.o fipstest.o simple.o xtrcrypt.o hmac.o pkcspad.o authenc.o idea.o squaretb.o rc5.o emsa2.o sha.o network.o eax.o algparam.o des.o zlib.o ida.o dh2.o strciphr.o ecp.o blowfish.o md2.o elgamal.o adler32.o iterhash.o safer.o twofish.o wake.o wait.o default.o rc2.o oaep.o square.o gf2n.o shark.o seed.o shacal2.o cmac.o tea.o serpent.o eccrypto.o ripemd.o camellia.o pubkey.o trdlocal.o salsa.o seal.o luc.o ttmac.o crc.o tigertab.o mqv.o ccm.o dh.o md4.o whrlpool.o asn.o rw.o cast.o tiger.o rng.o channels.o zinflate.o pssr.o misc.o mqueue.o gf256.o rc6.o base64.o zdeflate.o basecode.o algebra.o blumshub.o ec2n.o dll.o gfpcrypt.o cryptlib.o files.o casts.o rijndael.o modes.o nbtheory.o md5.o socketft.o gost.o tftables.o pch.o cbcmac.o rsa.o rdtables.o 3way.o gf2_32.o rabin.o bfinit.o filters.o cpu.o sosemanuk.o xtr.o integer.o
ranlib libcryptopp.a
make[1]: Leaving directory '/home/piotrek/Apps/BitcoinArmory/cppForSwig/cryptopp'
mv cryptopp/libcryptopp.a .
make -C leveldb libleveldb.a
make[1]: Entering directory '/home/piotrek/Apps/BitcoinArmory/cppForSwig/leveldb'
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/builder.cc -o db/builder.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/c.cc -o db/c.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/dbformat.cc -o db/dbformat.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/db_impl.cc -o db/db_impl.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/db_iter.cc -o db/db_iter.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/filename.cc -o db/filename.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/log_reader.cc -o db/log_reader.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/log_writer.cc -o db/log_writer.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/memtable.cc -o db/memtable.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/repair.cc -o db/repair.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/table_cache.cc -o db/table_cache.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/version_edit.cc -o db/version_edit.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/version_set.cc -o db/version_set.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c db/write_batch.cc -o db/write_batch.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c table/block_builder.cc -o table/block_builder.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c table/block.cc -o table/block.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c table/filter_block.cc -o table/filter_block.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c table/format.cc -o table/format.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c table/iterator.cc -o table/iterator.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c table/merger.cc -o table/merger.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c table/table_builder.cc -o table/table_builder.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c table/table.cc -o table/table.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c table/two_level_iterator.cc -o table/two_level_iterator.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/arena.cc -o util/arena.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/bloom.cc -o util/bloom.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/cache.cc -o util/cache.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/coding.cc -o util/coding.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/comparator.cc -o util/comparator.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/crc32c.cc -o util/crc32c.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/env.cc -o util/env.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/env_posix.cc -o util/env_posix.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/filter_policy.cc -o util/filter_policy.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/hash.cc -o util/hash.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/histogram.cc -o util/histogram.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/logging.cc -o util/logging.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/options.cc -o util/options.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c util/status.cc -o util/status.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -fPIC -DNDEBUG        -c port/port_posix.cc -o port/port_posix.o
rm -f libleveldb.a
ar -rs libleveldb.a db/builder.o db/c.o db/dbformat.o db/db_impl.o db/db_iter.o db/filename.o db/log_reader.o db/log_writer.o db/memtable.o db/repair.o db/table_cache.o db/version_edit.o db/version_set.o db/write_batch.o table/block_builder.o table/block.o table/filter_block.o table/format.o table/iterator.o table/merger.o table/table_builder.o table/table.o table/two_level_iterator.o util/arena.o util/bloom.o util/cache.o util/coding.o util/comparator.o util/crc32c.o util/env.o util/env_posix.o util/filter_policy.o util/hash.o util/histogram.o util/logging.o util/options.o util/status.o port/port_posix.o
ar: creating libleveldb.a
make[1]: Leaving directory '/home/piotrek/Apps/BitcoinArmory/cppForSwig/leveldb'
mv leveldb/libleveldb.a .
g++ -O2 -pipe -fPIC  -Icryptopp -Ileveldb/include -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS  -c -o sighandler.o sighandler.cpp
swig -c++ -python -classic -threads -outdir ../ -v CppBlockUtils.i
Language subdirectory: python
Search paths:
   ./
   ./swig_lib/python/
   /usr/share/swig/2.0.12/python/
   ./swig_lib/
   /usr/share/swig/2.0.12/
Preprocessing...
Starting language-specific parse...
EncryptionUtils.h:178: Warning 362: operator= ignored
Processing types...
EncryptionUtils.h:133: Warning 402: Base class 'BinaryData' is incomplete.
BtcUtils.h:83: Warning 402: Only forward declaration 'BinaryData' was found.
C++ analysis...
Generating wrappers...
BlockObj.h:604: Warning 472: Overloaded method TxIOPair::TxIOPair(TxRef,uint32_t,TxRef,uint32_t) with no explicit typecheck typemap for arg 0 of type 'BinaryData'
BlockObj.h:648: Warning 472: Overloaded method TxIOPair::setTxIn(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
BlockObj.h:650: Warning 472: Overloaded method TxIOPair::setTxOut(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
StoredBlockObj.h:317: Warning 472: Overloaded method StoredHeader::setHeightAndDup(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
StoredBlockObj.h:583: Warning 472: Overloaded method StoredScriptHistory::markTxOutUnspent(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
StoredBlockObj.h:583: Warning 472: Overloaded method StoredScriptHistory::markTxOutUnspent(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
StoredBlockObj.h:583: Warning 472: Overloaded method StoredScriptHistory::markTxOutUnspent(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
StoredBlockObj.h:583: Warning 472: Overloaded method StoredScriptHistory::markTxOutUnspent(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
StoredBlockObj.h:647: Warning 472: Overloaded method StoredSubHistory::markTxOutUnspent(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
StoredBlockObj.h:647: Warning 472: Overloaded method StoredSubHistory::markTxOutUnspent(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
StoredBlockObj.h:647: Warning 472: Overloaded method StoredSubHistory::markTxOutUnspent(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
StoredBlockObj.h:647: Warning 472: Overloaded method StoredSubHistory::markTxOutUnspent(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
StoredBlockObj.h:709: Warning 472: Overloaded method StoredTxHints::setPreferredTx(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
BlockUtils.h:197: Warning 472: Overloaded method AddressBookEntry::AddressBookEntry(BinaryData) with no explicit typecheck typemap for arg 0 of type 'BinaryData'
BlockUtils.h:262: Warning 472: Overloaded method ScrAddrObj::ScrAddrObj(BinaryData) with no explicit typecheck typemap for arg 0 of type 'BinaryData'
BlockUtils.h:262: Warning 472: Overloaded method ScrAddrObj::ScrAddrObj(BinaryData) with no explicit typecheck typemap for arg 0 of type 'BinaryData'
BlockUtils.h:262: Warning 472: Overloaded method ScrAddrObj::ScrAddrObj(BinaryData) with no explicit typecheck typemap for arg 0 of type 'BinaryData'
BlockUtils.h:262: Warning 472: Overloaded method ScrAddrObj::ScrAddrObj(BinaryData) with no explicit typecheck typemap for arg 0 of type 'BinaryData'
BlockUtils.h:262: Warning 472: Overloaded method ScrAddrObj::ScrAddrObj(BinaryData) with no explicit typecheck typemap for arg 0 of type 'BinaryData'
BlockUtils.h:301: Warning 509: Overloaded method ScrAddrObj::addTxIO(TxIOPair &) effectively ignored,
BlockUtils.h:300: Warning 509: as it is shadowed by ScrAddrObj::addTxIO(TxIOPair *).
BlockUtils.h:300: Warning 509: Overloaded method ScrAddrObj::addTxIO(TxIOPair *,bool) effectively ignored,
BlockUtils.h:301: Warning 509: as it is shadowed by ScrAddrObj::addTxIO(TxIOPair &,bool).
BlockUtils.h:352: Warning 472: Overloaded method BtcWallet::addScrAddress(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
BlockUtils.h:352: Warning 472: Overloaded method BtcWallet::addScrAddress(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
BlockUtils.h:352: Warning 472: Overloaded method BtcWallet::addScrAddress(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
BlockUtils.h:352: Warning 472: Overloaded method BtcWallet::addScrAddress(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
BlockUtils.h:352: Warning 472: Overloaded method BtcWallet::addScrAddress(BinaryData) with no explicit typecheck typemap for arg 1 of type 'BinaryData'
BlockUtils.h:685: Warning 509: Overloaded method BlockDataManager_LevelDB::SetDatabaseModes(int,int) effectively ignored,
BlockUtils.h:682: Warning 509: as it is shadowed by BlockDataManager_LevelDB::SetDatabaseModes(ARMORY_DB_TYPE,DB_PRUNE_TYPE).
g++ -I"/usr/include/python2.7" -O2 -pipe -fPIC  -Icryptopp -Ileveldb/include -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS -c CppBlockUtils_wrap.cxx
g++ -shared -fPIC -lpthread -Lleveldb -L/usr/lib/libpython2.7.so.1.0 -lpython2.7  -O2 -pipe -fPIC UniversalTimer.o BinaryData.o leveldb_wrapper.o StoredBlockObj.o BtcUtils.o BlockObj.o BlockUtils.o EncryptionUtils.o libcryptopp.a libleveldb.a sighandler.o "/usr/lib/libpython2.7.so.1.0" CppBlockUtils_wrap.o -o ../_CppBlockUtils.so
piotrek@piotek-pc ~/Apps/BitcoinArmory/cppForSwig $ python2 ArmoryQt.py
python2: can't open file 'ArmoryQt.py': [Errno 2] No such file or directory
piotrek@piotek-pc ~/Apps/BitcoinArmory/cppForSwig :( $ cd ..
piotrek@piotek-pc ~/Apps/BitcoinArmory $ python2 ArmoryQt.py
Traceback (most recent call last):
  File "ArmoryQt.py", line 34, in
    from armoryengine.ALL import *
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine/ALL.py", line 1, in
    from armoryengine.ArmoryUtils import *
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine/ArmoryUtils.py", line 39, in
    from CppBlockUtils import KdfRomix, CryptoAES
  File "/home/piotrek/Apps/BitcoinArmory/CppBlockUtils.py", line 28, in
    _CppBlockUtils = swig_import_helper()
  File "/home/piotrek/Apps/BitcoinArmory/CppBlockUtils.py", line 24, in swig_import_helper
    _mod = imp.load_module('_CppBlockUtils', fp, pathname, description)
ImportError: /home/piotrek/Apps/BitcoinArmory/_CppBlockUtils.so: undefined symbol: _ZN6snappy21GetUncompressedLengthEPKcmPm
piotrek@piotek-pc ~/Apps/BitcoinArmory :( $
legendary
Activity: 2126
Merit: 1001
March 18, 2014, 04:22:46 AM
New stuff for 0.91-beta!
[..]

Awesome news!
I really like the way the Armory team works. Cutting edge technology, fast updates and in close contact to the users, and fundamental enhancements in the background.

Hats off to all of you, thank you!

Ente
full member
Activity: 168
Merit: 100
March 17, 2014, 06:25:46 PM
Just installed on Mint16, no issues with make. Currently downloading via CDN, seems to be averaging about 1.6MB on download right now.

Hope this fixes my issues, but very cool to see an improved blockchain download process.

The bootstrapping takes way longer than I was expecting when I put this in.  But also the bootstrap file is three months old at this point, as is the last checkpoint in Bitcoin-Qt.  I think with 0.9.0 and the updated checkpoint, the bootstrap will be much faster.

However, even with no time improvement, this should cut down considerably on corrupted blk*.dat files. 

Took just shy of 4 hours. Now syncing, 24% complete and estimating 3 hours to finish. Guesstimating 8 hours total before database build? This may not be as fast as you were expecting, but with how many times I've done this for troubleshooting it seems like a dream. Cuts about 16-20 hours out of what I usually see. This is great so far. Thanks for the update.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
March 17, 2014, 05:44:12 PM
Just installed on Mint16, no issues with make. Currently downloading via CDN, seems to be averaging about 1.6MB on download right now.

Hope this fixes my issues, but very cool to see an improved blockchain download process.

The bootstrapping takes way longer than I was expecting when I put this in.  But also the bootstrap file is three months old at this point, as is the last checkpoint in Bitcoin-Qt.  I think with 0.9.0 and the updated checkpoint, the bootstrap will be much faster.

However, even with no time improvement, this should cut down considerably on corrupted blk*.dat files. 
full member
Activity: 168
Merit: 100
March 17, 2014, 02:50:31 PM
Just installed on Mint16, no issues with make. Currently downloading via CDN, seems to be averaging about 1.6MB on download right now.

Hope this fixes my issues, but very cool to see an improved blockchain download process.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
March 17, 2014, 02:42:30 PM
I have problem with 0.91-dev branch on Arch Linux. Tried a fresh clone and it is not help.

Code:
Traceback (most recent call last):
  File "ArmoryQt.py", line 34, in
    from armoryengine.ALL import *
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine/ALL.py", line 1, in
    from armoryengine.ArmoryUtils import *
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine/ArmoryUtils.py", line 39, in
    from CppBlockUtils import KdfRomix, CryptoAES
  File "/home/piotrek/Apps/BitcoinArmory/CppBlockUtils.py", line 28, in
    _CppBlockUtils = swig_import_helper()
  File "/home/piotrek/Apps/BitcoinArmory/CppBlockUtils.py", line 24, in swig_import_helper
    _mod = imp.load_module('_CppBlockUtils', fp, pathname, description)
ImportError: /home/piotrek/Apps/BitcoinArmory/_CppBlockUtils.so: undefined symbol: _ZN6snappy21GetUncompressedLengthEPKcmPm


This issue is most commonly associated with updating Armory but not rebuilding all the sub libraries.  But we also modified the Makefile since the last version was released, so it's possible we broke something there.  And you said you did a fresh clone, so my first sentence doesn't make the most sense.

Try going into the cppForSwig directory and doing a "make hardclean", then try again.  I will try this on a fresh Ubuntu installation, too.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
March 17, 2014, 01:59:33 PM
New stuff for 0.91-beta!

Finally ready to lock down the feature set for 0.91-beta.  I posted a testing version a couple weeks ago, and then some internal discussions revealed it was actually possible (and easy) to integrate BitTorrent into Armory to dramatically improve the initial synchronization!   But that's not it: we are now running 30+ seedboxes to make sure there is sufficient seeding power for... a lot ... of users simultaneously.  The joys of being a company with capital to make such investments! (and really, it's not terribly expensive)  

And yet there's more!  I had been meaning to update the announcement system for a long time, and never quite had the motivation to do it.  With the necessity to periodically update the bootstrap.dat.torrent file, I decided now was the time.  

Armory now has a hard-coded offline signing Bitcoin key, that is used to sign all announcement data, including torrents, upgrade info and alerts.  This channel is protected to the same level of security as the releases themselves.  It will be used sparingly:

  • URLs, hashes, changelogs for all new versions of Armory and CoreBitcoin.  This made it possible to also integrate a "Secure Downloader" that downloads installers and verifies signatures for you!
  • Notifications list for critical announcements and alerts (including low-priority testing announcements if selected in the settings)

It's all stored in an announce file which is periodically retrieved by Armory.  If the announce file has no valid signature, it's as if it doesn't exist.  Similarly, when data is downloaded, it must match the hash in the announce file, or it will be discarded.  All text files will, themselves, be in Armory signature blocks, and can be manually verified in Armory via Tools -> Message Signing/Verification from the main window.


tl;dr
  • Automatic usage of torrent and Armory seedboxes to bootstrap a cold start.  I downloaded the blockchain at 4 MB/s on my connection! (unfortunately, bitcoin-qt still takes 2-3 hours to process the bootstrap.dat, but the total time is still faster for most, and much more reliable)
  • Armory works even if the torrent library is actually removed.  I don't think most people would care, but just in case... remove the BitTornado directory and it will sync with the network normally via Bitcoin P2P.
  • Secure downloader provides a secure way to update Armory without using GPG.  This even includes the ability to "Save with offline-verifiable signatures".  This means you can create a .signed file to take to the offline computer and it won't even write the package to disk unless the signature is valid.
  • General notifications:  We finally have a way to issue critical security alerts if the need arises.  Can select the threshold in the settings, including a "testing" mode, which we might use to communicate with people actively helping test.

We are still tweaking a few things, but otherwise the testing version is about ready to go.  It's on 0.91-dev if anyone is willing to help sanity check that all the files are committed, etc.  Will merge into the "testing" branch and make Windows and OSX installers in the next two days.  I will also start another testing thread (with bug bounty!) when we do.

P.S. - If you run with 0.91-dev right now, you'll need to use --test-announce to see the announcements, downloads and use torrent.  And they're all fake at the moment (except for the torrent), so it the actual information displayed isn't all that meaningful.  The Armory downloads for Mac and Ubuntu should technically work, but may not download anything actually useful (though you can test the offline-verify-signature feature)
member
Activity: 70
Merit: 10
March 17, 2014, 01:30:19 PM
newbie
Activity: 20
Merit: 0
March 17, 2014, 12:03:00 PM
I have problem with 0.91-dev branch on Arch Linux. Tried a fresh clone and it is not help.

Code:
Traceback (most recent call last):
  File "ArmoryQt.py", line 34, in
    from armoryengine.ALL import *
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine/ALL.py", line 1, in
    from armoryengine.ArmoryUtils import *
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine/ArmoryUtils.py", line 39, in
    from CppBlockUtils import KdfRomix, CryptoAES
  File "/home/piotrek/Apps/BitcoinArmory/CppBlockUtils.py", line 28, in
    _CppBlockUtils = swig_import_helper()
  File "/home/piotrek/Apps/BitcoinArmory/CppBlockUtils.py", line 24, in swig_import_helper
    _mod = imp.load_module('_CppBlockUtils', fp, pathname, description)
ImportError: /home/piotrek/Apps/BitcoinArmory/_CppBlockUtils.so: undefined symbol: _ZN6snappy21GetUncompressedLengthEPKcmPm

newbie
Activity: 6
Merit: 0
March 14, 2014, 03:43:50 AM
Today I was facing a strange bug.

Recently I moved all my funds from my old offline wallet to a new one. Yesterday I installed Armory on a new machine and reimported my new offline watch only wallet and the old one, too. After armory has rebuild and scanned the blockchain the balance of my old wallet was zero and all my funds are in the new one - exactly as expected.

I was glad Armory finished all the blockchain building&scanning and wanted to shut down my ubuntu machine. But my Armory GUI did not want to close immediately and my Ubuntu said something like "Cannot shutdown because armory is still running.. Force shutdown?". I decided to wait one more minute but this process did not complete and I finally forced the shutdown.

Today I started Armory again and whooo - my old wallet balance says that this wallet has some coins! I checked the transaction log but there were not any new transactions to this wallet. So I tried to initiate a test transaction to check if I really own these coins. After broadcasting it Armory came up with an error msg "Transaction may have not been broadcasted/may not appear in the blockchain". Okay, I think I really don't own this Coins anymore and there is a database mixup because I forced Armory to shutdown.

Now I am rescanning the transaction history and will report what happens. Or shall I rather "rebuild & rescan" the database?

What's the difference between rebuild&rescan? Does rebuild mean "Download the blockchain again" ?

2014-03-14 00:41 (INFO) -- armoryengine.py:12479 - Reading blockchain, pct complete: 0.0
2014-03-14 00:41 (INFO) -- armoryengine.py:12479 - Reading blockchain, pct complete: 0.0
2014-03-14 00:41 (INFO) -- armoryengine.py:12479 - Reading blockchain, pct complete: 0.0
2014-03-14 00:41 (INFO) -- armoryengine.py:12479 - Reading blockchain, pct complete: 0.0
2014-03-14 00:41 (INFO) -- armoryengine.py:12479 - Reading blockchain, pct complete: 0.0
2014-03-14 00:41 (INFO) -- armoryengine.py:12479 - Reading blockchain, pct complete: 0.0
2014-03-14 00:41 (INFO) -- ArmoryQt.py:4465 - Dashboard switched to fully-online mode
2014-03-14 00:41 (INFO) -- ArmoryQt.py:3838 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2014-03-14 00:41 (INFO) -- ArmoryQt.py:3780 - Switching Armory functional mode to "Online"
2014-03-14 00:41 (INFO) -- ArmoryQt.py:3838 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2014-03-14 00:41 (INFO) -- ArmoryQt.py:4465 - Dashboard switched to fully-online mode
2014-03-14 00:41 (INFO) -- ArmoryQt.py:3838 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2014-03-14 00:41 (INFO) -- ArmoryQt.py:3780 - Switching Armory functional mode to "Online"
2014-03-14 00:41 (INFO) -- ArmoryQt.py:3838 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2014-03-14 00:41 (INFO) -- ArmoryQt.py:1913 - Syncing wallet: WALLET1
2014-03-14 00:41 (INFO) -- ArmoryQt.py:1913 - Syncing wallet: WALLET2
2014-03-14 00:41 (INFO) -- ArmoryQt.py:1913 - Syncing wallet: WALLET3
2014-03-14 00:41 (INFO) -- ArmoryQt.py:1925 - Current block number: 290451
2014-03-14 00:53 (INFO) -- ArmoryQt.py:4465 - Dashboard switched to fully-online mode
2014-03-14 00:53 (INFO) -- ArmoryQt.py:3838 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2014-03-14 00:53 (INFO) -- ArmoryQt.py:3780 - Switching Armory functional mode to "Online"
2014-03-14 00:53 (INFO) -- ArmoryQt.py:3838 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2014-03-14 00:53 (INFO) -- ArmoryQt.py:4465 - Dashboard switched to fully-online mode
2014-03-14 00:53 (INFO) -- ArmoryQt.py:3838 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2014-03-14 00:53 (INFO) -- ArmoryQt.py:3780 - Switching Armory functional mode to "Online"
2014-03-14 00:53 (INFO) -- ArmoryQt.py:3838 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2014-03-14 00:53 (INFO) -- ArmoryQt.py:4781 - New Block! : 290452
2014-03-14 00:53 (INFO) -- ArmoryQt.py:4805 - Current block number: 290452
2014-03-14 00:53 (INFO) -- ArmoryQt.py:4982 - BDM is safe for clean shutdown
2014-03-14 00:53 (INFO) -- armoryengine.py:13435 - Shutdown Requested
2014-03-14 00:53 (ERROR) -- armoryengine.py:13216 - Resetting BDM and all wallets
2014-03-14 00:53 (INFO) -- armoryengine.py:13481 - BDM is shutdown.
2014-03-14 00:53 (INFO) -- armoryengine.py:11263 - Called stopBitcoind
2014-03-14 00:53 (WARNING) -- armoryengine.py:661 - Killing process pid=2332
2014-03-14 00:53 (INFO) -- ArmoryQt.py:5010 - Attempting to close the main window!
2014-03-14 00:54 (ERROR) -- armoryengine.py:12346 - BDM was not ready for your request!  Waited 20 sec.
2014-03-14 00:54 (ERROR) -- armoryengine.py:12347 -   getattr   name: hasTxWithHash
2014-03-14 00:54 (ERROR) -- armoryengine.py:12348 - BDM currently doing: Shutdown (47513644)
2014-03-14 00:54 (ERROR) -- armoryengine.py:12349 - Waiting for completion: ID= 56394262
2014-03-14 00:54 (ERROR) -- armoryengine.py:12350 - Direct traceback
2014-03-14 00:54 (ERROR) -- armoryengine.py:12353 - Traceback:
Traceback (most recent call last):
  File "/usr/lib/armory/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
2014-03-14 00:54 (ERROR) -- armoryengine.py:12346 - BDM was not ready for your request!  Waited 20 sec.
2014-03-14 00:54 (ERROR) -- armoryengine.py:12347 -   getattr   name: hasTxWithHash
2014-03-14 00:54 (ERROR) -- armoryengine.py:12348 - BDM currently doing: Shutdown (47513644)
2014-03-14 00:54 (ERROR) -- armoryengine.py:12349 - Waiting for completion: ID= 63415093
2014-03-14 00:54 (ERROR) -- armoryengine.py:12350 - Direct traceback
2014-03-14 00:54 (ERROR) -- armoryengine.py:12353 - Traceback:
Traceback (most recent call last):
  File "/usr/lib/armory/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
2014-03-14 00:54 (ERROR) -- armoryengine.py:12346 - BDM was not ready for your request!  Waited 20 sec.
2014-03-14 00:54 (ERROR) -- armoryengine.py:12347 -   getattr   name: hasTxWithHash
2014-03-14 00:54 (ERROR) -- armoryengine.py:12348 - BDM currently doing: Shutdown (47513644)
2014-03-14 00:54 (ERROR) -- armoryengine.py:12349 - Waiting for completion: ID= 66787172
2014-03-14 00:54 (ERROR) -- armoryengine.py:12350 - Direct traceback
2014-03-14 00:54 (ERROR) -- armoryengine.py:12353 - Traceback:
Traceback (most recent call last):
  File "/usr/lib/armory/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

The last error log block appeared some more times

Update:
Okay, after rescanning the database it shows the (hopefully) correct balance again. I suggest to do a auto-rescan if this error can be tracked.
Pages:
Jump to: