Bitcoin Forum
May 23, 2024, 02:54:46 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 4 5 »  All
  Print  
Author Topic: [BOUNTY] Help test next major release of Armory! [0.04 BTC/bug]  (Read 12570 times)
etotheipi (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
November 15, 2013, 05:10:55 PM
 #21

Ok, so this isnt a bug, but a suggestion. The percentage complete when downLoading the blocks is really only helpful on the first download. When  i boot up Armory and it says 99% 10 minutes remaining, that doesnt tell me much. Maybe the percentage could be percentage complete since the beginning of the download, or you could include how many blocks behind the client is.

Heh, ironic you mention that.  Because not long ago I had it the way you just mentioned, and people were pissed off that it looked like the whole thing was starting over from scratch.  Especially when they interrupted the initial DB build and restarted it.  I changed it from what you just requested, due to popular demand Smiley

Admittedly, maybe I can change the behavior when you're mostly synchronized already, versus in the middle of the huge DB build operation...

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!)
Mooshire
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250



View Profile
November 15, 2013, 06:33:11 PM
 #22

I'm not sure if this counts as a bug, but when I loaded up armory, it had to download the last 3% of the blockchain, then go through building the database, but now its scanning the blockchain. The problem is, the only wallet has 0 addresses and was freshly created. So now I'm stuck waiting while it scans for nothing.

etotheipi (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
November 15, 2013, 06:37:39 PM
 #23

I'm not sure if this counts as a bug, but when I loaded up armory, it had to download the last 3% of the blockchain, then go through building the database, but now its scanning the blockchain. The problem is, the only wallet has 0 addresses and was freshly created. So now I'm stuck waiting while it scans for nothing.

If there's zero addresses/wallets, it should skip the scan.  If it's a newly created wallet, the addresses should be marked "new" and not induce a rescan.

However, it will always rescan on an unclean shutdown.  It's a long story.  I'd rather that inconvenience occur than have corrupted balances/history and the confusion that follows.  However, it's probably robust enough to not require a rescan on unclean shutdown, I just haven't tried yet.

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!)
Mooshire
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250



View Profile
November 15, 2013, 06:46:36 PM
 #24

I freshly installed Armory, created a new wallet while it was downloading the blocks, and haven't quit it since. It's still scanning.

etotheipi (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
November 15, 2013, 07:02:56 PM
 #25

I freshly installed Armory, created a new wallet while it was downloading the blocks, and haven't quit it since. It's still scanning.

Just to be clear, when Armory starts up is using auto-bitcoind, it does the following:

(1) Starts bitcoind, requests its sync state
(2) Waits for bitcoind to finished downloading the 15GB blockchain
(3) Builds/updates the Armory databases from the 15GB of blk*.dat files produced by bitcoind
(4) Checks the stored address histories in the DB and compares against wallet addresses
(4a) If there are no addresses needing to be rescanned, it simply loads the histories
(4b) If the histories are incomplete, or you had an unclean shutdown (histories were never written to DB) -- rescans the full Armory databases
(5) Switches the interface to "online mode" and displays the tx history.

If your bitcoin-qt/bitcoind is already synchronized, then step #2 is minimal effort.  Otherwise it can take 4-48 hours depending on your connection (but you know that part). 

If you have not run Armory before, it will have to build the databases from scratch the first time in #3, which will take 30-120 minutes (on most systems).  If the DB is already built, it only updates the latest blocks (like 10 sec).

Step #4 either takes 5 sec (if already sync'd), or 10-30 minutes if it needs a full rescan.   This step will get much faster on the next release. 

If you did not add any addresses, or you did but they were part of a new wallet, then it should only have to do step #4 once.  After that, it will startup in like 30 sec.   If you see alternative behavior, it's probably a bug.

*The one exception to all of the above is the occasional DB corruption where it automatically detects and rebuilds.  Yes, annoying.  But I don't have any other way until I reduce the DB corruption events. 






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!)
picobit
Hero Member
*****
Offline Offline

Activity: 547
Merit: 500


Decor in numeris


View Profile
November 15, 2013, 08:17:41 PM
 #26

Heh, ironic you mention that.  Because not long ago I had it the way you just mentioned, and people were pissed off that it looked like the whole thing was starting over from scratch.  Especially when they interrupted the initial DB build and restarted it.  I changed it from what you just requested, due to popular demand Smiley

Admittedly, maybe I can change the behavior when you're mostly synchronized already, versus in the middle of the huge DB build operation...
You clearly need two progress bars Smiley

One showing percent of total progress, the other showing percent of todays progress.
duxZero
Newbie
*
Offline Offline

Activity: 32
Merit: 0


View Profile
November 16, 2013, 02:44:40 AM
 #27

