Author

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

newbie
Activity: 13
Merit: 0
July 18, 2012, 05:49:39 AM
Manually checking for a new version causes the issue too. Locks up for about 5 minutes until it shows error message "Latest Armory Version could not be retrieved, please check..." I can access versions.txt in my browser fine. Checked with wireshark and it doesn't seem to be attempting the connection (although I could be wrong, I don't use it that often). I don't have any firewall except windows which I tried turning off with no effect. I do have python installed separately as well, not sure if that could be causing any issues.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
July 17, 2012, 05:32:43 PM
I reinstalled and python27.dll was installed fine as well, and armory now boots. But it is unresponsive once it loads up. After about 4 minutes it becomes responsive and appears to work fine.

(WARNING) ArmoryQt.py:1273 - Memory pool file was corrupt.  Deleted. (no further action is needed)
(ERROR) ArmoryQt.py:782 - Could not access latest Armory version information
(ERROR) ArmoryQt.py:783 - Tried: https://raw.github.com/etotheipi/BitcoinArmory/logger/versions.txt

I then disabled the version check and restarted armory, this time it was immediately responsive.

Okay, this is clearly very wrong behavior.  I just wish I could reproduce it so that I can figure out how to make it go away.  Any information that might explain why you experience this delay and not me?  It doesn't happen on my Win7-64bit VM.  I don't really want to disable it, but I will have to if I can't figure this out. Sad


I have a strange problem.

I'm using the following piece of code (on a watch-only testnet wallet) and am getting no Addr20 value.

Code:
ledger = wlt.getTxLedger()   #wlt is a PyBtcWallet
ledger[0].pprint()

Returns
Code:
LedgerEntry: 
   Addr20  :
   Value   : 10
   BlkNum  : 71313
   TxHash  : 43b999e0c1df82e83eaf2c4a589d7d8517552c32d4006ad4ae486c09ef42c881
   TxIndex : 1
   isValid : 1
   Coinbase: 0
   sentSelf: 0
   isChange: 0

Also, just for my own sanity check, I found that the type of ledger[0].getAddrStr20() is str with length 0

Any ideas on why this is happening?

You somehow evaded the code path that sets that addr20 value.  I am looking at the code, but I can't figure out how that would happen.  Could you PM/email the context so I can see how it was created?  Was it created from Armory itself?  Or did you create it from a script on the offline computer using armoryengine?  If I can figure out how it happened, I can either fix that code path, or cut it off to avoid it in the future (I would like people to be able to leverage the library, like you are, without breaking stuff).

mav
full member
Activity: 169
Merit: 107
July 16, 2012, 08:24:35 PM
I have a strange problem.

I'm using the following piece of code (on a watch-only testnet wallet) and am getting no Addr20 value.

Code:
ledger = wlt.getTxLedger()   #wlt is a PyBtcWallet
ledger[0].pprint()

Returns
Code:
LedgerEntry: 
   Addr20  :
   Value   : 10
   BlkNum  : 71313
   TxHash  : 43b999e0c1df82e83eaf2c4a589d7d8517552c32d4006ad4ae486c09ef42c881
   TxIndex : 1
   isValid : 1
   Coinbase: 0
   sentSelf: 0
   isChange: 0

Also, just for my own sanity check, I found that the type of ledger[0].getAddrStr20() is str with length 0

Any ideas on why this is happening?
newbie
Activity: 13
Merit: 0
July 16, 2012, 03:44:57 AM
I reinstalled and python27.dll was installed fine as well, and armory now boots. But it is unresponsive once it loads up. After about 4 minutes it becomes responsive and appears to work fine.

This was the armory.exe.log


(WARNING) ArmoryQt.py:1273 - Memory pool file was corrupt.  Deleted. (no further action is needed)
(ERROR) ArmoryQt.py:782 - Could not access latest Armory version information
(ERROR) ArmoryQt.py:783 - Tried: https://raw.github.com/etotheipi/BitcoinArmory/logger/versions.txt


I then disabled the version check and restarted armory, this time it was immediately responsive.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
July 15, 2012, 06:31:13 PM
Tried it again & no delay on first run, but not when I tried to see where the update setting was left under Help -->.

