• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

PROVEN - client is corrupting wallets upon exit

Status
Not open for further replies.
I've sent the dump files to Propulsion, but I'd still like to know WTF happened or at least how to fix it... Something is wrong every single step of the way... Nothing works, no matter what. It's ridiculous.



Using a brand new, just created wallet.dat, I tried killing process, copying while running, killing process and copying while running... Never corrupts... I do as much wrong as I can and it works fine... I even put the active wallet on a different drive and unpluged it while qt was running... wallet still worked when I plugged it back in.

If I couldn't laugh, I'd cry... This is ridiculous. The anoyingness of this problem concerns me far more than 1000 drks...
In all my experience when i've tried everything possible in software I tend to look into the hardware layer. Solar flare flipped a bit who knows, but it's possible. Unless you are using ECC ram chips, power cleaning UPS', etc, etc, you never know it could be hardware. That seems to be the only commonality. You had the issue twice. Using same hardware. Code was vastly different each time. Nobody is able to reproduce it on their ends.

On another note what deps did you need to install to get the db dump to work? I'd like to get that built on my test box. Do you recall?
 
Using same hardware.
No, not same hardware. Laptop I bought the last time this happened. Mangled was here when I did a fresh OS install on it just a few days ago for other reasons (I hadn't used it since that situation, and package updates got so far behind they went wonky and wouldn't update, gave up, re-installed.)

On another note what deps did you need to install to get the db dump to work? I'd like to get that built on my test box. Do you recall?
I didn't manually install any deps, just the db4.8_dump package itself. If apt-get installed something else, I didn't notice.

The deps issue I had was for pywallet.py, not the dumper tool. Manually rectified that. pywallet running, just not doing anything useful...
 
camosoul, im suprised anyone is helping you at all here, youre being a prick to people who are trying to help you.
Seems like you know everything anyway, so why are you asking "trolls" for help?...dont answer.
 
When running db4.8_dump what commands did you try?

#host#> db4.8_dump wallet.dat | db4.8_load wallet-new.dat

is something I found on a board with someone complaining about a btc wallet corruption. Weird thing is I'm having a PITA trying to get db4.8-util to work in 14.04. It seems to only want to go back as far as db5.1-util. Did you manually deb install that specific version? or are you using the 5.1?

Also http://manpages.ubuntu.com/manpages/natty/man1/db4.8_dump.1.html seems to talk about using a -R option for salvaging data thats possibly corrupt.
 
camosoul, im suprised anyone is helping you at all here, youre being a prick to people who are trying to help you.
Seems like you know everything anyway, so why are you asking "trolls" for help?...dont answer.
Eat shit. Liar. Anyone worth a damn can read that the opposite is what happened. I hope you watch your children die, if the world is unfortuante enough to face the idea of you reproducing in the first place.

Don't answer? What a fucking coward. Lies, cheap shots, then tell me I better just take it. Cuz I'm totally gonna do that... Trash. Hide behind your keyboard, loser. Do you feel important now? Fuck you.

Pathetic.
 
Last edited by a moderator:
When running db4.8_dump what commands did you try?

#host#> db4.8_dump wallet.dat | db4.8_load wallet-new.dat

is something I found on a board with someone complaining about a btc wallet corruption. Weird thing is I'm having a PITA trying to get db4.8-util to work in 14.04. It seems to only want to go back as far as db5.1-util. Did you manually deb install that specific version? or are you using the 5.1?

Also http://manpages.ubuntu.com/manpages/natty/man1/db4.8_dump.1.html seems to talk about using a -R option for salvaging data thats possibly corrupt.

I didn't explore it... The name suggested it was a single-purpose bit of code, so I didn't notice it did anything else. Was kinda busy trying stuff people were suggesting.

Forcing 14.04 off of 5.1, well, I wish I could tell you how I did it... Much did not work. I'm not sure what parts of the things I tried actually 'took,' and which were just wasted time... It just eventually did it... And I have to watch every update cuz it wants to remove it and put 5.1 back in... Then manually run the parts of the update I want... I ahve half a mind to just let it go back to 5.1 cuz it's really damn annoying. Certainly, it says no such package exists, and the fun starts there. I added a new repo, and some dpkg business... I don't remember because I was sure it wasn't going to work, and many things didn't...