For the bounty: 1LGBcGGi6aEgbnWtwfpBn3m4n4Js1gRxf8

Sorry i'm just wasting time test small things while i wait to get online.

Also, just a suggestion,
Bitcoin 'stealers' have a feature that when a bitcoin address is copied to the clipboard it is replaced with the 'hackers' address.
With saying that i think you should add a warning system to alert the user when this happens with any address's linked to Armory.
whault
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
November 16, 2013, 04:42:16 AM
 #28

Bitcoin 'stealers' have a feature that when a bitcoin address is copied to the clipboard it is replaced with the 'hackers' address.
With saying that i think you should add a warning system to alert the user when this happens with any address's linked to Armory.

If malware has enough access to change the contents of your clipboard, then verifying the contents of it will not in the slightest save your wallet.
duxZero
Newbie
*
Offline Offline

Activity: 32
Merit: 0


View Profile
November 16, 2013, 05:10:28 AM
 #29

All the BTC 'stealers' do is steal the wallet and tamper with the clipboard.

If your actually getting RAT'ed then just lock down all the network connections and monitor the traffic.

As for key loggers just create an on screen keyboard for the application itself.
etotheipi (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
November 16, 2013, 05:12:00 AM
 #30

As for key loggers just create an on screen keyboard for the application itself.

Btw, Armory has this.  Click "Show Keyboard" when it asks you to type in your password.  Lots of crazy options for scrambling it, though they're not actually that useful (it's almost intolerable to type with a scrambled keyboard)

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!)
duxZero
Newbie
*
Offline Offline

Activity: 32
Merit: 0


View Profile
November 16, 2013, 05:14:41 AM
 #31

Didn't even notice, my bad.

But yeah just a suggestion to offer a somewhat more advanced security lockdown to help 'prevent' malware.
whault
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
November 16, 2013, 07:00:14 AM
 #32

Didn't even notice, my bad.

But yeah just a suggestion to offer a somewhat more advanced security lockdown to help 'prevent' malware.

If your machine is compromised, nothing will save you from having the contents of your wallet stolen. Onscreen keyboards, "scrambling" and checking the clipboard are just feel-good measures and offer no tangible security. At best they offer some obscurity, but it's only a matter of time before Armory targeted methods arise.
etotheipi (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
November 16, 2013, 07:05:13 AM
 #33

Didn't even notice, my bad.

But yeah just a suggestion to offer a somewhat more advanced security lockdown to help 'prevent' malware.

If your machine is compromised, nothing will save you from having the contents of your wallet stolen. Onscreen keyboards, "scrambling" and checking the clipboard are just feel-good measures and offer no tangible security.

I don't promote the feature much, because it's minimal security improvement.  But it does protect against the simplest of keyloggers.  There's this notion that all viruses are omniscient, and targeting your bitcoin wallet.  If it's targeting your wallet, the OSD keyboard probably won't help.  But if it's just sucking data off your system looking for banking login passwords, etc... you avoided giving away too much info.

But I agree the feature is really quite minimal in terms of its security benefit.   (and generally, I try to assume omniscient malware when thinking about security, but not everything has to be super-effective to be part of the interface)

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!)
Cyberdyne
Hero Member
*****
Offline Offline

Activity: 630
Merit: 500



View Profile
November 16, 2013, 07:15:05 AM
 #34

Here's a tiny non-critical bug that's been in every version of Armory I've tried.

On windows 7, when you exit Armory, the icon for it stays on the system tray until I mouse over the icon, then it will disappear.

This happens even with a normal, clean exit of the program.
whault
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
November 16, 2013, 07:32:39 AM
Last edit: November 16, 2013, 08:24:35 AM by whault
 #35


If your machine is compromised, nothing will save you from having the contents of your wallet stolen. Onscreen keyboards, "scrambling" and checking the clipboard are just feel-good measures and offer no tangible security.

I don't promote the feature much, because it's minimal security improvement.  But it does protect against the simplest of keyloggers.  There's this notion that all viruses are omniscient, and targeting your bitcoin wallet.  If it's targeting your wallet, the OSD keyboard probably won't help.  But if it's just sucking data off your system looking for banking login passwords, etc... you avoided giving away too much info.

But I agree the feature is really quite minimal in terms of its security benefit.   (and generally, I try to assume omniscient malware when thinking about security, but not everything has to be super-effective to be part of the interface)

I'm more inclined believe that systems like this do more harm than good, they promote a sense of security in what is a fairly sensitive environment. If the protection is just against casual un-targeted key logging, then I'm not sure of the point, having a password is useless if you don't have the associated Armory wallet binary.