Here is the log from just before the errors begin:
2012-07-15 19:09 (INFO) -- ArmoryQt.py:350 - Loading blockchain took 59.3 seconds
2012-07-15 19:09 (INFO) -- ArmoryQt.py:403 - Usermode: Expert
2012-07-15 19:09 (INFO) -- ArmoryQt.py:704 - Changing usermode:
2012-07-15 19:09 (INFO) -- ArmoryQt.py:705 -    From: Expert
2012-07-15 19:09 (INFO) -- ArmoryQt.py:713 -      To: Expert
2012-07-15 19:09 (INFO) -- ArmoryQt.py:2525 - Another Armory instance just tried to open.
2012-07-15 19:09 (INFO) -- ArmoryQt.py:755 - User requested never check for new versions
2012-07-15 19:09 (INFO) -- armoryengine.pyc:9084 - Handshake finished, connection open!
2012-07-15 19:17 (ERROR) -- ArmoryQt.py:782 - Could not access latest Armory version information
2012-07-15 19:17 (ERROR) -- ArmoryQt.py:783 - Tried: https://raw.github.com/etotheipi/BitcoinArmory/logger/versions.txt

After it unfroze, went to Help --> Armory Version and had no delay at all seeing the message that a new version was available, I tried that several times in a row, no delays and no more log entries being created to share. 

I'll try flatfly's idea.  And if I read line-by-line, I can put in my own timeout (unless it freezes on the first readline()).  This is frustrating... and even more so when I can't reproduce it on my side!
jr. member
Activity: 34
Merit: 12
July 15, 2012, 06:27:51 PM
Tried it again & no delay on first run, but not when I tried to see where the update setting was left under Help -->.

Here is the log from just before the errors begin:
2012-07-15 19:09 (INFO) -- ArmoryQt.py:350 - Loading blockchain took 59.3 seconds
2012-07-15 19:09 (INFO) -- ArmoryQt.py:403 - Usermode: Expert
2012-07-15 19:09 (INFO) -- ArmoryQt.py:704 - Changing usermode:
2012-07-15 19:09 (INFO) -- ArmoryQt.py:705 -    From: Expert
2012-07-15 19:09 (INFO) -- ArmoryQt.py:713 -      To: Expert
2012-07-15 19:09 (INFO) -- ArmoryQt.py:2525 - Another Armory instance just tried to open.
2012-07-15 19:09 (INFO) -- ArmoryQt.py:755 - User requested never check for new versions
2012-07-15 19:09 (INFO) -- armoryengine.pyc:9084 - Handshake finished, connection open!
2012-07-15 19:17 (ERROR) -- ArmoryQt.py:782 - Could not access latest Armory version information
2012-07-15 19:17 (ERROR) -- ArmoryQt.py:783 - Tried: https://raw.github.com/etotheipi/BitcoinArmory/logger/versions.txt

After it unfroze, went to Help --> Armory Version and had no delay at all seeing the message that a new version was available, I tried that several times in a row, no delays and no more log entries being created to share. 
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
July 15, 2012, 04:54:56 PM
Hi,

I'm not a Python expert, but according to the following link, using a 'for' loop rather than readlines() is a better way to iterate over the file:

http://stackoverflow.com/questions/4533884/is-using-readlines-in-python-bad-code/4534056#4534056

Interesting you posted this just as I finished compiling with another solution.  I found a post of someone reporting the exact same problem, and it was that there is a near-infinite timeout set at the socket layer that has to be overridden explicitly (I specify a urlopen timeout, but not socket.read timeout):

Quote
         import urllib2
         import socket
         socket.setdefaulttimeout(CLI_OPTIONS.nettimeout)

         versionLines = urllib2.urlopen(HTTP_VERSION_FILE, timeout=CLI_OPTIONS.nettimeout)
         versionLines = versionLines.readlines()


However, since I can't reproduce the problem, I had to recompile the Win64 version and replace the previous one.  @traderjoe:  please re-download and reinstall.  Tell me if the problem went away.  The links below are the same as on the original post, re-linked here for convenience.


