Pages:
Author

Topic: RAM-Reduction & Backup Center Testing (version 0.89.99.16) - page 20. (Read 41311 times)

cp1
hero member
Activity: 616
Merit: 500
Stop using branwallets
I haven't seen that loop since I started running bitcoin-qt independent of armory.  But I've only open and closed it a few times, so it could just be a coincidence.

I know you're busy, but I have (hopefully) a quick question -- I'm trying to add an address to a wallet following the add 500k address in extras, but only adding 1 key (I took out the key reading loop and just used line = private key).  I'm not doing it right because armoryqt.py gives me a checksum error on keys that were already in the wallet: line 3245, in unserialize '('+hash160_to_addrStr(self.addrStr20)+')' armoryengine.UnserializeError: Checksum mismatch in PrivateKey (1LMsGerE3FmWmJig6e5DpmjctFar6RVR2L)

Code:
import os
import sys
sys.path.append('..')
from armoryengine import *


# Could use sys.argv but this script will be used, like, once.  Hardcode it!
wltID        = 'ydeMUhu' # this was the ID of the wallet I tested with
wltDir       = 'ydeMUhu' # this was the ID of the wallet I tested with
wltfile    = os.path.join(ARMORY_HOME_DIR, 'armory_%s_.wallet' % wltID)
wltfilebak = os.path.join(ARMORY_HOME_DIR, 'armory_%s_backup.wallet' % wltID)


if not os.path.exists(wltfile):
   print 'ERROR: Wallet does not exist:', wltfile
   exit(1)

# Remove the backup if it exists
if os.path.exists(wltfilebak):
   os.remove(wltfilebak)




# If you don't delete the backup, Armory will think the primary wallet
# is corrupted and restore the backup

exampleEntry = hex_to_binary( \
  '0047b8ad 0b1d6803 260ce428 d9e09e2c d99fd3b3 5947b8ad 0b1d6803 260ce428 '
  'd9e09e2c d99fd3b3 59fb1670 0860fecd 00030000 00000000 00ffffff ffffffff '
  'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ff71ca50 49feffff '
  'ffffffff ffffffff ffffffff ff000000 00000000 00000000 00000000 005df6e0 '
  'e2eeeeee eeeeeeee eeeeeeee eeeeeeee eeeeeeee eeeeeeee eeeeeeee eeeeeeee '
  'eec93a79 dd04a706 ad8f7311 5f905002 66f273f7 571df942 9a4cfb4b bfbcd825 '
  '227202da bad1ba3d 35c73aec 698af852 b327ba1c 24e11758 936bb632 2fe93d74 '
  '69b182f6 6631727c 7072ffff ffff0000 00000000 00000000 0000ffff ffff0000 '
  '0000 '.replace(' ',''))

wltOut = open(wltfile, 'ab')

rawAddrEntry = exampleEntry[21:]
addr20 = rawAddrEntry[:24]
fixed1 = rawAddrEntry[ 24:108]
prvkey = rawAddrEntry[    108:144]
pubkey = rawAddrEntry[        144:213]
fixed2 = rawAddrEntry[            213:]

addrDataToWrite = []

line = "5KaPWnaXTLUdv5WdbwbiXbjDqUFXEUT1aAgSGrYHtzuGD5mooWv"

privBin = base58_to_binary(line[1:-4])
pubBin  = CryptoECDSA().ComputePublicKey(SecureBinaryData(privBin)).toBinStr()
addr20  = hash160(pubBin)
# Pre-PyBtcAddr Entry Header
addrDataToWrite.append('\x00')
addrDataToWrite.append(addr20)

# PyBtcAddr itself
addrDataToWrite.append(addr20)
addrDataToWrite.append(computeChecksum(addr20))

addrDataToWrite.append(fixed1)

addrDataToWrite.append(privBin)
addrDataToWrite.append(computeChecksum(privBin))

addrDataToWrite.append(pubBin)
addrDataToWrite.append(computeChecksum(pubBin))

