error in reading my composition

• Feb 18, 2012 - 23:58

Okay, so I'm a little/INCREDIBLY upset that one of my compositions has been somehow messed up and no longer opens. What is going on? how do I fix the problem? IS there a way to fix it?
every time I open it, it reads
error reading file D:SUSPEN~1.MSC at line 1 column 1: error occurred while parsing element

I've gone through this forum, and there have been other situations like this, but I want a straight-forward answer as to what happened to my song, and why can't I get it back.
This has happened three time to me, each with a different and FINISHED composition which I had worked on for weeks. One was for a project, the other was for fun. The first one was amazing and when it was done, I went to open it the next day, and it wouldn't open.
now this time, I'm a bit fed up with it. I was working on it, making good progress, when something happens, and the cpu died. I turn it back on, and the file won't open. This time, it is for a Huge project, and the piece I had created, now gone, was a soundtrack for a short film. I had only been working on it for a week, and today, it decided to stop. Is it something wrong with Musescore? or the file itself? I can't access it again, like I've said, I've gone through the forums and looked at similar problems. But this is just annoying me. I put my heart and soul into this work, and now it's gone, and I can't even get a small part of it back. I want to stop using Musescore, but I don't want to. If there is in fact something that can be done to get it back, a response would be terrific!!! (because this project which needs this soundtrack is due by March Third of this year)
thank you.

Attachment Size
Suspense Soundtrack 3.mscz 20.11 KB

Comments

I can't tell you what exactly is wrong, but I can at least give you some advice on tracking it down yourself. An MSCZ file is just a ZIP archive. Open it with a any zip program and you'll see the MSCX file within it. That's a plain text file. Open that with a ext editor and poke around yourself. At first glance, it looks fine, but presumably somehow there is something corrupted in there. Hopefully finding and fixing that will recover the rest of the work - there's quite a bit of info there in the file, so maybe not much was lost.

I start to learn MuseScore so I find your question interesting. First I found that mcsz if compressed archive, with 7-zip I got 789 Kb mscx file. Then opened that file with hex editor and from header find out that this is a xml file. So simple renamed extension to xml and open it with MS Internet Explorer. Error in reading bla, bla (invalid character in text field), MuseScore will not open file (debuf version says it is a broken file), I found that invalid character with hex editor, repair it (char 11 instead of char 10) but stil no good, then I opened xml in Visual Studio IDE (VC ++ 6.0), resaved as UTF-8 xml and then I try to reopen xml with MuseScore. This time error reading says that mach pair on line 22645 (or something like that), I go on that line and instead of field was (not sign F but strange sign) so I put sign R and then again resaved as UTF-8 xml. MuseScore now opened this xml file without error but shows nothing. Then I renamed xml to mcsx and now MuseScore 1.1 opened and played it just fine. I save it as mscz (just to compress to 21 Kb). I tried again with this file and "no problemo", all notes are on screen and it plays. In attachment is your repaired file. Man, this was "rumble in a jungle", always save your work every hour with different date-time in name of file so you will never loose much in such cases.
regards, nino

Attachment Size
Suspense Soundtrack 3_repaired.mscz 20.1 KB

In reply to by ninozagreb

@ninoz

In addition to the repairs you made, I found eight places where an empty box appeared in the xml code.

If you open your repaired file in MuseScore and look at the instrument names by the first measure next to Clarinet and Trumpet you will several strange characters: î„Ť

In the xml code, they appear in html lines, for example, near line 308:

style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Bî„Ť Clarinet 2

In reply to by DougEdmunds

