.MSCZ file corruption
I dont know how it happned but here is what i did:
1.) I had worked on a score and was finished for the day so i save the score and closed musescore, and nothing special happned.
2.) I shut down my computer and went to bed
3.) I woke up and turned on my computer(No error poped up at startup or shutdown)
4.) I went to musescore and tyred to open the file, i noticed that it did not have a "screen shot" of the score, but i did not think much about it and i tried to open the score but i just got an error that said as following: "Open error
File "C:\Users*********\Documents\Musescore4\Scores\KONZERT_gdur.mscz" is corrupted." and when i checked the file size in the file explorer (Explorer.exe, btw i am using Windows 10) it was 0 bytes
I hope that this bugreport can help you find out what happned so that it does not happen to other users
Comments
Btw i am using musescore 4.1
I don't think so, most probably 4.0.1
Unfortunately, this kind of corruption where the file suddenly becomes 0KB is still a riddle to us. It happens sporadically (also happened in MS3), and there is never a clear reason nor a way to reproduce it... very unfortunate.
You could try to recover the file; in the same folder where the file was saved, there should be a folder called
.mscbackup
, and inside that folder there should be a copy of the file from before the last time you saved it.See #271185: Scores corrupted beyond repair, containing nothing but zeros, not quite tue same but similar
In reply to Btw i am using musescore 4.1 by lena35
sorry i meant 4.0.1
In reply to Unfortunately, this kind of… by cbjeukendrup
I can't find it in .msbackup
Just so you know, i am currently looking in the source code so that i can potentially find where the bug is located
Looking in the source code lena35?
I wish you best of luck.
I'm no programmer, but nevertheless; Here some information for general people who wonder why corruption can be such a difficult matter to remove: The score lives in a database, so every action the user does is reflected in a read and/or write access to the database. Thus possible sources of .mscz file corruption can be errors in the undo/redo queue actions, errors in the translation of the user's actions to database access commands, errors in the database's own code and errors in writing/reading of the database content into/from the .mscz file.
Here is the decompiled version of musescore4.exe in .asm format, i used x64dbg
here
Just rename to .asm so that you can read
Just so you know, this is not a patch i just called it .patch so that i could upload
@talshiar MuseScore doesn't use a database structure. Also, only when you press "Save", the score is written from the working memory to a file (there is no continuous communication with the score file on the disk, as you suggest, which would make the app very slow).
So, this specific corruption happens specifically while saving the file. Since it is the ZIP file that is corrupted (rather than its content), it is very unlikely that this has to do with any prior actions from the user.
Interesting source files are
mscwriter.cpp
,zipwriter.cpp
andzipcontainer.cpp
.In reply to @talshiar MuseScore doesn't… by cbjeukendrup
yes i agree
In reply to yes i agree by lena35
I have an idea
What if there is a problem with the file saving routine? Maybe that is what's causing this problem
I didn't look at the code, just Imagined how the program could work. So let's call it internal representation of the score and not a database :), but I accept that the concepts are different. Otherwise, I must have been imprecise, I didn't mean to imply the database were a disk file.
You both probably already know this: The 0-files happen with other windows programs too, and this is discussed in many net pages with reasons and solutions.