Bitcoin Forum
May 25, 2024, 08:40:55 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [Multibit] Flaw/Bug Saving Wallet and Write failures  (Read 652 times)
azzuron (OP)
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
April 26, 2013, 01:43:04 PM
 #1

I have been using Multibit. i had 0.4.x initially i had this issue. then it stopped, now its back since i have upgrade to 0.5.9... So here are some details.

Code:
08:25:36.985 [Timer-3] DEBUG o.m.v.swing.FileChangeTimerTask - Start of FileChangeTimerTask - run - enable = true 
08:25:36.985 [Timer-3] DEBUG o.m.v.swing.FileChangeTimerTask - Saving dirty wallet 'C:\Some\Path\Here\Mining.wallet'...
08:25:36.988 [Timer-3] DEBUG org.multibit.file.FileHandler - Start of secureDelete
08:25:37.487 [AWT-EventQueue-0] DEBUG o.m.v.swing.MultiBitTabbedPane - Set selected index = 1
08:25:37.593 [Timer-3] DEBUG org.multibit.file.FileHandler - Result of delete of file 'C:\Some\Path\Here\Mining.wallet' was true
08:25:37.593 [Timer-3] DEBUG org.multibit.file.FileHandler - End of secureDelete
08:25:37.593 [Timer-3] DEBUG org.multibit.file.FileHandler - Saving wallet file 'C:\Some\Path\Here\Mining.wallet' ...
08:25:37.594 [Timer-3] ERROR o.m.v.swing.FileChangeTimerTask - The new wallet "C:\Some\Path\Here\Mining.wallet" could not be created. The error was "Cannot save wallet 'C:\Some\Path\Here\Mining.wallet".
08:25:37.594 [Timer-3] DEBUG o.m.v.swing.FileChangeTimerTask - End of FileChangeTimerTask - run
08:25:37.685 [AWT-EventQueue-0] DEBUG o.m.viewsystem.swing.StatusBar - StatusBar label = 'The new wallet "C:\Some\Path\Here\Mining.wallet" could not be created. The error was "Cannot save wallet 'C:\Some\Path\Here\Mining.wallet".'
.
.
.
08:27:36.985 [Timer-3] DEBUG o.m.v.swing.FileChangeTimerTask - Start of FileChangeTimerTask - run - enable = true
08:27:36.985 [Timer-3] DEBUG org.multibit.file.FileHandler - Previous wallet file size was '1388632'. It is now '0'
08:27:36.985 [Timer-3] DEBUG org.multibit.file.FileHandler - Previous wallet file modification date was '1366943340000'. It is now '0'
08:27:36.985 [Timer-3] DEBUG org.multibit.file.FileHandler - Result of check of whether files have changed for wallet filename C:\Some\Path\Here\Mining.wallet was true.
08:27:36.985 [Timer-3] DEBUG org.multibit.file.FileHandler - walletFileSize 0 ,walletFileLastModified 0 ,walletInfoFileSize 1902 ,walletInfoFileLastModified 1366943340000
08:27:36.985 [Timer-3] DEBUG o.m.v.swing.FileChangeTimerTask - Marking wallet C:\Some\Path\Here\Mining.wallet as having been changed by another process.
.
.
.
08:27:37.112 [Timer-3] INFO  org.multibit.file.FileHandler - Written backup wallet files to 'C:\Some\Path\Here\Mining-20130426082736.wallet'

In what world does it make sense when saving a file, do you delete it then try and write it? Procedure here should be to write a 2nd copy, delete the original then write the original then delete the second copy after the original properly writes.

Luckily it looks like a backup copy is saved after the failure... but again what if that backup failed to write? What if the app or computer crashes in the middle?

So why does this happen? I suspect its because the folder the wallet is in is monitored for changes and backed up regularly as soon as changes are detected. I suspect, that the deletion of the file happens and the backup software detects this puts a write lock on the file to do whatever its doing, and multibit tries to write the file again with the new version. the file write action gets blocked, and then poor write error resolution happens. A backup is written to a different file name. Luckily this doesn't fail, and the wallet is then abandoned in the gui.

Thank you for considering this... Not sure if i plan to keep using multibit or not, but i have some things to consider for sure. Smiley I think it could be a great Wallet app...
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!