Even more importantly, people who habitually use an onscreen keyboard to type their password (let alone one with a non-standard layout) will ultimately be choosing much weaker passwords as a direct result. This would be detrimental in the situation where malware manages to take the wallet binary but not the password.

Having the feature there implies that it will afford the user security, meaning that people may lapse in believing that will be be an end-all protection from malware, when it's most obviously not.
jyyst
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
November 16, 2013, 11:32:08 AM
Last edit: November 16, 2013, 06:15:43 PM by jyyst
 #36

I left Armory on for some time and it's crashed:
Log from console:
Code:
[piotrek@localhost BitcoinArmory]$ python2 ArmoryQt.py 
********************************************************************************
Loading Armory Engine:
   Armory Version:       0.89.99.14
   PyBtcWallet  Version: 1.35
Detected Operating system: Linux
   OS Variant            : ('', '', '')
   User home-directory   : /home/piotrek
   Satoshi BTC directory : /home/piotrek/.bitcoin/
   Armory home dir       : /home/piotrek/.armory/
   LevelDB directory     : /home/piotrek/.armory/databases
   Armory settings file  : /home/piotrek/.armory/ArmorySettings.txt
   Armory log file       : /home/piotrek/.armory/armorylog.txt
(WARNING) armoryengine.py:11334 - Overriding not-available message. This should happen 0-5 times
(WARNING) armoryengine.py:11334 - Overriding not-available message. This should happen 0-5 times
(WARNING) armoryengine.py:11334 - Overriding not-available message. This should happen 0-5 times
-INFO  - 1384596030: (BlockUtils.cpp:1582) Set home directory:
-INFO  - 1384596030: (BlockUtils.cpp:1604) Set blkfile dir: /home/piotrek/.bitcoin/blocks
-INFO  - 1384596030: (BlockUtils.cpp:1614) Set leveldb dir: /home/piotrek/.armory/databases
-INFO  - 1384596030: (BlockUtils.cpp:1570) SetBtcNetworkParams
-INFO  - 1384596030: (BlockUtils.cpp:3563) Executing: doInitialSyncOnLoad
-INFO  - 1384596030: (BlockUtils.cpp:3603) Number of registered addr: 569
-INFO  - 1384596030: (leveldb_wrapper.cpp:127) Opening databases...
-INFO  - 1384596033: (BlockUtils.cpp:1695) Total blk*.dat files:                 53
-INFO  - 1384596033: (BlockUtils.cpp:1713) Current Top block in HEADERS DB:  269794
-INFO  - 1384596033: (BlockUtils.cpp:1714) Current Top block in BLKDATA DB:  269794
-INFO  - 1384596033: (BlockUtils.cpp:1715) Current Applied blocks up to hgt: 0
-INFO  - 1384596037: (BlockUtils.cpp:1816) First unrecognized hash file:       52
-INFO  - 1384596037: (BlockUtils.cpp:1817) Offset of first unrecog block:      34724918
-INFO  - 1384596037: (BlockUtils.cpp:1826) First blkfile not in DB:            52
-INFO  - 1384596037: (BlockUtils.cpp:1827) Location of first block not in DB:  34724918
-INFO  - 1384596037: (BlockUtils.cpp:3645) Fetching stored script histories from DB
-INFO  - 1384596037: (BlockUtils.cpp:3689) Reading all headers and building chain...
-INFO  - 1384596043: (BlockUtils.cpp:3694) Total number of blk*.dat files: 53
-INFO  - 1384596043: (BlockUtils.cpp:3695) Total number of blocks found:   269923
-INFO  - 1384596043: (BlockUtils.cpp:3707) Getting latest blocks from blk*.dat files
-INFO  - 1384596043: (BlockUtils.cpp:3708) Total blockchain bytes: 12,508,360,374
-INFO  - 1384596043: (BlockUtils.cpp:3714) Parsing blockchain file: /home/piotrek/.bitcoin/blocks/blk00052.dat                                                                    
-INFO  - 1384596043: (BlockUtils.cpp:3810) /home/piotrek/.bitcoin/blocks/blk00052.dat is 50,331,648 bytes                                                                          
-INFO  - 1384596077: (BlockUtils.cpp:3728) Processed 129 raw blocks DB (3 seconds)                                                                                                
-INFO  - 1384596077: (BlockUtils.cpp:3757) Starting scan from block height: 0                                                                                                      
-INFO  - 1384597167: (BlockUtils.cpp:3759) Finished blockchain scan in 683.988 seconds                                                                                            
-INFO  - 1384597179: (BlockUtils.cpp:4245) Added new blocks to memory pool: 1                                                                                                      
(ERROR) armoryengine.py:8527 - Unrecognized scraddr: ffa5d46f62e11d67d29baea49bc4c8b3a01099fc58                                                                                    
(ERROR) armoryengine.py:8527 - Unrecognized scraddr: ffb1fcf8b21372a97a5af8fa92d798237711c40352                                                                                    
(ERROR) armoryengine.py:8527 - Unrecognized scraddr: ffb89a350e116cf1c027bb6ce9415b2e1faac1cb51                                                                                    
(ERROR) armoryengine.py:8527 - Unrecognized scraddr: ff8b91abd8dfe1e41c7c7d507c5fe931461d7221f7
(ERROR) armoryengine.py:8527 - Unrecognized scraddr: ff033be77ca0159b4e11c7d1e7c1e3ebfd1097a490
(ERROR) armoryengine.py:8527 - Unrecognized scraddr: ffc74316acfc9e3893d96cb64706317f5250a91b1a
(ERROR) armoryengine.py:8527 - Unrecognized scraddr: ff14e2d06193cdbfd9d0135abb0b78868bb2e99f89
(ERROR) armoryengine.py:8527 - Unrecognized scraddr: ffb318afa352aaa8576ca508df4ae25fdc77d9a98f
(ERROR) armoryengine.py:8527 - Unrecognized scraddr: ff1758cd4ed1798232ceea844edc4854c843548b2c
(ERROR) armoryengine.py:8527 - Unrecognized scraddr: ffd5a21e648dde5fa02b35fe95e4d94ef76b0a2e1f
-INFO  - 1384598177: (BlockUtils.cpp:4245) Added new blocks to memory pool: 1
New Block:  269924
-INFO  - 1384599172: (BlockUtils.cpp:4245) Added new blocks to memory pool: 1
(ERROR) armoryengine.py:12372 - Waiting for BDM output that didn't come after 20s.
(ERROR) armoryengine.py:12373 - BDM state is currently: BlockchainReady
(ERROR) armoryengine.py:12374 - Called from: armoryengine.py:12615 (66181266)
(ERROR) armoryengine.py:12375 - BDM currently doing: UpdateWallets (66181266)
(ERROR) armoryengine.py:12376 - Direct traceback
  File "ArmoryQt.py", line 5129, in <module>
    os._exit(QAPP.exec_())
  File "/home/piotrek/Apps/BitcoinArmory/qt4reactor.py", line 103, in read
    log.callWithLogger(w, _read)
  File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
  File "/home/piotrek/Apps/BitcoinArmory/qt4reactor.py", line 102, in _read
    self.reactor._iterate(fromqt=True)
  File "/home/piotrek/Apps/BitcoinArmory/qt4reactor.py", line 231, in _iterate
    self.runUntilCurrent()
  File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 824, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "ArmoryQt.py", line 4770, in Heartbeat
    TheBDM.updateWalletsAfterScan(wait=True)
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine.py", line 12615, in updateWalletsAfterScan
    return self.waitForOutputIfNecessary(expectOutput, rndID)
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine.py", line 12377, in waitForOutputIfNecessary
    traceback.print_stack()
