Fixed the passphrase segfault. Make sure you install pycryto python module or else decryption will be dead slow. Everything should work as expected now.
Great. I might not have time to test for a while, so please send me your BTC address and I'll send 0.75 BTC now and the rest after I test.
In the one test I did I got an error message:
$ python wi.py --is-encrypted --wallet=/home/user/wallet1.dat
Traceback (most recent call last):
File "wi.py", line 1823, in
db_env = create_env(db_dir)
File "wi.py", line 1158, in create_env
(DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN | DB_THREAD | DB_RECOVER))
bsddb.db.DBInvalidArgError: (22, 'Invalid argument -- mmap: Invalid argument')
Tried it with a couple wallet files and got the same error. The user has read/write permission to the directory. I have the python-crypto package installed.
Could it be the bsddb module version you have? I tried the exact same command and got no error. I will just post a set up guide to make sure we're installing the correct python/module versions.
Actually just did a quick search, it could be python version issue as mentioned
http://stackoverflow.com/questions/15958917/bsddb-4-2-52-dbinvalidargerror-22-invalid-argumentCan you try with python 2.7? If not I will downgrade to python 2.5
Actually, I figured out what is causing the problem. I'm using VirtualBox and the wallet files are on a shared drive, and for some reason BSDDB can't work with that directory. All other tools I've used can read/write fine to it, they treat it just like any other directory. My suggested fix will actually fix two issues:
- Suggested fix: Create a temporary working directory in /tmp, do the operation, remove the directory.
This addresses the issue with the shared drive and also fixes the issue that currently lots of __db.00X files are left behind in the directory after the script finishes. If you can do the operation using the temporary directory and leaving the wallet file in its current place, that is best. If you need to have the wallet file in the temporary directory, then copying it over would be ok.
And please send me your Bitcoin address so I can send you half now. I've been slow to test but I want to make sure you know I'm good for the BTC and to keep you motivated to make these fixes.