Windows 64-bit installer
Windows 32-bit installer
Linux 64-bit Debian package
Linux 32-bit Debian package
legendary
Activity: 1092
Merit: 1016
090930
July 15, 2012, 04:47:44 PM
Wouldn't start on 64-bit windows. Throws 2 errors. "The specified module could not be found LoadLibrary(pythondll) failed" and missing PYTHON27.dll

I just checked this on a super-fresh Win7 installation and I don'thave the same problem.  I wonder if you somehow ended up with a partial installation.  I'm staring at python27.dll in my Windows 7 Armory installation directory, right now!  (C:\Program Files (x86)\Armory\Armory Bitcoin Client\python27.dll).  Could you try reinstalling?

Going to Help --> Armory Versions, I clicked on "Never again", restarted Armory & it worked fine--no abnormal delay.  Then I went to Help --> Armory Versions to try to change it back.  Before I could select anything, there was a long delay again (>5min?), followed by a dialog box saying "The latest Armory version information could not be retrieved.Please check www.bitcoinarmory.com for the latest version information."  I clicked OK and it seems to be working normally. 

So this is good and bad news.  It's good that it's only version checking causing the problem, I can always disable that if I need to.  But it's bad because, I have no idea why that's problematic.  I'm trying to grab the versions.txt file from github... I wonder if hosting it somewhere else would improve the situation? 

For those who are python-savvy, I'm looking at the code and wondering if maybe the last line below is the problem...?

Code:
         import urllib2
         versionLines = urllib2.urlopen(HTTP_VERSION_FILE, timeout=CLI_OPTIONS.nettimeout)
         versionLines = versionLines.readlines()

Is the "readlines()" call somehow triggering reading data for 5 minutes?  I use urllib2 for checking the internet connection to google without a problem, but I didn't call readlines().  However, that call definitely doesn't take 5 minutes on my computer or any of the VMs



I tried a signed offline transaction and 0.82.1, Windows 64 bit version worked fine except for the above.  Thanks for promptly upgrading the python library btw.

And thanks for letting me know about this.  Maybe I'll install Secunia on one of my windows machines to look out for this kind of stuff, myself.

Hi,

I'm not a Python expert, but according to the following link, using a 'for' loop rather than readlines() is a better way to iterate over the file:

http://stackoverflow.com/questions/4533884/is-using-readlines-in-python-bad-code/4534056#4534056
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
July 15, 2012, 03:14:20 PM
Wouldn't start on 64-bit windows. Throws 2 errors. "The specified module could not be found LoadLibrary(pythondll) failed" and missing PYTHON27.dll

I just checked this on a super-fresh Win7 installation and I don'thave the same problem.  I wonder if you somehow ended up with a partial installation.  I'm staring at python27.dll in my Windows 7 Armory installation directory, right now!  (C:\Program Files (x86)\Armory\Armory Bitcoin Client\python27.dll).  Could you try reinstalling?

Going to Help --> Armory Versions, I clicked on "Never again", restarted Armory & it worked fine--no abnormal delay.  Then I went to Help --> Armory Versions to try to change it back.  Before I could select anything, there was a long delay again (>5min?), followed by a dialog box saying "The latest Armory version information could not be retrieved.Please check www.bitcoinarmory.com for the latest version information."  I clicked OK and it seems to be working normally. 

So this is good and bad news.  It's good that it's only version checking causing the problem, I can always disable that if I need to.  But it's bad because, I have no idea why that's problematic.  I'm trying to grab the versions.txt file from github... I wonder if hosting it somewhere else would improve the situation? 

For those who are python-savvy, I'm looking at the code and wondering if maybe the last line below is the problem...?

Code:
         import urllib2
         versionLines = urllib2.urlopen(HTTP_VERSION_FILE, timeout=CLI_OPTIONS.nettimeout)
         versionLines = versionLines.readlines()

Is the "readlines()" call somehow triggering reading data for 5 minutes?  I use urllib2 for checking the internet connection to google without a problem, but I didn't call readlines().  However, that call definitely doesn't take 5 minutes on my computer or any of the VMs