(ERROR) armoryengine.py:12378 - Traceback:
Traceback (most recent call last):
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine.py", line 12368, in waitForOutputIfNecessary
    return self.outputQueue.get(True, self.mtWaitSec)
  File "/usr/lib/python2.7/Queue.py", line 176, in get
    raise Empty
Empty
New Block:  269925
(ERROR) armoryengine.py:12346 - BDM was not ready for your request!  Waited 20 sec.
(ERROR) armoryengine.py:12347 -   getattr   name: scanRegisteredTxForWallet
(ERROR) armoryengine.py:12348 - BDM currently doing: UpdateWallets (66181266)
(ERROR) armoryengine.py:12349 - Waiting for completion: ID= 74594181
(ERROR) armoryengine.py:12350 - Direct traceback
  File "ArmoryQt.py", line 5129, in <module>
    os._exit(QAPP.exec_())
  File "/home/piotrek/Apps/BitcoinArmory/qt4reactor.py", line 103, in read
    log.callWithLogger(w, _read)
  File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
  File "/home/piotrek/Apps/BitcoinArmory/qt4reactor.py", line 102, in _read
    self.reactor._iterate(fromqt=True)
  File "/home/piotrek/Apps/BitcoinArmory/qt4reactor.py", line 231, in _iterate
    self.runUntilCurrent()
  File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 824, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "ArmoryQt.py", line 4785, in Heartbeat
    self.walletMap[wltID].syncWithBlockchainLite()
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine.py", line 7212, in syncWithBlockchainLite
    TheBDM.scanRegisteredTxForWallet(self.cppWallet, startBlk, wait=True)
  File "/home/piotrek/Apps/BitcoinArmory/armoryengine.py", line 12351, in passthruFunc
    traceback.print_stack()