Hello Doug, I wrote explanation what I made not for users but for programmers to give them idea to make some automation repair tool for this kind of broken file. To much to know for normal user to try to repair errors by himself. So I will repeat my steps with some explanation for you
1. mscx is xml file, xml file is utf-8 which means two bytes per character. This is a big catch for normal user because it is a text file but must be opened in xml editor and saved as utf-8, not as standard ANSI txt (one byte per char). Important thing to say here is that xml is text file and can be opened with Microsoft Notepad, Wordpad (you will see some non-printable characers and without structure), Word will ask you to import as utf-8 and will show proper structure (formatting) but how you will find errors in such a big file. I opened this file in two differnet xml editors, one which will only read it and MS Internet Explorer which will read and try to validate xml file. This helps because first error was "wrong character in text field" and it show place where it stoped reading. This was one of non-printig characters which you can't see on screen but are there. With hex editor I found that instead of "line feed hex 0A dec 10" was hex 0B dec 11 so I put hex 0A and repaired that error (carriage return is dec 13, it means new line and start position etc, they are for printing only). Some validation tool from MuseScore can easily repair this error because they know structure of their xml file (this field have one line feed and five blanks).
2. I opened xml file in another xml editor (visual studio C++ 6.0 because it read file (no validation) and show me number of lines. When I try to open again xml file (minus first error) now their parser try to validate it and stopped with message "unmatch pair error on line 26xxx (never mind). Then I go on that line and find that field (node) look like . Match pair should be so I put sign "R" there. And there was no more validation errors in reading of xml file. This error can also be found and repaired with MuseScore validation-repair tool because they know structure of their xml file and that match pair should be and .
3. that what you find as error is free text and it is not (and can't be) part of validation. I agree that it is obviously mistake, made at a same time when something goes wrong with save file but user can repair it by hand or program can give him warning that there are values in some fileds that are now allowed (or something like that). This is a very wierd situation and you can not expect sotware to catch every possible mistake. This error is better to correct inside of program.
Anyhow, I do it for my reasons (that is no reason at all, I was just in a mood), not to prove anything nor to make me a smart so I am done with this subject.
reagrds, nino

In reply to by ninozagreb

I have been looking for an XML verifier for some time, and now finally have found one, XMLLINT! It is command-line but it also caught the errors and let me fix them. Repairing broken MS files is not a process for the faint-hearted.

However, I feel something that Ninoazgreb wrote needs clarification: "mscx is xml file, xml file is utf-8 which means two bytes per character." The MS XML files are not double-byte UTF-8 files. I worked on this one with text editors and HEX viewers that used no conversion nor resaved into a double-byte UTF-8 form. I just re-verified that they are normal text files, using ascii 10 line delimiters.

One thing that would be handy is if MS would show a little more detail in the error dialog, even showing the text line where the error occurred. Without that, it is difficult to know what to look for.

In reply to by schepers

As Werner stated below, repairing a file at this level (mismatching tags) should not happen except if there is some memory corruption due to hardware problem.

@schepers do you really need to repair MuseScore files that often? and errors that would require line numbers?

In reply to by [DELETED] 5

No, but I work with XML files from other projects that can benefit from some form of checking. It is my usage of MS, and the rare corruption issues in the XML, that finally got me to find a reasonable, small and free XML checker.

I agree that the OP's problem is likely related to faulty hardware, but he didn't state where the file resided.

In reply to by schepers

First line in mscx file is "<?xml version="1.0" encoding="UTF-8" ?>". That is also a first line of xml file. Maybe they try to fool us but for some reason I beleived them. UTF-8 encoding is very smart thing and every xml parser should be aware of this encoding or any kind of Unicode-based encodings. Some files will have that BOM mark at a beging and from that header you can tell what kind of encoding is but in xml file first line will tell you what kind of encoding is involved. Quote:
"Unicode-based encodings implement the Unicode standard and include UTF-8, UTF-16 and UTF-32/UCS-4. They go beyond 8-bits and support almost every language in the world. UTF-8 is gaining traction as the dominant international encoding of the web"
In short words, to make file as compact as possible (small in size) there is no need to use two bytes for every single character if character can be represent with one byte. To represent characters from many other languages there is a need for two bytes and for such lyrics you will find two bytes per char (this is my understanding of utf-8 encoding).
regards, nino

Do you know that MuseScore creates a backup file when you save?

if you look in the directory where your file is stored you will see a file with the same name and a .mscz, extension.

If you remove the , from the extension by renaming the file you can open that in MuseScore.

May help in the future :)

And WTG Nino :)

Hi Brendan,

i looked at your score and it contains a bad character in the middle. It looks like a random
character at a random place which let me believe that it's not a MuseScore problem but
maybe a hardware (memory) problem. It is probably is a good idea to backup your work
at regular intervals.

Attached is the fixed score.

Attachment Size
Suspense Soundtrack 3.mscx 779.15 KB

In reply to by Marc Sabatella

Yes, it appeared empty when opened in MuseScore, it does contain traces of stuff that might be found in scores though, like the title (Rachmaninov Op. 23, No. 5) and font names (Times New Roman, Arial) and some other strings (solo, tutti), but also all kinds of binary junk, rather than being an XML type text file. I wonder which file types start with the 'magic' "lsdf"?

Do you still have an unanswered question? Please log in first to post your question.