I tried a signed offline transaction and 0.82.1, Windows 64 bit version worked fine except for the above.  Thanks for promptly upgrading the python library btw.

And thanks for letting me know about this.  Maybe I'll install Secunia on one of my windows machines to look out for this kind of stuff, myself.
jr. member
Activity: 34
Merit: 12
July 15, 2012, 02:56:51 PM

Quote from: traderjoe
Version 0.82.1, Windows 64 bit version, starts OK for me.  But after loading the blockchain, it freezes for like 5 minutes and looks like it's not going to start.  After that, it seems to run OK.  Yet to try doing transactions with it though...

This is super weird... it looks like it froze for 5-7 minutes while checking for the new version update.  That doesn't seem right, because the timeout is set to 2 sec, and even so, it shouldn't freeze for that long.  Can you verify for me that is the problem?   Go to Help-->"Armory Versions...".  See how long it takes to open.  Then click on "Never agian". then restart Armory.  How long does it take?  Now do it again but click "OK" (which re-enables notifications), and restart it.
...

Going to Help --> Armory Versions, I clicked on "Never again", restarted Armory & it worked fine--no abnormal delay.  Then I went to Help --> Armory Versions to try to change it back.  Before I could select anything, there was a long delay again (>5min?), followed by a dialog box saying "The latest Armory version information could not be retrieved.Please check www.bitcoinarmory.com for the latest version information."  I clicked OK and it seems to be working normally. 

I tried a signed offline transaction and 0.82.1, Windows 64 bit version worked fine except for the above.  Thanks for promptly upgrading the python library btw.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
July 15, 2012, 11:58:19 AM
my bad, I was looking at the wrong blockchain.info tx, it works perfectly.

LOL.  That's a relief!  I almost had a mini freakout with all the bug reports rolling in....  Smiley  So one less thing to worry about, but still got quite a few things to investigate...
donator
Activity: 452
Merit: 252
July 15, 2012, 11:56:09 AM
Ack, crisis!  I knew this update wasn't going to go smoothly, but didn't expect this!

I forgot to mention there is now a "--debug" option that should increase the amount of logger output.  That will help with some of this, but not a ton... I'm still trying to figure out where best to put full-debug output without flooding the logfile unnecessary.


using the latest armory, and sending extra coins to it. I sent a transaction of 41 btc to it (835ab86cb857cc2e87be487971f795994a45a3f0304262d30aa64c595f7fab07) a few minutes ago, 6 confirmations later it doesn't even show up in armory, I also transferred 1 btc to it from my phone, nada. Whats up?

BadBitcoin, which version are you using?  The testing version or 0.81, or older?  Did you restart Armory since then?  Don't worry, your coins are safe, just something bizarre happened.  If you're using the latest, can you email me your log file?  There would have to be some error messages in there...

Quote from: traderjoe
Version 0.82.1, Windows 64 bit version, starts OK for me.  But after loading the blockchain, it freezes for like 5 minutes and looks like it's not going to start.  After that, it seems to run OK.  Yet to try doing transactions with it though...

This is super weird... it looks like it froze for 5-7 minutes while checking for the new version update.  That doesn't seem right, because the timeout is set to 2 sec, and even so, it shouldn't freeze for that long.  Can you verify for me that is the problem?   Go to Help-->"Armory Versions...".  See how long it takes to open.  Then click on "Never agian". then restart Armory.  How long does it take?  Now do it again but click "OK" (which re-enables notifications), and restart it.

I definitely need to add more logging calls to this code!

my bad, I was looking at the wrong blockchain.info tx, it works perfectly.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
July 15, 2012, 11:54:33 AM
Ack, crisis!  I knew this update wasn't going to go smoothly, but didn't expect this!

I forgot to mention there is now a "--debug" option that should increase the amount of logger output.  That will help with some of this, but not a ton... I'm still trying to figure out where best to put full-debug output without flooding the logfile unnecessary.


using the latest armory, and sending extra coins to it. I sent a transaction of 41 btc to it (835ab86cb857cc2e87be487971f795994a45a3f0304262d30aa64c595f7fab07) a few minutes ago, 6 confirmations later it doesn't even show up in armory, I also transferred 1 btc to it from my phone, nada. Whats up?