(ERROR) armoryengine.py:12353 - Traceback:
Traceback (most recent call last):
  File "/home/piotrek/Apps/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
(ERROR) armoryengine.py:13289 - ErrorOut var over-represented number of errors!
(ERROR) ArmoryQt.py:4824 - Error in heartbeat function
Traceback (most recent call last):
  File "ArmoryQt.py", line 4797, in Heartbeat
    self.createCombinedLedger()
  File "ArmoryQt.py", line 2053, in createCombinedLedger
    self.combinedLedger.sort(key=lambda x: currBlk-x[1].getBlockNum()+1, reverse=not sortDir)
  File "ArmoryQt.py", line 2053, in <lambda>
    self.combinedLedger.sort(key=lambda x: currBlk-x[1].getBlockNum()+1, reverse=not sortDir)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
(<type 'exceptions.TypeError'>, TypeError("unsupported operand type(s) for -: 'NoneType' and 'int'",), <traceback object at 0x30e83f8>)
Naruszenie ochrony pamięci (core dumped)


I don't know is this bug but always when i close Armory:
Code:
-INFO  - 1384625610: (BlockUtils.cpp:3999) Saving wallet history for next load
(ERROR) armoryengine.py:13216 - Resetting BDM and all wallets
(WARNING) armoryengine.py:661 - Killing process pid=8379
(ERROR) ArmoryQt.py:4337 - BitcoindNotAvailable: should not happen...
Resetting BlockDataMgr, freeing memory
 
SimonL
Member
**
Offline Offline

Activity: 113
Merit: 11


View Profile
November 16, 2013, 02:58:12 PM
 #37


Here's a bug I've found since the last stable version, I've tried this on 0.89.99.10-beta and 0.89.99.14-beta and I've done a couple rescans too. It seems for me the transactions tab does not populate until it receives a new block after it has finished loading. It pretty much seems to stay like and looks like it is broken until I left it running for a while and then suddenly all the transactions in the window appears, everything else seems to work fine though. This only seemed to happen the first time it was run so, it might be that everything is catching up the first time and it is taking a really long time to reorganise itself. It does report errors in the log though so here they are.

Okay, so I haven't heard of this bug in a long time.  I thought it only happened when you have a corrupt wallet in your list.  If you isolate it better, I got a bounty for you!  What OS?  Can you try making a copy of the ARMORY_HOME_DIR (if you have the space for it), then remove the wallets, and run Armory with " --datadir=/new/directory/path".  Create a single new wallet, then restart and let it sync again.  I need to know if it goes away.  If so, then there's an issue with one of the wallets and I'll dig further.

I'm using Kubuntu 13.04, I'm only using watching only wallets but they are originally generated from a much older version of Armory. When the problem occurred initially in 0.89.90.10-beta I thought maybe the older files were causing problems so I removed everything but the watching only files and used a fresh .armory directory with the newer version 0.89.90.14-beta and the results seemed to be identical, so it is probably something to do with the older watching only wallet files.

I followed your directions, copied the original armory dir, removed everything but the databases directory. Fired up Armory, made a new wallet (no encryption enabled), set the settings to not manage Bitcoin-qt, restarted Armory, databases rebuilt and rescanned, then imported a private key with a tiny balance for testing, closed Armory and removed everything but the databases directory and the new wallet with the imported private key. The balance and transactions appeared immediately after the scan no problem, the priv key had around 90-ish transactions and it looked like it was all there. Re-ran it too just to be sure.

I went back to the original watching wallet files for my original wallets and tried running Armory for each of them separately, all but one loaded the wallet in offline mode. One of my watching wallets now fails to load and has this log output:

Code:
2013-11-17 00:29 (INFO) -- ArmoryQt.py:1633 - loadWalletsAndSettings
2013-11-17 00:29 (INFO) -- ArmoryQt.py:1680 - Loading wallets...
2013-11-17 00:29 (WARNING) -- armoryengine.py:9074 - ***WARNING: creation of backup was interrupted -- fixing
2013-11-17 00:29 (ERROR) -- ArmoryQt.py:1723 - ***WARNING: Wallet could not be loaded: /home/ferret/.armory/armory_35Fijn44X_.watchonly.wallet (skipping)
Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 1695, in loadWalletsAndSettings
    wltLoad = PyBtcWallet().readWalletFile(fpath)
  File "/usr/lib/armory/armoryengine.py", line 8776, in readWalletFile
    nError = self.doWalletFileConsistencyCheck()
  File "/usr/lib/armory/armoryengine.py", line 9075, in doWalletFileConsistencyCheck
    shutil.copy(self.walletPath, walletFileBackup)
  File "/usr/lib/python2.7/shutil.py", line 120, in copy
    copymode(src, dst)
  File "/usr/lib/python2.7/shutil.py", line 91, in copymode
    os.chmod(dst, mode)
