### Author Topic: Current Update not updateable  (Read 1357 times)

0 Members and 1 Guest are viewing this topic.

#### Maverick

• Newbie
• Posts: 31
• Karma: 0
##### Current Update not updateable
« on: 08 01 2020, 08:28:50 »
Hi,

i always thought its a stupid Idea to update the Client every few Days or even every Day... Now you have killed the entire thing....

Below Screenshots. That happens, when i restart Miranda after the Update.

The Errormessage says, that the File is already in use. There is no other Instance or Miranda running.

#### UksusoFF

##### Re: Current Update not updateable
« Reply #1 on: 08 01 2020, 08:45:23 »
Same trouble

#### ghazan

##### Re: Current Update not updateable
« Reply #2 on: 08 01 2020, 15:59:58 »
Maverick,
and if you download an utility like Process Explorer and click Ctrl+F to find a handle by a file name, will it display any other process that uses that file?
or, just as a curious idea, will it help if you remove the *.lck file from your profile?

Also, is that a network profile or a local disk?

#### UksusoFF

##### Re: Current Update not updateable
« Reply #3 on: 08 01 2020, 16:46:04 »
If you have AutoBackups in Profile folder try update again and restore profile from backup.

#### dartraiden

##### Re: Current Update not updateable
« Reply #4 on: 10 01 2020, 12:33:27 »

#### Maverick

• Newbie
• Posts: 31
• Karma: 0
##### Re: Current Update not updateable
« Reply #5 on: 10 01 2020, 16:45:16 »
Maverick,
and if you download an utility like Process Explorer and click Ctrl+F to find a handle by a file name, will it display any other process that uses that file?
or, just as a curious idea, will it help if you remove the *.lck file from your profile?

Also, is that a network profile or a local disk?

Local and Miranda opend the File, there was nothing that accessed the File.
Seems that you have fixed the issue with the new Patch.

But you Guys should finally test more, instead of releasing broken Updates.

#### dartraiden

##### Re: Current Update not updateable
« Reply #6 on: 10 01 2020, 18:28:15 »
Developers do not have databases created by earlier versions of the driver
If the user needs stability, he must stay on the stable version

All these years, the libmdbx project has been constantly evolving. Now the developer plans to froze all features, so the risk of further failures is minimal

The development of the “next” version of libmdbx will be continued within a separate project MithrilDB, while the development vector of the “current” version of MDBX is aimed at freezing the set of features and stabilization.
« Last Edit: 10 01 2020, 18:37:47 by dartraiden »

The following users thanked this post: UksusoFF

#### dartraiden

##### Re: Current Update not updateable
« Reply #7 on: 10 01 2020, 20:23:47 »
If someone saved db before compression. please post first 256 bytes
this will help develop a crutch that will automatically avoid this problem

#### Morku

• Newbie
• Posts: 8
• Karma: 0
##### Re: Current Update not updateable
« Reply #8 on: 11 01 2020, 09:32:33 »
If someone saved db before compression. please post first 256 bytes
this will help develop a crutch that will automatically avoid this problem

If you tell me how, I can help here.
I still have a profile (created many years ago), which is unable to start when updating to latest Miranda NG Nightly. "it's in an unknown format". Never used the compact function before here.
The last working build with that profile I have on my PC is "0.95.11 alpha build #22431 (7524acda0a)". Any further update brings up the error.

Using the compact function also fixes the issue for my profile. I made a Backup of the userfolder before using this function.
« Last Edit: 11 01 2020, 10:11:40 by Morku »

#### Vulpix

##### Re: Current Update not updateable
« Reply #9 on: 11 01 2020, 13:36:43 »
If you have access to linux (WSL - ubuntu on windows?), you can do it simply by running a command similar to this:

Code: [Select]
cd /path/to/your/profiledd if=profile.dat of=newpiece.dat bs=1 count=256256+0 records in256+0 records out256 bytes copied, 0.0263937 s, 9.7 kB/s
the resulting newpiece.dat will be the first 256 bytes of your profile.

On windows, you can also download "dd for windows" from here http://www.chrysocome.net/dd  (if you don't want to install WSL or anything on your system) and run that instead.

The syntax is gonna be the same. Simply unpack dd.exe into the folder where you have your profile (I recommend doing it in a separate folder just to be sure), and then launch windows commandline (cmd):

Code: [Select]
cd c:\path\to\your\folderdd.exe if=profile.dat of=newpiece.dat bs=1 count=256rawwrite dd for windows version 0.6beta3.Written by John Newbigin <jn@it.swin.edu.au>This program is covered by terms of the GPL Version 2.256+0 records in256+0 records out
and "newpiece.dat" will be the first 256 bytes of the profile.

