Crash on load of MusicXML file with pedal change but no start

• Nov 24, 2014 - 13:17
Type
Functional
Severity
S2 - Critical
Status
closed
Project

Hello everyone,

I was importing one of my pieces from finale into the beta 1 and the last nightly (6df0cd7) and got the same result. Now the even Dolet 6 xml export plugin in finale has a lot of weirdness that needs to be corrected on import. Though I'm not sure where it crashes. I ran the nightly build in in debug mode and got this

importMusicXml(0x7ff6e9be6000, /Users/herecomethej/Desktop/April_Aubade.xml)
Validation time elapsed: 2130 ms
importMusicXml() file '/Users/herecomethej/Desktop/April_Aubade.xml' is a valid MusicXML file
MxmlReaderFirstPass::MxmlReaderFirstPass()
MxmlReaderFirstPass::parseFile() begin
part list
part 1 id 'P1'
part 2 id 'P2'
Parsing time elapsed: 27 ms
MxmlReaderFirstPass::parseFile() end
system distance 12.100000
defaults:score-partwise:: Node not implemented: , type 1
defaults:score-partwise:: Node not implemented: , type 1
defaults:score-partwise:: Node not implemented: , type 1
defaults:score-partwise:: Node not implemented: , type 1
MusicXml::xmlScorePart: instruments part P1
MusicXml::xmlScorePart: instrument id P1-I1 name Choir
MusicXml::xmlScorePart: instruments part P2
MusicXml::xmlScorePart: instrument id P2-I2 name Piano
MusicXml::doCredits()
page format set (inch) w=8.49891 h=10.9973 tm=0.626385 spatium=5.12497 DPMM=2.83465 DPI=72
page format set (tenths) w=1194 h=1545 tm=88 tov=1457
page format (xml, tenths) w=1194 h=1545
page format pw1=398 pw2=796 ph2=772
credit-words defx=632 defy=1458 just=center hal= val=top words='April Aubade'
credit-words defx=1124 defy=1387 just=right hal= val=top words='Joshua Pettus'
credit-words defx=632 defy=70 just=center hal= val=bottom words='©Pettus, 2010'
credit-words defx=929 defy=1354 just= hal= val=top words='Poem by Sylvia Plath'
header 3 footer 1 useHeader 1 useFooter 0
miny=1354 maxy=1458
vbox height 12.9 sp
add to copyright: '©Pettus, 2010'
creditMap 1458 credit-words defx=632 defy=1458 just=center hal= val=top words=April Aubade
title='April Aubade'
ImportXml: warning: break on first measure
key:attributes:measure:part:score-partwise:: Node not implemented: , type 1
line:245 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:521 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:527 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:602 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:891 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:947 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:1074 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:1266 col:18 key:attributes:measure:part:score-partwise:: Unknown Node , type 1
key:attributes:measure:part:score-partwise:: Node not implemented: , type 1
line:1472 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:1989 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:2229 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:2357 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:2371 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:2381 col:18 key:attributes:measure:part:score-partwise:: Unknown Node , type 1
key:attributes:measure:part:score-partwise:: Node not implemented: , type 1
line:2673 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:3136 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:3175 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:3235 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:3295 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
line:3323 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
ImportXml: warning: break on first measure
key:attributes:measure:part:score-partwise:: Node not implemented: , type 1
line:3934 col:16 direction:measure:part:score-partwise:: Unknown Node , type 1
Segmentation fault: 11

Hope this helps
Regards,
Josh

Attachment Size
April_Aubade.xml 439.94 KB

Comments

Problem seems to be a pedal change element with previous pedal start. The code to handle pedal change is assuming there is a current pedal m,arking but there isn't. We could fix the crash by ignoring pedal changes without a pedal start, or by treating them as starts (skipping the part of the code that first stops the previous pedal). FWIW, it appears there are no pedal starts or stops anywhere in this file - only pedal changes. Not sure if that's really valid?

Ah I see, I used some custom smartshapes for pedal brackets in the score, I guess musescore doesn't like them. Anyway to make it so rather then crash, it just skips the problem symbol?

Getting elements to line up can be a real pain in Finale, so I made some custom shapes that can overlap at sections so it's easier to make them neat. Those don't need to be imported. But it shouldn't crash. :) Or at least throw up an error why it won't work. It was such a long time ago, I had completely forgot I had done it that way.

Oh, I don't know what really makes sense; I don't understand enough about how pedal symbols are *supposed* to work in MusicXML.. I was just trying to do a little "triage" for Leon or whomever eventually will fix this, and also maybe see if that helped you see what might have triggered it. Custom smartshapes for pedal - yeah, I guess that's what did it. But I don't know if the way Finale exported them is valid or not, nor do I know what result you'd actually want here. What special qualities did you need these pedal markings to have that caused you to use custom shapes rather than Finale's regular ones? Can you post your original Finale file, and/or a PDF of it?

Simply doing the really quick fix I mentioned above - treating pedal change without start as if it were a start - allows the file to import, but the pedal lines are a bit of a mess. Not sure if that's because there are no stops as well, and of course, I don't knwo what they are *supposed* to look like. Maybe it's something so unique and special that we are better off just skipping them. Not really my area; just trying to do up up-front investigation.

Ah, It's been a few years since I tried to do that in finale. Apparently there isn't a default shape, for this. The only way to do it in brackets is custom shape.

http://www.finalemusic.com/usermanuals/finale2012mac/content/finale/Ped…

I bet xml wants:
\______________/

I made it /\___________/\ so I could overlap them, and make them look neat as finale doesn't really snap its objects anywhere.

So yah, probably better off skipping such custom objects as I bet xml has no idea how to handle it. Might be a good general rule of thumb to skip around anything it doesn't understand.

Cause confirmed, MusicXML importer did not check for a started pedal when it encountered a pedal change or stop. Will fix this shortly.