That's a nifty bit there, might try it later, too tired right now... Going to watch some walking dead and go to bed. Propulsion sent me an "extraction script" I got working finally... Not exactly sure what it did... Not sure how to correlate my address to the privkey. The address actually appears in the file tho... Kinda odd...
 
How hard is it to just leave out words like 'prick' and so? We're not all sitting on a building site together. Calm it down.
 
Too bad I can't help with the issue, so sorry for OT, but ffs people try to look at the issue and not the delivery if that's not to your liking. It makes this thread pain in the ass to read for those who might actually be able to help.
 
You make it sound like it's their fault rather than the OP who is being completely aggressive. He could have easily just posted his problem neutrally.
 
Hey camosoul, please watch your language. Whatever this thread or discussion is about, you wont convince others by telling them to eat excrements. ;-)

And everyone else, you are not much better if you put fuel into the fire.

Keeping this thread locked until things calm down.


This is the support thread

Personal feelings should be put aside. This goes for everyone posting.

It's amazing that this thread has gone on for five whole pages. If you aren't posting something that helps with the topic then do not post anything!

Summary:

A user of the daemon experienced a corruption of the wallet. He/she posted in the support thread, did not make a scene, or harass anyone.

It is a highly unlikely situation that a wallet can become corrupted after the shutdown message has been received by the daemon. Can it happen? Absolutely; anything can happen.

A wallet is corrupt. The user claims he shut down the daemon correctly.

Topic of thread:
  • How can a wallet become corrupted if proper shutdown procedures are followed?
  • How is it possible to retrieve the private keys of the corrupted wallet?
Any post in this thread after this post that is not on topic will be deleted as well as any post that is in any way shape or form an attack on someone else.
 
camosoul I modified key recovery python gist to work with darkcoin https://gist.github.com/UdjinM6/07f1feae8b7495c67480
It read bytes directly from wallet.dat and doesn't rely on db format.
Seems to work for me now (unencrypted wallets only) and I hope it will work for you too.
Put it in the same folder where you have your wallet.dat or modify line 54.
This looks freakin' sexy... But, as usual, there's always a bunch of broken stuff to fix...
console said:
$ sudo pip3 install base58
Downloading/unpacking base58
Downloading base58-0.2.1.tar.gz
Running setup.py (path:/tmp/pip_build_root/base58/setup.py) egg_info for package base58

Installing collected packages: base58
Running setup.py install for base58

Installing base58 script to /usr/local/bin
Successfully installed base58
Cleaning up...
$
Hey, that was fun.
console said:
$ python bitwalletrecovery.py
Traceback (most recent call last):
File "bitwalletrecovery.py", line 20, in <module>
import base58
ImportError: No module named base58
$
Fun gone.

OK, changed python to python3, just took a stab in the dark...

complained about more missing modules, installed them, I HAZ PRIVKEYS!

FOUND!

In other fails:
console said:
foo@bar:$ python --version
Python 2.7.6
Screenshot-10272014-125203-PM.png

It can't be both... Fresh install... python and python3 - yeah... I wanna slap a nerd...
 
Last edited by a moderator:
It read bytes directly from wallet.dat and doesn't rely on db format.
This is the crux of it. As long as some kind of structure remains, this script will suck up everything and spit out every possible translation of the data in a human readable format. Search for the pubkey (address you sent to) and the privkey is right there in hex, WIF and WIF compressed. Cut. Paste. Coins back.

It takes a mess and turns it into cut and paste fix. This is how it's done. Doesn't care what db4.8, db5.1, busted anyway, ignore it and get shit done. Manliest code is manliest!

Beautiful. Everyone should have this.

It would save much consternation if the client actually had this built in, instead of depending on out-of-date database libs and external tools... If it can be done in less than 2 pages of python, Y U NO HAZ IN CLIENT? How about adding it in as a --recoverwalletsansdbformat CLI option? Less than 2 pages of script... Already done... Evan, be the first crypto wallet to have this kind of forensic/recovery tools built right in...

Seems like --recoverwalletsansdbformat and start-many would be easy feature adds...
 
Last edited by a moderator:
Status
Not open for further replies.
Back
Top