BadBitcoin, which version are you using?  The testing version or 0.81, or older?  Did you restart Armory since then?  Don't worry, your coins are safe, just something bizarre happened.  If you're using the latest, can you email me your log file?  There would have to be some error messages in there...

Quote from: traderjoe
Version 0.82.1, Windows 64 bit version, starts OK for me.  But after loading the blockchain, it freezes for like 5 minutes and looks like it's not going to start.  After that, it seems to run OK.  Yet to try doing transactions with it though...

This is super weird... it looks like it froze for 5-7 minutes while checking for the new version update.  That doesn't seem right, because the timeout is set to 2 sec, and even so, it shouldn't freeze for that long.  Can you verify for me that is the problem?   Go to Help-->"Armory Versions...".  See how long it takes to open.  Then click on "Never agian". then restart Armory.  How long does it take?  Now do it again but click "OK" (which re-enables notifications), and restart it.

I definitely need to add more logging calls to this code!
donator
Activity: 452
Merit: 252
July 15, 2012, 11:23:17 AM
using the latest armory, and sending extra coins to it. I sent a transaction of 41 btc to it (835ab86cb857cc2e87be487971f795994a45a3f0304262d30aa64c595f7fab07) a few minutes ago, 6 confirmations later it doesn't even show up in armory, I also transferred 1 btc to it from my phone, nada. Whats up?
jr. member
Activity: 34
Merit: 12
July 15, 2012, 11:05:20 AM
Version 0.82.1, Windows 64 bit version, starts OK for me.  But after loading the blockchain, it freezes for like 5 minutes and looks like it's not going to start.  After that, it seems to run OK.  Yet to try doing transactions with it though...