OSError: [Errno 1] Operation not permitted: '/home/ferret/.armory/armory_35Fijn44X_.watchonly_backup.wallet'
2013-11-17 00:29 (ERROR) -- Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 5109, in <module>
    form = ArmoryMainWindow()
  File "/usr/lib/armory/ArmoryQt.py", line 123, in __init__
    self.loadWalletsAndSettings()
  File "/usr/lib/armory/ArmoryQt.py", line 1695, in loadWalletsAndSettings
    wltLoad = PyBtcWallet().readWalletFile(fpath)
  File "/usr/lib/armory/armoryengine.py", line 8776, in readWalletFile
    nError = self.doWalletFileConsistencyCheck()
  File "/usr/lib/armory/armoryengine.py", line 9075, in doWalletFileConsistencyCheck
    shutil.copy(self.walletPath, walletFileBackup)
  File "/usr/lib/python2.7/shutil.py", line 120, in copy
    copymode(src, dst)
  File "/usr/lib/python2.7/shutil.py", line 91, in copymode
    os.chmod(dst, mode)
OSError: [Errno 1] Operation not permitted: '/home/ferret/.armory/armory_35Fijn44X_.watchonly_backup.wallet'

After this I tried using a backup before I started using this new version and it too returns the same error. This is rather strange since the first time I ran it with all the watching wallets in the directory it loaded everything fine and simply had the strange behaviour of not loading the transactions until after a block was processed by Armory after it finished getting started. The watching wallet itself has a lot of imported addresses.

Removing all the files but the databases directory and leaving all the watching only wallet files will still result all of the files being loaded successfully, including the original watching only wallet that failed when loaded on it's own. I've also found that this results in exactly the same behaviour as mentioned in my previous post, none of the transactions in the transaction tab appear on this initial load. So it looks like this particular behaviour can be reproduced. 20 minutes and two blocks later the transactions appeared in full again. There were no errors in the log but here it is:

Code:
2013-11-17 00:54 (INFO) -- armoryengine.py:12479 - Reading blockchain, pct complete: 99.8
2013-11-17 00:54 (INFO) -- ArmoryQt.py:4463 - Dashboard switched to fully-online mode
2013-11-17 00:54 (INFO) -- ArmoryQt.py:3837 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2013-11-17 00:54 (INFO) -- ArmoryQt.py:3779 - Switching Armory functional mode to "Online"
2013-11-17 00:54 (INFO) -- ArmoryQt.py:3837 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2013-11-17 00:54 (INFO) -- ArmoryQt.py:1907 - Syncing wallet: 2pD6iHKkB
2013-11-17 00:54 (INFO) -- ArmoryQt.py:1907 - Syncing wallet: 35Fijn44X
2013-11-17 00:54 (INFO) -- ArmoryQt.py:1907 - Syncing wallet: 2H5X6XTGs
2013-11-17 00:54 (INFO) -- ArmoryQt.py:1907 - Syncing wallet: CSFC3QFR
2013-11-17 00:54 (INFO) -- ArmoryQt.py:1907 - Syncing wallet: 2ToSafqhH
2013-11-17 00:54 (INFO) -- ArmoryQt.py:1919 - Current block number: 269945
2013-11-17 00:55 (INFO) -- ArmoryQt.py:4463 - Dashboard switched to fully-online mode
2013-11-17 00:55 (INFO) -- ArmoryQt.py:3837 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2013-11-17 00:55 (INFO) -- ArmoryQt.py:3779 - Switching Armory functional mode to "Online"
2013-11-17 00:55 (INFO) -- ArmoryQt.py:3837 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2013-11-17 00:55 (INFO) -- ArmoryQt.py:4463 - Dashboard switched to fully-online mode
2013-11-17 00:55 (INFO) -- ArmoryQt.py:3837 - Switching Armory state text to Mgmt:User, State:OnlineFull1
2013-11-17 00:55 (INFO) -- ArmoryQt.py:3779 - Switching Armory functional mode to "Online"
2013-11-17 00:55 (INFO) -- ArmoryQt.py:3837 - Switching Armory state text to Mgmt:User, State:OnlineFull2
2013-11-17 00:55 (INFO) -- ArmoryQt.py:4779 - New Block! : 269946
2013-11-17 00:55 (INFO) -- ArmoryQt.py:4803 - Current block number: 269946
2013-11-17 01:12 (INFO) -- armoryengine.py:10634 - Received new block.  00000000000000047fad31c6ee41e60029ab005b22df147b49192067e33d926e
2013-11-17 01:12 (INFO) -- ArmoryQt.py:4779 - New Block! : 269947
2013-11-17 01:12 (INFO) -- ArmoryQt.py:4803 - Current block number: 269947
2013-11-17 01:17 (INFO) -- ArmoryQt.py:4779 - New Block! : 269948
2013-11-17 01:17 (INFO) -- ArmoryQt.py:4803 - Current block number: 269948