Third alternative is - make a bootable linux usb pendrive and copy your dat file there, and then do it all after booting into this linux. But I honestly recommend WSL or dd for windows method, they're the easiest if you don't want no hassle
« Last Edit: 11 01 2020, 13:38:23 by Vulpix »

The following users thanked this post: Morku

#### Morku

• Newbie
• Posts: 8
• Karma: 0
##### Re: Current Update not updateable
« Reply #10 on: 11 01 2020, 15:02:22 »
Hi,

thank you for the tutorial. I did with Ubuntu in VMware and dd.exe on Windows. Both results are from Hashvalues exact the same, so it should be fine. If not, just tell me.

I sent both of you the file to download in PM. I hope it helps.

Is it fine to stay on the "workaround fix compact User dat"? Or should I wait for a fix and continue use the "old dat, without compact" later then?
What is compact doing anyway and are there any downsides?

#### Vulpix

##### Re: Current Update not updateable
« Reply #11 on: 11 01 2020, 15:15:37 »
Hello!

Thanks, I got the file. I've given it to ghazan who's the main dev, he'll have a look at making a crutch

I suggest to do the following, if you're really, really interesting in preserving your data (I am, so... I do this myself whenever a db update comes out).

With old profile / old miranda, download and use the MsgExport plugin ( https://wiki.miranda-ng.org/index.php?title=Plugin:Msg_Export/en ) and export all of your history into json files.  (Miranda options->History->Message export->General-> "Use JSON format for export - check" + "Use UTF8 in new files - check", max column width - set to 0, and configure a good default path.)

Then in the "Contacts" tab, make sure all (or relevant) contacts are checked, and then press "export all history" button.

It will take some time depending on your profile size, but it will save all histories into human readable jsons.

Afterwards, move this folder somewhere, then do a compact + upgrade to new version of libmdbx, and then do this same export again.

Afterwards, run a comparison of the exported files.

(I suggest using Total Commander in windows, excellent file commander from http://www.ghisler.com/ ), navigate to the post-compaction export folder in the left pane, and to the old, pre-compaction export in the right pane, then in Total commander's menu -> Commands->Synchronize dirs,

select "Asymmetric - check, by content-check, ignore date-check" and make sure the "show" section has left arrow, non-equal sign and right arrow enabled.

Then run "compare". If you have lost no data or if no corruption occurred, the comparison will show an empty window, i.e. all the files are the same.

If there are differences, simply double-click the row with the differences which will bring a side by side comparison of the file contents where you can usually very easily see what the difference is, and whether or not it's okay. (sometimes it could be like a removed newline or so).

Based on the results of the above comparison, you can then decide to either stay on the upgraded version - or wait for a fix and keep using the old mdbx for now.

I'm a bit obsessed with making sure my data is safe so this is what I do. It is some manual work but in the end it's not too bad and it ensures integrity of irreplaceable data which, if lost, would make me very sad :p
« Last Edit: 11 01 2020, 15:17:27 by Vulpix »

The following users thanked this post: Morku

#### Morku

• Newbie
• Posts: 8
• Karma: 0
##### Re: Current Update not updateable
« Reply #12 on: 11 01 2020, 16:06:21 »
Thank you. I did as your described and it's weird.
The "compat" export contains more messages, than the "uncompat" version. So the file size is also bigger in "compat". I double checked the creation day to avoid accidental mixed up tthe export, but no. The second export (after compat and upgrade Miranda) is bigger.

Anyway, the Message history is not that important for me. Much more is the Miranda settings which are so much detailed. I would hate to set up again from scratch For sure it would take a whole day. Anything else comes from Cloud.

If I have to think about how old my profile is... must be after QIP was somehow dead... maybe around ~2013

#### dartraiden

##### Re: Current Update not updateable
« Reply #13 on: 11 01 2020, 16:48:08 »
I've given it to ghazan who's the main dev
It's better to attach here

#### Vulpix

##### Re: Current Update not updateable
« Reply #14 on: 12 01 2020, 02:33:03 »
Thank you. I did as your described and it's weird.
The "compat" export contains more messages, than the "uncompat" version. So the file size is also bigger in "compat". I double checked the creation day to avoid accidental mixed up tthe export, but no. The second export (after compat and upgrade Miranda) is bigger.

Anyway, the Message history is not that important for me. Much more is the Miranda settings which are so much detailed. I would hate to set up again from scratch For sure it would take a whole day. Anything else comes from Cloud.

If I have to think about how old my profile is... must be after QIP was somehow dead... maybe around ~2013

My profile contains data from Miranda IM days, 2006+ hehe.

You can use dbeditor++ plugin to export all of your settings into an ini file, pre/post upgrade, and using total commander compare those ini files.

But I'm guessing miranda settings being broken is something you would notice instantly since you've been using that miranda for a decade+ .

And it may not be so strange - there could be orphaned/unlinked data that get linked/fixed by the compaction. So yay!