addrDataToWrite.append(fixed2)

wltOut.write(''.join(addrDataToWrite))
wltOut.close()

Any ideas?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
When starting it for the second time, after downloading what blocks it had to, it got stuck scanning on 1%. I found this in the log over and over, for a very long time.

-WARN  - 0: (..\BlockUtils.cpp:4865) Marking orphan chain
-WARN  - 0: (..\BlockUtils.cpp:4888) Done marking orphan chain

I just added an empty wallet while it was loading and got this loop.  I closed and restarted and it's scanning transaction history again, says 20 minutes remaining.

Ugh, that's been happening too much.  Typically a restart solves it.  Before I officially release this version, I'm going to figure out what's causing that and fix it.  But it will not finish loading in that state.  It thinks that every block is an orphan.  It has to be restarted.
cp1
hero member
Activity: 616
Merit: 500
Stop using branwallets
When starting it for the second time, after downloading what blocks it had to, it got stuck scanning on 1%. I found this in the log over and over, for a very long time.

-WARN  - 0: (..\BlockUtils.cpp:4865) Marking orphan chain
-WARN  - 0: (..\BlockUtils.cpp:4888) Done marking orphan chain

I just added an empty wallet while it was loading and got this loop.  I closed and restarted and it's scanning transaction history again, says 20 minutes remaining.
cp1
hero member
Activity: 616
Merit: 500
Stop using branwallets
Finally got around to building it.  It worked fine without any makefile changes on Ubuntu 13.04 64-bit.  I think it took about 3 hours to build the database, but I wasn't watching very closely.  It loads instantly on a wallet with no balance Smiley  Very nice work.
full member
Activity: 727
Merit: 146
I sent you the log file. I'll let you know what happens when the rescan finishes.

Update: rescan finished and balances are back to normal.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Winterfrost:  can you also send me a copy of your log file?  Use File->Export Log File.  Then attach it to an email to "[email protected]".  This could be an ugly bug to track down because it's probably pretty difficult to reproduce it on demand.  Hopefully there's something in the logs that helps...
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Everything synced fine from a fresh install (Win7 64-bit), but I did find an issue when I sent a transaction. It went through successfully and showed up in the receiving address as well as in the transactions list in Armory. However, when I went away from my computer and came back later, the transaction is no longer there and the wallet has reverted the balance to what it was before. So basically, it now says there are funds to spend even though in reality they've already been sent elsewhere. The bug also persisted across restarting.

Ack, I haven't seen that one before.  Are you sure it has confirmations?  Armory on Windows has always had an issue with the memory pool, for some reason it cannot persist through a restart (that's what all the "Memory pool file was corrupt.  Deleted. (no further action is needed)" messages are about.  But it should resolve itself after the transaction gets one confirmation.  If not, then that's a problem, for sure!  Does it have one confirmation yet?

Yes, this is the address and this is the transaction.