If you need anything else let me know.

idoB
Jr. Member
*
Offline Offline

Activity: 70
Merit: 2


View Profile
November 16, 2013, 05:18:45 PM
 #38

Found the following (minor) polishing issues, running on win7 x64:

•    ‘Create Backup Fragments’ dialog: has an http link ‘click here to read more about fragmented backups’ – however, this dialog box is shown only on the offline computer, and therefore this link needs to either point to a local file or not exist at all as newbies might be misled to connect online at the worst possible situation opsec wise.
•   “Bad Backup!” Dialog box (fragmented backups) syntax error: - should be “…then the one you just made” instead of “…then the on you just made”
•   Failed unlock wallet dialog box syntax error: - should be “wallet could not be unlocked” instead of “wallet was not be unlocked”
•   Restore Backup (testing paper backup) dialog box: the ID and Fx fields are prefilled with spaces and they’re not deleted when typing. Need to select all and delete each field actively.


cp1
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


Stop using branwallets


View Profile
November 16, 2013, 05:27:35 PM
 #39

If you specify --datadir, but that directory doesn't exist, Armory will default to appdata/roaming without telling you (except for in the log file).  It would be nice if it would just create this directory for you or at least notify you that you need to create it.

If you run out of space on your drive while building the database it won't throw an error either, it will just sit there at whatever % forever.

Code:
2013-11-16 09:16 (INFO) -- armoryengine.pyc:808 - ************************************************************
2013-11-16 09:16 (INFO) -- armoryengine.pyc:809 - Invoked: C:\Program Files (x86)\Armory-testing\ArmoryQt.exe --satoshi-datadir=I:\bitcoin --datadir=I:\armory
2013-11-16 09:16 (INFO) -- armoryengine.pyc:810 - ************************************************************
2013-11-16 09:16 (INFO) -- armoryengine.pyc:811 - Loading Armory Engine:
2013-11-16 09:16 (INFO) -- armoryengine.pyc:812 -    Armory Version        : 0.89.99.14
2013-11-16 09:16 (INFO) -- armoryengine.pyc:813 -    PyBtcWallet  Version  : 1.35
2013-11-16 09:16 (INFO) -- armoryengine.pyc:814 - Detected Operating system: Windows
2013-11-16 09:16 (INFO) -- armoryengine.pyc:815 -    OS Variant            : 7-6.1.7601-SP1-Multiprocessor Free
2013-11-16 09:16 (INFO) -- armoryengine.pyc:816 -    User home-directory   : C:\Users\cp1\AppData\Roaming
2013-11-16 09:16 (INFO) -- armoryengine.pyc:817 -    Satoshi BTC directory : I:\bitcoin
2013-11-16 09:16 (INFO) -- armoryengine.pyc:818 -    Armory home dir       : C:\Users\cp1\AppData\Roaming\Armory\
2013-11-16 09:16 (INFO) -- armoryengine.pyc:819 - Detected System Specs    :
2013-11-16 09:16 (INFO) -- armoryengine.pyc:820 -    Total Available RAM   : 16.00 GB
2013-11-16 09:16 (INFO) -- armoryengine.pyc:821 -    CPU ID string         : AMD64 Family 16 Model 5 Stepping 2, AuthenticAMD
2013-11-16 09:16 (INFO) -- armoryengine.pyc:822 -    Number of CPU cores   : 4 cores
2013-11-16 09:16 (INFO) -- armoryengine.pyc:823 -    System is 64-bit      : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:824 -    Preferred Encoding    : cp1252
2013-11-16 09:16 (INFO) -- armoryengine.pyc:825 -
2013-11-16 09:16 (INFO) -- armoryengine.pyc:826 - Network Name: Main Network
2013-11-16 09:16 (INFO) -- armoryengine.pyc:827 - Satoshi Port: 8333
2013-11-16 09:16 (INFO) -- armoryengine.pyc:828 - Named options/arguments to armoryengine.py:
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     maxOpenFiles    : 0
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     nettimeout      : 2
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     rescan          : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     leveldbDir      : DEFAULT
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     port            : None
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     interport       : 8223
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     coverageOutputDir: None
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     rebuild         : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     datadir         : I:\armory
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     offline         : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     satoshiPort     : DEFAULT
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     netlog          : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     keypool         : 100
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     coverageInclude : None
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     forceOnline     : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     logDisable      : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     mtdebug         : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     skipVerCheck    : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     settingsPath    : C:\Users\cp1\AppData\Roaming\Armory\ArmorySettings.txt
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     verbosity       : None
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     doDebug         : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     testnet         : False
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     rpcport         : DEFAULT
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     satoshiHome     : I:\bitcoin
2013-11-16 09:16 (INFO) -- armoryengine.pyc:830 -     logFile         : C:\Users\cp1\AppData\Roaming\Armory\ArmoryQt.exe.log.txt
2013-11-16 09:16 (INFO) -- armoryengine.pyc:831 - Other arguments:
2013-11-16 09:16 (INFO) -- armoryengine.pyc:834 - ************************************************************
2013-11-16 09:16 (INFO) -- armoryengine.pyc:1040 - C++ block utilities loaded successfully
2013-11-16 09:16 (INFO) -- armoryengine.pyc:13506 - Using the asynchronous/multi-threaded BlockDataManager.
2013-11-16 09:16 (INFO) -- armoryengine.pyc:13507 - Blockchain operations will happen in the background. 
2013-11-16 09:16 (INFO) -- armoryengine.pyc:13508 - Devs: check TheBDM.getBDMState() before asking for data.
2013-11-16 09:16 (INFO) -- armoryengine.pyc:13509 - Registering addresses during rescans will queue them for
2013-11-16 09:16 (INFO) -- armoryengine.pyc:13510 - inclusion after the current scan is completed.
2013-11-16 09:16 (INFO) -- armoryengine.pyc:11560 - Using settings file: C:\Users\cp1\AppData\Roaming\Armory\ArmorySettings.txt