Here is log.
2012-07-15 11:49 (INFO) -- armoryengine.pyc:489 - ************************************************************
2012-07-15 11:49 (INFO) -- armoryengine.pyc:490 - Invoked: C:\Program Files (x86)\Armory\Armory Bitcoin Client\Armory.exe --satoshi-datadir=<>
2012-07-15 11:49 (INFO) -- armoryengine.pyc:491 - ************************************************************
2012-07-15 11:49 (INFO) -- armoryengine.pyc:492 - Loading Armory Engine:
2012-07-15 11:49 (INFO) -- armoryengine.pyc:493 -    Armory Version        : 0.82.1
2012-07-15 11:49 (INFO) -- armoryengine.pyc:494 -    PyBtcWallet  Version  : 1.35
2012-07-15 11:49 (INFO) -- armoryengine.pyc:495 - Detected Operating system: Windows
2012-07-15 11:49 (INFO) -- armoryengine.pyc:496 -    User home-directory   : <>
2012-07-15 11:49 (INFO) -- armoryengine.pyc:497 -    Satoshi BTC directory : <>
2012-07-15 11:49 (INFO) -- armoryengine.pyc:498 -    Armory home dir       : <>
2012-07-15 11:49 (INFO) -- armoryengine.pyc:499 -
2012-07-15 11:49 (INFO) -- armoryengine.pyc:500 - Network Name: Main Network
2012-07-15 11:49 (INFO) -- armoryengine.pyc:501 - Satoshi Port: 8333
2012-07-15 11:49 (INFO) -- armoryengine.pyc:502 - Named options/arguments to armoryengine.py:
2012-07-15 11:49 (INFO) -- armoryengine.pyc:504 -     logDisable      : False
2012-07-15 11:49 (INFO) -- armoryengine.pyc:504 -     settingsPath    : <>
2012-07-15 11:49 (INFO) -- armoryengine.pyc:504 -     nettimeout      : 2
2012-07-15 11:49 (INFO) -- armoryengine.pyc:504 -     doDebug         : False
2012-07-15 11:49 (INFO) -- armoryengine.pyc:504 -     testnet         : False
2012-07-15 11:49 (INFO) -- armoryengine.pyc:504 -     datadir         : DEFAULT
2012-07-15 11:49 (INFO) -- armoryengine.pyc:504 -     satoshiHome     : <>
2012-07-15 11:49 (INFO) -- armoryengine.pyc:504 -     offline         : False
2012-07-15 11:49 (INFO) -- armoryengine.pyc:504 -     interport       : 8223
2012-07-15 11:49 (INFO) -- armoryengine.pyc:504 -     logcpp          : False
2012-07-15 11:49 (INFO) -- armoryengine.pyc:505 - Other arguments:
2012-07-15 11:49 (INFO) -- armoryengine.pyc:508 - ************************************************************
2012-07-15 11:49 (INFO) -- armoryengine.pyc:643 - C++ block utilities loaded successfully
2012-07-15 11:49 (INFO) -- armoryengine.pyc:9212 - Using settings file: <>
2012-07-15 11:49 (INFO) -- ArmoryQt.py:1073 - Loading wallets...
2012-07-15 11:49 (INFO) -- ArmoryQt.py:1121 - Number of wallets read in: 1
2012-07-15 11:49 (INFO) -- ArmoryQt.py:1126 -    Wallet (<>):   "<>   "   (No Encryption)
2012-07-15 11:49 (INFO) -- ArmoryQt.py:834 - Setting up networking...
2012-07-15 11:49 (INFO) -- ArmoryQt.py:885 - Internet connection is Available: True
2012-07-15 11:49 (INFO) -- ArmoryQt.py:886 - Bitcoin-Qt/bitcoind is Available: True
2012-07-15 11:49 (INFO) -- ArmoryQt.py:1217 - Loading blockchain
2012-07-15 11:50 (WARNING) -- ArmoryQt.py:1271 - Memory pool file was corrupt.  Deleted. (no further action is needed)
2012-07-15 11:50 (INFO) -- ArmoryQt.py:1228 - Syncing wallets with blockchain...
2012-07-15 11:50 (INFO) -- ArmoryQt.py:1230 - Syncing wallet: <>
2012-07-15 11:50 (INFO) -- ArmoryQt.py:350 - Loading blockchain took 76.1 seconds
2012-07-15 11:50 (INFO) -- ArmoryQt.py:403 - Usermode: Expert
2012-07-15 11:50 (INFO) -- ArmoryQt.py:704 - Changing usermode:
2012-07-15 11:50 (INFO) -- ArmoryQt.py:705 -    From: Expert
2012-07-15 11:50 (INFO) -- ArmoryQt.py:713 -      To: Expert
2012-07-15 11:57 (ERROR) -- ArmoryQt.py:780 - Could not access latest Armory version information
2012-07-15 11:57 (ERROR) -- ArmoryQt.py:781 - Tried: https://raw.github.com/etotheipi/BitcoinArmory/logger/versions.txt
2012-07-15 11:57 (INFO) -- ArmoryQt.py:2523 - Another Armory instance just tried to open.
2012-07-15 11:57 (INFO) -- armoryengine.pyc:9084 - Handshake finished, connection open!
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
July 15, 2012, 10:37:10 AM
Ack, I wonder if switching python versions somehow messed up my MSI builder.  I wouldn't notice on my machine because I have python installed already (thus python27.dll), but most people won't...

I'll look into this...
newbie
Activity: 13
Merit: 0
July 15, 2012, 10:33:05 AM
Version 0.82.1

This version doesn't look a whole lot different, but it now creates an $(ARMORY_HOME_DIR)/armorylog.txt file which contains a ton of python logging information.  I couldn't redirect C++ output to file very easily, but most problems to date have been resolved through the python messages/errors.  I touched a ton of different pieces of code, and this needs some serious testing.  Help me out!   And if there's mysterious problems, use "File->Export Log File..." to create a copy of the log file to send me!  Feel free to check the log and tell me if what you think of the information it contains (and remove any info before sending).

Also added a version check.  There's a fake updated version so that you can see the pop-up it shows you and how it displays info.  I'll be removing the fake version before I actually release this version.  You can see a full changelog by going to "Help-->Armory Versions..."


Windows 64-bit installer
Windows 32-bit installer
Linux 64-bit Debian package
Linux 32-bit Debian package

