CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 06, 2016, 12:25:06 PM |
|
As Bitcoin Core does not "send wallets" anywhere either the OP is being purposely dense (or worse) or this whole topic is actually a joke (the fact that he doesn't even bother trying to restore his old backup suggests the latter to me).
|
|
|
|
totohasproblem (OP)
Newbie
Offline
Activity: 14
Merit: 0
|
|
March 06, 2016, 12:30:17 PM |
|
As Bitcoin Core does not "send wallets" anywhere either the OP is being purposely dense (or worse) or this whole topic is actually a joke (the fact that he doesn't even bother trying to restore his old backup suggests the latter to me).
It is not a joke, my old file are restored, the backup that i have is only for the old wallet, and this is empty since i tranfered it over+ the focus is on the new one If you read the steps and follow them you will see what i mean i did it 20 times to really be sure that the system is sending or deleting or replacing the wallet.dat that one that is freshly renamed mates, this problem is really serious for me and i really are f.... in trouble without solution. so please, take a careful look at it, go a bit deeper, if i would have the file or backups i would have no problem, but the system, send the file to somewhere and put a new wallet.dat in there.
|
|
|
|
achow101
Staff
Legendary
Offline
Activity: 3556
Merit: 6886
Just writing some code
|
|
March 06, 2016, 12:31:33 PM |
|
Hi, thank you
but the file is not really deleted, the bitcoin core system send it somewhere, i dont think they delete it. if you follow the steps you can see it in your wallet happen, its a Bug maybe
the bitcoin core app creates a new wallet.dat file and there is not my money, the bitcoin core program send 1. the wallet.dat (what was renamed to wallet.dat from the wallet-4343.dat) to nirvana, and i don´t know where it is
Why do you keep assuming that it renamed the file and moved it somewhere? Bitcoin core saw the file, tried a salvage and then deleted the file when it was done because it didn't need it anymore. That file is gone. Since you said you have a backup of the old wallet, restore that and you will get some bitcoin back. If the receiving addresses in your current wallet look familiar to you, then you probably have the private keys to your addresses so your can get your bitcoin back. You just need to initiate a rescan so it can find the transactions in the blockchain. Can you please provide the entirety of your Debug.log file?
|
|
|
|
BARR_Official
|
|
March 06, 2016, 12:32:36 PM |
|
i think i still have this wallet file but the data inside is broken
|
Buying At Retail and Restaurants - BarrCryptocurrency.com
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 06, 2016, 12:34:13 PM |
|
but the system, send the file to somewhere and put a new wallet.dat in there.
It doesn't do that so I think you aren't going to find any help here whilst you keep on insisting that Bitcoin Core does things that it simply doesn't do.
|
|
|
|
totohasproblem (OP)
Newbie
Offline
Activity: 14
Merit: 0
|
|
March 06, 2016, 12:42:10 PM |
|
but the system, send the file to somewhere and put a new wallet.dat in there.
It doesn't do that so I think you aren't going to find any help here whilst you keep on insisting that Bitcoin Core does things that it simply doesn't do. It is doing that, did you try it? i mean with send not send by mail or what ever so, if you change the file name from wallet.123123123.bak to wallet.dat then if you start the software again, the software will let your fresh renamed file disappear and will create a new, useless one. with sending i mean in what folder that put it, because if they create a new one, they should put it somewhere right? if you, yourself add another file, than your filemanage will ask you, replace, keep both or cancel. but here not, the botcoin core just add a new one after it deletes the one that is possibly broken"
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 06, 2016, 12:43:26 PM |
|
Okay - so here is the relevant code to what is actually going on: bool CWallet::Verify(const string& walletFile, string& warningString, string& errorString) { if (!bitdb.Open(GetDataDir())) { // try moving the database env out of the way boost::filesystem::path pathDatabase = GetDataDir() / "database"; boost::filesystem::path pathDatabaseBak = GetDataDir() / strprintf("database.%d.bak", GetTime()); try { boost::filesystem::rename(pathDatabase, pathDatabaseBak); LogPrintf("Moved old %s to %s. Retrying.\n", pathDatabase.string(), pathDatabaseBak.string()); } catch (const boost::filesystem::filesystem_error&) { // failure is ok (well, not really, but it's not worse than what we started with) }
// try again if (!bitdb.Open(GetDataDir())) { // if it still fails, it probably means we can't even create the database env string msg = strprintf(_("Error initializing wallet database environment %s!"), GetDataDir()); errorString += msg; return true; } }
if (GetBoolArg("-salvagewallet", false)) { // Recover readable keypairs: if (!CWalletDB::Recover(bitdb, walletFile, true)) return false; }
if (boost::filesystem::exists(GetDataDir() / walletFile)) { CDBEnv::VerifyResult r = bitdb.Verify(walletFile, CWalletDB::Recover); if (r == CDBEnv::RECOVER_OK) { warningString += strprintf(_("Warning: wallet.dat corrupt, data salvaged!" " Original wallet.dat saved as wallet.{timestamp}.bak in %s; if" " your balance or transactions are incorrect you should" " restore from a backup."), GetDataDir()); } if (r == CDBEnv::RECOVER_FAIL) errorString += _("wallet.dat corrupt, salvage failed"); }
return true; }
That would seemingly indicate to me it had already found an invalid "wallet.dat" and so had renamed it (to allow you to try and recover it later) and started again with a new wallet. It never "sent" your wallet anywhere but the corrupt "wallet.dat" became the new file "wallet.XXX.dat" (where XXX was the time stamp when this occurred).
|
|
|
|
totohasproblem (OP)
Newbie
Offline
Activity: 14
Merit: 0
|
|
March 06, 2016, 12:51:34 PM |
|
Okay - so here is the relevant code to what is actually going on: bool CWallet::Verify(const string& walletFile, string& warningString, string& errorString) { if (!bitdb.Open(GetDataDir())) { // try moving the database env out of the way boost::filesystem::path pathDatabase = GetDataDir() / "database"; boost::filesystem::path pathDatabaseBak = GetDataDir() / strprintf("database.%d.bak", GetTime()); try { boost::filesystem::rename(pathDatabase, pathDatabaseBak); LogPrintf("Moved old %s to %s. Retrying.\n", pathDatabase.string(), pathDatabaseBak.string()); } catch (const boost::filesystem::filesystem_error&) { // failure is ok (well, not really, but it's not worse than what we started with) }
// try again if (!bitdb.Open(GetDataDir())) { // if it still fails, it probably means we can't even create the database env string msg = strprintf(_("Error initializing wallet database environment %s!"), GetDataDir()); errorString += msg; return true; } }
if (GetBoolArg("-salvagewallet", false)) { // Recover readable keypairs: if (!CWalletDB::Recover(bitdb, walletFile, true)) return false; }
if (boost::filesystem::exists(GetDataDir() / walletFile)) { CDBEnv::VerifyResult r = bitdb.Verify(walletFile, CWalletDB::Recover); if (r == CDBEnv::RECOVER_OK) { warningString += strprintf(_("Warning: wallet.dat corrupt, data salvaged!" " Original wallet.dat saved as wallet.{timestamp}.bak in %s; if" " your balance or transactions are incorrect you should" " restore from a backup."), GetDataDir()); } if (r == CDBEnv::RECOVER_FAIL) errorString += _("wallet.dat corrupt, salvage failed"); }
return true; }
That would seemingly indicate to me it had already found an invalid "wallet.dat" and so had renamed it (to allow you to try and recover it later) and started again with a new wallet. It never "sent" your wallet anywhere but the corrupt "wallet.dat" became the new file "wallet.XXX.dat" (where XXX was the time stamp when this occurred). so, if you go the steps i told you (i just a minute ago tried again after your post) then you will see. the program starts, removes the wallet.dat ( and replaces it for a new one) the wallet. dat is the one that is then from me renamed from the .bak file to it happens all over again and again
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 06, 2016, 12:54:04 PM |
|
So - it is not "sending your wallet somewhere"*** but renaming the corrupt wallet.dat to wallet.XXX.dat (as it can't open that wallet).
It then will create a new empty wallet and continue. Your old wallet is still there (just renamed to wallet.XXX.dat) but that file is corrupt - so if you rename it back to wallet.dat you are of course going to just go around in circles (as renaming isn't going to magically repair it).
You do get that this wallet "is corrupt" don't you?
***(perhaps you consider "renaming" to be "sending somewhere" in which case we have resolved that communication problem)
Before going any further I would recommend that you take a copy of the "wallet.XXX.dat" file.
|
|
|
|
totohasproblem (OP)
Newbie
Offline
Activity: 14
Merit: 0
|
|
March 06, 2016, 01:02:38 PM |
|
So - it is not "sending your wallet somewhere"*** but renaming the corrupt wallet.dat to wallet.XXX.dat (as it can't open that wallet).
It then will create a new empty wallet and continue. Your old wallet is still there (just renamed to wallet.XXX.dat) but that file is corrupt - so if you rename it back to wallet.dat you are of course going to just go around in circles (as renaming isn't going to magically repair it).
it can only create a new wallet.dat, if there is not wallet.dat, but there was a wallet.dat, because i renamed the wallet.xxx.bak to wallet.dat but the new fresh renamed was then removed and replaced
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 06, 2016, 01:04:11 PM |
|
No - that is not what happens (please read the code and if you can't then take my word for it or ask another programmer to read it and explain it to you).
It is failing to correctly the open the "wallet.dat" file which is (most likely) due to it being corrupt (there may be other reasons I guess of course but they are very unlikely to be relevant to this situation) so it then renames it (once it has been renamed you no longer have a file called "wallet.dat" which is why it can then create a new one).
Once it has renamed the bad "wallet.dat" file it should have no problem in creating a new "wallet.dat" (it would only not be able to do that if the rename failed but you reported that it did rename as was recorded in your log file).
I'm not sure when this behaviour was introduced (older versions of Bitcoin Core would simply fail to start if the wallet was found to be corrupt).
|
|
|
|
totohasproblem (OP)
Newbie
Offline
Activity: 14
Merit: 0
|
|
March 06, 2016, 01:09:58 PM |
|
No - that is not what happens (please read the code and if you can't then take my word for it or ask another programmer to read it and explain it to you).
It is failing to correctly the open the "wallet.dat" file which is (most likely) due to it being corrupt (there may be other reasons I guess of course).
but where is my file gone than, why the receiving adress is not in there and why the money is gone what ruins me and my family? the code may say something different, but i am sure what i saw... maybe the whole chain is stil in the wallet, but i can not see it anybody can repeat this error easy on his mac its always the same i start the bitcoin core, the wallet.dat file (only if i before converted it from the generated system file back to wallet.dat) disappear then short before bitcoin core is up it creates a new wallet. but the old, that was gone is having the information
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 06, 2016, 01:11:48 PM |
|
As explained - the wallet *is corrupt* and can't be used (you're behaving like someone whose car is broken down who just keeps on trying to restart the engine when you've been told it is broken down). You said you had an old backup so go and restore your old backup (and do that using a different machine as recommended by myself and others) and until you've done that I don't think you can expect any further assistance. EDIT: Interesting timing that this suddenly has appeared: https://bitcointalk.org/index.php?topic=1382650.msg3049193;topicseen#new(perhaps this topic is actually a marketing exercise)
|
|
|
|
|
SISAR
|
|
March 06, 2016, 01:16:29 PM Last edit: March 06, 2016, 03:46:12 PM by SISAR |
|
So - it is not "sending your wallet somewhere"*** but renaming the corrupt wallet.dat to wallet.XXX.dat (as it can't open that wallet).
It then will create a new empty wallet and continue. Your old wallet is still there (just renamed to wallet.XXX.dat) but that file is corrupt - so if you rename it back to wallet.dat you are of course going to just go around in circles (as renaming isn't going to magically repair it).
You do get that this wallet "is corrupt" don't you?
***(perhaps you consider "renaming" to be "sending somewhere" in which case we have resolved that communication problem)
Before going any further I would recommend that you take a copy of the "wallet.XXX.dat" file.
That is not exactly how it goes. 1. Shutdown Bitcoin Core then move existing wallet.dat to some other directory. 2. Start Bitcoin Core, it will create a new wallet.dat file. 3. While Bitcoin Core is running, rename newly created wallet.dat to whatever else. 4. Shutdown Bitcoin Core, it will throw an error and exit. 5. Rename file back to wallet.dat and start Bitcoin Core again, it will detect corrupt wallet.dat then it will rename it to wallet.(random numbers).bak and exit. 6. Rename wallet.(random numbers).bak back to wallet.dat and start Bitcoin Core again. 7. Bitcoin Core will delete wallet.dat file and create __db.80000002.2d624f7d file (size is 512 bytes) then afterwards create a new wallet.dat file. Or wallet.dat file was not deleted but nulled (innitialized) and renamed to __db.80000002.2d624f7d can't realy tell. 8. Upon the next Bitcoin Core shutdown __db.80000002.2d624f7d file will be deleted. Hence wallet.(random numbers).bak is gone, one way or another. And guy did not created a backup of it at step 5. nor did he created a backup of wallet.dat at step 6.
|
|
|
|
LoyceV
Legendary
Offline
Activity: 3500
Merit: 17698
Thick-Skinned Gang Leader and Golden Feather 2021
|
|
March 06, 2016, 01:16:56 PM |
|
Do what SISAR says.Every second you keep using this computer, you lower the chance of recovering files. Turn it off. Now. Get another computer, plug in the disk, and start your search from there.
Oh, in the future: make backups!
|
| | Peach BTC bitcoin | │ | Buy and Sell Bitcoin P2P | │ | . .
▄▄███████▄▄ ▄██████████████▄ ▄███████████████████▄ ▄█████████████████████▄ ▄███████████████████████▄ █████████████████████████ █████████████████████████ █████████████████████████ ▀███████████████████████▀ ▀█████████████████████▀ ▀███████████████████▀ ▀███████████████▀ ▀▀███████▀▀
▀▀▀▀███████▀▀▀▀ | | EUROPE | AFRICA LATIN AMERICA | | | ▄▀▀▀ █ █ █ █ █ █ █ █ █ █ █ ▀▄▄▄ |
███████▄█ ███████▀ ██▄▄▄▄▄░▄▄▄▄▄ █████████████▀ ▐███████████▌ ▐███████████▌ █████████████▄ ██████████████ ███▀███▀▀███▀ | . Download on the App Store | ▀▀▀▄ █ █ █ █ █ █ █ █ █ █ █ ▄▄▄▀ | ▄▀▀▀ █ █ █ █ █ █ █ █ █ █ █ ▀▄▄▄ |
▄██▄ ██████▄ █████████▄ ████████████▄ ███████████████ ████████████▀ █████████▀ ██████▀ ▀██▀ | . GET IT ON Google Play | ▀▀▀▄ █ █ █ █ █ █ █ █ █ █ █ ▄▄▄▀ |
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 06, 2016, 01:18:36 PM Last edit: March 06, 2016, 01:29:17 PM by CIYAM |
|
5. Start Bitcoin Core again, it will detect corrupt wallet.dat, rename it to wallet.(random numbers).bak and exit.
Those are not "random numbers" but instead the current time stamp (as you can see clearly in the code I posted previously). And Bitcoin Core does not delete this file anywhere (please show me the code where it does). So if you deleted the empty "wallet.dat" and renamed the "wallet.XXX.bak" back to "wallet.dat" and restarted you'd just end up with a new empty "wallet.dat" and now a new "wallet.YYY.bak" (because the file is still corrupted and can't work as a valid wallet). The file "wallet.XXX.bak" and "wallet.YYY.bak" would actually be identical (as it hasn't deleted anything).
|
|
|
|
SISAR
|
|
March 06, 2016, 01:27:47 PM |
|
Behaviour might be different based on OS, I am using Win7 64-bit with Bitcoin Core v0.12 64-bit.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 06, 2016, 01:28:44 PM |
|
Behaviour might be different based on OS, I am using Win7 64-bit with Bitcoin Core v0.12 64-bit.
The code I quoted is the same code regardless of OS (there isn't separate source code for the different OS versions).
|
|
|
|
totohasproblem (OP)
Newbie
Offline
Activity: 14
Merit: 0
|
|
March 06, 2016, 01:28:52 PM |
|
5. Start Bitcoin Core again, it will detect corrupt wallet.dat, rename it to wallet.(random numbers).bak and exit.
Those are not "random numbers" but instead the current time stamp (as you can see clearly in the code I posted previously). And Bitcoin Core does not delete this file anywhere (please show me the code where it does). So if you deleted the empty "wallet.dat" and renamed the "wallet.XXX.dat" back to "wallet.dat" and restarted you'd just end up with a new empty "wallet.dat" and now a new "wallet.YYY.dat" (because the file is still corrupted and can't work as a valid wallet). The file "wallet.XXX.dat" and "wallet.YYY.dat" would actually be identical (as it hasn't deleted anything). Bitcoincore is not deleting it of course but as i said its removing it from the wallet.dat folder to somewhere and this is a bug please read carefully, or please please please, try yourself you will see go step by step as i told you and you will see the file will disappear even if its not in the code. you wil get a new file from the system, a new wallet without the money OR receive adresses that was in the first one.
|
|
|
|
|