Guide to armory offline install on USB key:  https://bitcointalk.org/index.php?topic=241730.0
ACVentures
Newbie
*
Offline Offline

Activity: 14
Merit: 1


View Profile
November 16, 2013, 07:17:06 PM
 #40

I'm running OSX 10.8, every so often I'll get a dialog saying armory is not in sync because bitcoind/QT is off, however the QT app never quits. My laptop sometimes goes into power save mode, which disables the wifi, I think. Not sure if that has anything to do with it, but I tend to notice it more when waking up my mac. It doesn't just pop up at random while I'm active on it.

here's the closest thing to an error around the time when it gives me the out of sync dialog:

Code:
2013-11-16 12:20 (INFO) -- ArmoryQt.py:4779 - New Block! : 269967
2013-11-16 12:20 (INFO) -- ArmoryQt.py:4803 - Current block number: 269967
2013-11-16 13:43 (ERROR) -- armoryengine.py:12372 - Waiting for BDM output that didn't come after 20s.
2013-11-16 13:43 (ERROR) -- armoryengine.py:12373 - BDM state is currently: BlockchainReady
2013-11-16 13:43 (ERROR) -- armoryengine.py:12374 - Called from: armoryengine.py:12563 (66993386)
2013-11-16 13:43 (ERROR) -- armoryengine.py:12375 - BDM currently doing: ZeroConfTxToInsert (1355773)
2013-11-16 13:43 (ERROR) -- armoryengine.py:12376 - Direct traceback
2013-11-16 13:43 (ERROR) -- armoryengine.py:12378 - Traceback:
Traceback (most recent call last):
  File "/Applications/Armory.app/Contents/MacOS/py/usr/lib/armory/armoryengine.py", line 12368, in waitForOutputIfNecessary
    return self.outputQueue.get(True, self.mtWaitSec)
  File "/Users/joeschmoe/BitcoinArmory/osx_picobit/workspace/Armory.app/Contents/Frameworks/Python.framework/Versions/2.7/lib/python2.7/Queue.py", line 176, in get
Empty
2013-11-16 13:57 (INFO) -- armoryengine.py:10634 - Received new block.  000000000000000345d50a6e4ba96c72eb2809e713748ff94088222a7b6cdf5c
2013-11-16 13:57 (INFO) -- ArmoryQt.py:4779 - New Block! : 269969
2013-11-16 13:57 (INFO) -- ArmoryQt.py:4803 - Current block number: 269969
2013-11-16 13:57 (INFO) -- ArmoryQt.py:4779 - New Block! : 269974
2013-11-16 13:57 (INFO) -- ArmoryQt.py:4803 - Current block number: 269974


usually, armory will fix itself, however this time it's not figuring it out on its own. At the time of posting, QT is telling me the correct block height of 269980... armory is 6 blocks behind and the only way to fix is to quit/relaunch armory. Upon relaunching, armory immediately shows the correct 269980 block height. QT was never stopped in this scenario.
Pages: « 1 [2] 3 4 5 »  All
  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!