For those of you compiling from source:  version 0.82.1 is the "logger" branch.

Wouldn't start on 64-bit windows. Throws 2 errors. "The specified module could not be found LoadLibrary(pythondll) failed" and missing PYTHON27.dll
legendary
Activity: 2940
Merit: 1333
July 15, 2012, 03:10:51 AM

My guess is, it's only if Armory tries to open the file for reading during a bitcoin-qt write operation.  The file can be updated all you want after Armory opens it, and it will never be affected by the updates because they are all append operations.  The file will have the same size and content according to Armory regardless of how much data has been added while it is scanning (until I close and reopen it).  So I say 1/1000 because I think a blkfile-write and blkfile-open have to occur at the same time.   The hypothesis is further supported by the fact that I have seen a curious segfault once in the past month similar, and you are the only other report of it (and I open Armory like 50x per day!)

Please let me know if it happens again!  

It happened again:

Quote
chris@chris-old:~/Programs/BitcoinArmory/extras$ python sample_armory_code.py
********************************************************************************
Loading Armory Engine:
   Armory Version:       0.82
   PyBtcAddress Version: 1.00
   PyBtcWallet  Version: 1.35
Detected Operating system: Linux
   User home-directory   : /home/chris
   Satoshi BTC directory : /home/chris/.bitcoin/
   Armory home dir       : /home/chris/.armory/
Opening file 1: /home/chris/.bitcoin//blk0001.dat
Opening file 2: /home/chris/.bitcoin//blk0002.dat
Highest blkXXXX.dat file: 2
Attempting to read blockchain from file: /home/chris/.bitcoin//blk0001.dat
/home/chris/.bitcoin//blk0001.dat is 2000.15 MB
Attempting to read blockchain from file: /home/chris/.bitcoin//blk0002.dat
/home/chris/.bitcoin//blk0002.dat is 43.3854 MB
Loading blockchain took 123.5 sec


Current Top Block is: 189156
Block Information: 189156
   Hash:       0000000000000759ec55b40886b857e4bef5a82482920fd57d8132faa1b6b0a1 (BE)
   Timestamp:  1342338340
   Prev Hash:  00000000000001a47ea659918ec71fbfcfacb9ae586e59ec5f5e2e7640c3ddc9 (BE)
   MerkleRoot: 1eb296f5bd1e2613ac3068b4be3e0a004e7c71fae7f6803c944f76ba40e98232 (BE)
   Difficulty: 1.75145e+06    (3194091a)
   CumulDiff:  9.04572e+10
   Nonce:      4185994650


Let's look at all the bets ever placed at SatoshiDice.com
there are 24 bet types
lessthan 64000 is listed
first SD Tx is in block 176627

Segmentation fault
chris@chris-old:~/Programs/BitcoinArmory/extras$

Edit: and I run this slightly less than once per day...
hero member
Activity: 742
Merit: 500
July 14, 2012, 11:39:31 PM
For those of you compiling from source:  version 0.82.1 is the "logger" branch.
Compiling in Lion now.

EDIT: Well it compiled, but I got some errors when trying to send coins.  I emailed you the logs.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
July 14, 2012, 10:44:32 PM
Version 0.82.1

This version doesn't look a whole lot different, but it now creates an $(ARMORY_HOME_DIR)/armorylog.txt file which contains a ton of python logging information.  I couldn't redirect C++ output to file very easily, but most problems to date have been resolved through the python messages/errors.  I touched a ton of different pieces of code, and this needs some serious testing.  Help me out!   And if there's mysterious problems, use "File->Export Log File..." to create a copy of the log file to send me!  Feel free to check the log and tell me if what you think of the information it contains (and remove any info before sending).

Also added a version check.  There's a fake updated version so that you can see the pop-up it shows you and how it displays info.  I'll be removing the fake version before I actually release this version.  You can see a full changelog by going to "Help-->Armory Versions..."


Windows 64-bit installer
Windows 32-bit installer
Linux 64-bit Debian package
Linux 32-bit Debian package

For those of you compiling from source:  version 0.82.1 is the "logger" branch.
Jump to: