Author Topic: Base update stopped to work after today's update  (Read 11406 times)

0 Members and 3 Guests are viewing this topic.

Offline Smiling Spectre

  • Jr. Member
  • **
  • Posts: 66
  • Country: 00
Base update stopped to work after today's update
« on: 06 09 2018, 19:56:52 »
Today at evening Miranda updated, and got Db_autobackups.dll of 11:36 06.09.2018. (Version 0.1.0.1).

Immediately autobackups stopped to work. No more backups, even if pressing "backup now" button. And regardless of that, every minute autobackup window flashes momentarily (Miranda set to autobackup once per day or on exit).

Something definitely broken now.

Update: seems, base got broken during update. I cannot compact or edit it too. *sigh* Old format was much less fragile...
« Last Edit: 06 09 2018, 20:21:52 by Smiling Spectre »
 

Offline ghazan

Re: Base update stopped to work after today's update
« Reply #1 on: 06 09 2018, 20:30:28 »
if you used 0.95.8, you had already converted your db into new format, so you could have problems with that initial format

you can try to create an empty profile and import the 'broken' one into it, then enable auto backup again

seems, base got broken during update
no, there's no database update during migration from 0.95.8 to .9

Old format was much less fragile...
the problem is that we rolled out 0.95.8 using libmdbx 0.9, which had some problems. now we're using 1.0.2, which is much more solid. so once imported from the old one, your profile will have no problems (hopefully)
 

Offline Smiling Spectre

  • Jr. Member
  • **
  • Posts: 66
  • Country: 00
Re: Base update stopped to work after today's update
« Reply #2 on: 06 09 2018, 21:17:33 »
if you used 0.95.8, you had already converted your db into new format, so you could have problems with that initial format
Well, base updated yesterday without any problems. I worked with Miranda all day. Today evening it updated again, to 0.95.9 build #20730. And something happened, it seems.
Quote
you can try to create an empty profile and import the 'broken' one into it, then enable auto backup again
How to create empty profile? I tried to remove old file from Profiles folder. It seems worked, but on import I got something new.

Quote
---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Assertion failed!

Program: <program name unknown>
File: mdbx_cmp_int_a2
Line: 6051

Expression: a->iov_len == b->iov_len

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application - JIT must be enabled)
Funny...

It happens on full import or "all contacts and messages", at stage "History import".

If I import contacts only, it works (without history, of course).

- If I import manually, set everything, except contacts and system history, it imports nothing at all.
- If I import system history only, it imports 14 messages (for 5 years, uh?).
- If I import contacts only, it does nothing (maybe because I imported everything before?)
- If I import contacts AND system history, it tries to import contact again, and even adds 24 more. %)
- And if I set Contacts AND History, it crashes just as shown above, right after contact import. What's even funnier, it lost all contacts afterwards - all names set to "Unknown contact".

So my "fragile" remark.

Any ideas?

Also, base _looks_ perfectly right, until I try to use autobackup. I can compact it, I can export settings, I can check history of any random contact. But not backup it.
 

Offline dartraiden

Re: Base update stopped to work after today's update
« Reply #3 on: 07 09 2018, 15:36:16 »
Quote
Also, base _looks_ perfectly right
Yes, but base was broken in 0.95.8 (libmdbx 0.9). It worked, but it was already damaged inside. "Living dead". Autobackuper "shakes up" database completely and the problem is revealed
Ticket created about Import problem.
https://github.com/miranda-ng/miranda-ng/issues/1586
@ghazan will look at it in a week
 

Offline Smiling Spectre

  • Jr. Member
  • **
  • Posts: 66
  • Country: 00
Re: Base update stopped to work after today's update
« Reply #4 on: 07 09 2018, 18:19:21 »
Thank you. I will be waiting.
 

Offline Smiling Spectre

  • Jr. Member
  • **
  • Posts: 66
  • Country: 00
Re: Base update stopped to work after today's update
« Reply #5 on: 27 09 2018, 17:27:38 »
Any news?

Meanwhile I lost my USB-stick (third in month :|, and recovered DB is not accessible to Miranda. Old DB (only remained, as autosave stopped to work) was from 7th September, and as I just discovered, it missed about quarter of contact history. And when I tried to import data here from recovered DB, most of contacts was added again, effectively duplicating database. Ugh.

Question is, when and if recovery tools for new format will be available, and how can I import anything? :)
 

Offline ghazan

Re: Base update stopped to work after today's update
« Reply #6 on: 27 09 2018, 19:40:23 »
Smiling Spectre,
does Miranda exit after displaying this error box?

these tools are available, but the only thing they cannot do is to reimport data back from a text file
 

Offline Smiling Spectre

  • Jr. Member
  • **
  • Posts: 66
  • Country: 00
Re: Base update stopped to work after today's update
« Reply #7 on: 28 09 2018, 11:08:11 »
Smiling Spectre,
does Miranda exit after displaying this error box?
Yes, before (import from old "good" DB->new semi-broken DB) it exit just as I press "ok" in error box.

Now (new broken DB->old semi-broken DB from previous step) it recovered some of data, duplicated some more and ignored about 1/4 for reason unknown for me. No error anymore though. But last time both bases are after-crash.

Also, previous bug is in place: any import works only if I allow to import contacts.

Quote
these tools are available, but the only thing they cannot do is to reimport data back from a text file
I meant cleanup/recovery tools that was integrated in old format Miranda. Like "remove broken chains, clean up trash and duplicates, fix structure". It would fix any problems in old structure, and now, well, I have three bases, and all trhee are broken, cannot be repaired individually, and I even cannot merge it's data properly, it seems, least fix everything.

Thank you for your answer anyway. At least I know that someone heard of the problem. :)
« Last Edit: 28 09 2018, 11:17:02 by Smiling Spectre »
 

Offline dartraiden

Re: Base update stopped to work after today's update
« Reply #8 on: 28 09 2018, 19:31:23 »
I think you should
1) create the clean new database (via Miranda NG 0.95.9) and import one of the old databases (contacts, history, etc).
2 сreate another clean new database and import another old database.
3) сreate another clean new database and import third old database.

Do not try to import one corrupted db to another corrupted db.

After that, we can start to think about how to combine this 3 new databases.

But you still may encounter "Assertion failed" problem... so see next post.
 

Offline dartraiden

Re: Base update stopped to work after today's update
« Reply #9 on: 28 09 2018, 19:49:29 »
Another solution (if Miranda 0.95.9 can start with "broken" databases):
1) run Miranda NG 0.95.9 with first "broken" database, install Msg_Export plugin and export history per-contact to JSON format. Or install History++ or mContacts plugin and export history per-contact to DAT format. Repeat this for every contact.
2) Repeat this for db #2 and db #3
3) Create new clean db in Miranda NG 0.95.9 and import only contacts from "broken" database (because "any import works only if I allow to import contacts")
4) Import history files from steps 1 and 2 via contact menu → import... → check "check duplicates" option and pick up corresponding .json or .dat. Repeat for every contact.
 

Offline Smiling Spectre

  • Jr. Member
  • **
  • Posts: 66
  • Country: 00
Re: Base update stopped to work after today's update
« Reply #10 on: 29 09 2018, 10:13:48 »
Another solution (if Miranda 0.95.9 can start with "broken" databases):
1) run Miranda NG 0.95.9 with first "broken" database, install Msg_Export plugin and export history per-contact to JSON format. Or install History++ or mContacts plugin and export history per-contact to DAT format. Repeat this for every contact.
2) Repeat this for db #2 and db #3
3) Create new clean db in Miranda NG 0.95.9 and import only contacts from "broken" database (because "any import works only if I allow to import contacts")
4) Import history files from steps 1 and 2 via contact menu → import... → check "check duplicates" option and pick up corresponding .json or .dat. Repeat for every contact.
Sounds like a good plan for me. Thank you. I'll try your first method, and if it will not work... *sigh* I'll consider second. Exporting 300 contacts trice, then importing it sounds like a chore, but there is no export with more convenient way, right?
« Last Edit: 29 09 2018, 10:16:02 by Smiling Spectre »
 

Offline dartraiden

Re: Base update stopped to work after today's update
« Reply #11 on: 29 09 2018, 10:46:27 »
I do not know how to export the history of all contacts... maybe MirLua can automate this, but I do not know how to write Lua scripts.
 

Offline Vulpix

Re: Base update stopped to work after today's update
« Reply #12 on: 29 09 2018, 11:28:54 »
MsgExport natively supports exporting history of all contacts into separate files (into Jsons if you have the recent versions), so it's just one click
 
The following users thanked this post: dartraiden

Offline Smiling Spectre

  • Jr. Member
  • **
  • Posts: 66
  • Country: 00
Re: Base update stopped to work after today's update
« Reply #13 on: 29 09 2018, 15:10:53 »
MsgExport natively supports exporting history of all contacts into separate files (into Jsons if you have the recent versions), so it's just one click
Can you explain how to do that, please? For me it simply move old .txt files, if they existed on old place (and they existed since 2014 at least), or do nothing if I remove all this files.
 

Offline Vulpix

Re: Base update stopped to work after today's update
« Reply #14 on: 29 09 2018, 17:15:16 »
If you install MsgExport, then go into miranda settings->History->Message Export, you can (on the contacts tab) highlight all the contacts whose history you want to export. Not only will this apply to when they speak, but there is a button called "Export all history" which - if pressed - exports all the history of the contacts whose name has been selected - into txt files. Make sure to have a valid path selected in the general options of the plugin, and make sure to have the "json format for export" selected to have it work with recent versions of import later on.

I can post a screencap of my settings if you wish, but this should be good.
 
The following users thanked this post: Smiling Spectre