Ugh.  Okay, definitely a bug.  And the saving-between loads is causing it to persist (it's one of the reasons I liked rescan-every-load, from a reliability perspective).   Can you do me a favor and close Armory, then restart it with the "--rescan" option?  I just realized, I need to put a button into the interface to do that...
full member
Activity: 727
Merit: 146
Everything synced fine from a fresh install (Win7 64-bit), but I did find an issue when I sent a transaction. It went through successfully and showed up in the receiving address as well as in the transactions list in Armory. However, when I went away from my computer and came back later, the transaction is no longer there and the wallet has reverted the balance to what it was before. So basically, it now says there are funds to spend even though in reality they've already been sent elsewhere. The bug also persisted across restarting.

Ack, I haven't seen that one before.  Are you sure it has confirmations?  Armory on Windows has always had an issue with the memory pool, for some reason it cannot persist through a restart (that's what all the "Memory pool file was corrupt.  Deleted. (no further action is needed)" messages are about.  But it should resolve itself after the transaction gets one confirmation.  If not, then that's a problem, for sure!  Does it have one confirmation yet?

Yes, this is the address and this is the transaction.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Everything synced fine from a fresh install (Win7 64-bit), but I did find an issue when I sent a transaction. It went through successfully and showed up in the receiving address as well as in the transactions list in Armory. However, when I went away from my computer and came back later, the transaction is no longer there and the wallet has reverted the balance to what it was before. So basically, it now says there are funds to spend even though in reality they've already been sent elsewhere. The bug also persisted across restarting.

Ack, I haven't seen that one before.  Are you sure it has confirmations?  Armory on Windows has always had an issue with the memory pool, for some reason it cannot persist through a restart (that's what all the "Memory pool file was corrupt.  Deleted. (no further action is needed)" messages are about.  But it should resolve itself after the transaction gets one confirmation.  If not, then that's a problem, for sure!  Does it have one confirmation yet?
full member
Activity: 727
Merit: 146
Everything synced fine from a fresh install (Win7 64-bit), but I did find an issue when I sent a transaction. It went through successfully and showed up in the receiving address as well as in the transactions list in Armory. However, when I went away from my computer and came back later, the transaction is no longer there and the wallet has reverted the balance to what it was before. So basically, it now says there are funds to spend even though in reality they've already been sent elsewhere. The bug also persisted across restarting.
newbie
Activity: 9
Merit: 0
Visual Studio 2012 only supports running on Windows 7 SP1 and later. By default, the created executables will only run on Vista and later. It can build XP compatible executables, but you have to change the project's Platform Toolset to "Visual Studio 2012 - Windows XP (v110_xp)"
I don't want to spend a ton of time on it... but now that the RAM issues are under control, and it previously worked on XP, I would be willing to spend a couple hours getting it work on XP.  Especially because some users might have old XP systems laying around they'd want to use for offline use (don't bash them, it's still better than an online computer Smiley)
I mainly use Linux, myself, but I do have a fair amount of experience getting things to build on Windows for work. I'd be happy to help if you run into problems, time permitting.
sr. member
Activity: 322
Merit: 250
I started it up again, the visual indicator didn't change from 1% until it went straight to the wallet after a few minutes. Looking at the live log file, it stopped right after the completed handshake, also it said the armory version was 0.88 (ArmoryQt.py:1162) also, got this error. (WARNING) -- ArmoryQt.py:1838 - Memory pool file was corrupt.  Deleted. (no further action is needed)

Not sure if it's significant. Hope this helps.

So is it working?  It sounds like it's working and you're just reporting some inconsistencies in the log file.  Don't worry, both those things are normal.  I mean, not totally normal, but they happen.

Yes, it's working.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
I started it up again, the visual indicator didn't change from 1% until it went straight to the wallet after a few minutes. Looking at the live log file, it stopped right after the completed handshake, also it said the armory version was 0.88 (ArmoryQt.py:1162) also, got this error. (WARNING) -- ArmoryQt.py:1838 - Memory pool file was corrupt.  Deleted. (no further action is needed)

Not sure if it's significant. Hope this helps.

So is it working?  It sounds like it's working and you're just reporting some inconsistencies in the log file.  Don't worry, both those things are normal.  I mean, not totally normal, but they happen.
sr. member
Activity: 322
Merit: 250
I started it up again, the visual indicator didn't change from 1% until it went straight to the wallet after a few minutes. Looking at the live log file, it stopped right after the completed handshake, also it said the armory version was 0.88 (ArmoryQt.py:1162) also, got this error. (WARNING) -- ArmoryQt.py:1838 - Memory pool file was corrupt.  Deleted. (no further action is needed)

Not sure if it's significant. Hope this helps.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Anyone tried this with Win7-32bit?  I'm running it right now, but I don't have a pre-sync'd version, so it might be a while before I can really run it.  I guess I could figure out how to bootstrap it...

Btw, I just executed a couple offline transactions using the new version on the online computer (offline computer is still using an ancient version).  Everything is smooth, so far.  Except for that occasional faulty startup thing.  That's my next task after I finish with the Windows LevelDB upgrade from goatpig (thanks goat!)
legendary
Activity: 3794
Merit: 1375
Armory Developer
I don't want to spend a ton of time on it... but now that the RAM issues are under control, and it previously worked on XP, I would be willing to spend a couple hours getting it work on XP.  Especially because some users might have old XP systems laying around they'd want to use for offline use (don't bash them, it's still better than an online computer Smiley)

You can't install msvc11 on WinXP, you need .NET Framework 4.0, which is only compatible with Windows 6.0 (Vista) and above. I have built the LevelDB port using the WinXP tool, but haven't tested it. There are instructions for WinXP deployment with the port I sent you.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
When starting it for the second time, after downloading what blocks it had to, it got stuck scanning on 1%. I found this in the log over and over, for a very long time.

-WARN  - 0: (..\BlockUtils.cpp:4865) Marking orphan chain
-WARN  - 0: (..\BlockUtils.cpp:4888) Done marking orphan chain

Mooshire, is it solved by restarting the app?  So far, I haven't seen it get into any permanent bad state.  I've seen that happen before, and then it goes away on a restart. (P.S. - I do plan to find and fix it, I just want to make sure that, for now, it doesn't leave anyone in an unusable state)

Watching-only wallets contribute to the "Maximum Funds" and "Spendable Funds" totals even if they are configured as "Belongs to: Someone else."

What is the wallet filter set to?  If it is "All wallets" it will include all wallets.  If you set the filter to "My Wallets" it has the behavior you expect.  Bottom-left corner of main window.

Leveldb/snappy is still broken:

...

The pull request I sent you on GitHub fixes the problem for me. With that patch applied, the time from starting the program until balances are displayed is about 28 seconds.

I have modified it in my source code and will commit it with the next version.  

Visual Studio 2012 only supports running on Windows 7 SP1 and later. By default, the created executables will only run on Vista and later. It can build XP compatible executables, but you have to change the project's Platform Toolset to "Visual Studio 2012 - Windows XP (v110_xp)"

I don't want to spend a ton of time on it... but now that the RAM issues are under control, and it previously worked on XP, I would be willing to spend a couple hours getting it work on XP.  Especially because some users might have old XP systems laying around they'd want to use for offline use (don't bash them, it's still better than an online computer Smiley)
sr. member
Activity: 322
Merit: 250
When starting it for the second time, after downloading what blocks it had to, it got stuck scanning on 1%. I found this in the log over and over, for a very long time.

-WARN  - 0: (..\BlockUtils.cpp:4865) Marking orphan chain
-WARN  - 0: (..\BlockUtils.cpp:4888) Done marking orphan chain
sr. member
Activity: 322
Merit: 250
Alan  mine worked like a charm, except for rapidly disconnecting/reconnecting while downloading the blockchain. Specs are above.
newbie
Activity: 9
Merit: 0
Given the issues with Windows 32-bit that I've seen, I'm going to try to rebuild everything on a native 32-bit VM.  Unfortunately, I tried installing MSVS 2012 Express on WindowsXP-32bit, but I got all sorts of crazy errors.  If anyone else has WinXP-32bit and feels like donating some time, please try downloading and installing MSVS 2012 Express for Windows Desktop.  I ask because, I assume it's possible that there is something wrong with my WinXP system, but I also wouldn't be surprised if Windows XP is just too old at this point for such a new piece of software.

Instead, I'm going to install Windows7-32bit and repeat the build process there.  If it works there, it obviously has a better chance of working on any Win7-32bit and Win8-32bit.  Fat chance for Windows XP, but maybe we'll get lucky.

Visual Studio 2012 only supports running on Windows 7 SP1 and later. By default, the created executables will only run on Vista and later. It can build XP compatible executables, but you have to change the project's Platform Toolset to "Visual Studio 2012 - Windows XP (v110_xp)"
Pages:
Jump to: