[MusicXML import] Crash on XML Import caused by duplicate clef definition in multi-part file with late time signature Leon Vinken • Dec 30, 2017 - 09:59 Reported version 2.1 Type Functional Severity S2 - Critical Status closed Project MuseScore Tags musicxml See https://musescore.org/en/node/268008. Reply Comments [DELETED] 5 • Dec 30, 2017 - 10:18 Tags View Changes Reply Leon Vinken • Dec 30, 2017 - 15:27 Relevant part of console logging: /Users/lvi/dev/MuseScore/libmscore/sig.cpp:Ms::TimeSigMap::tickValues: tickValue(0x0) not found Abort trap: 6 Relevant part of stack trace: 3 org.qt-project.QtCore 0x000000010a86c8c9 qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) + 9 4 org.qt-project.QtCore 0x000000010a86e297 QMessageLogger::fatal(char const*, ...) const + 231 5 org.musescore.MuseScore 0x000000010264acd4 Ms::TimeSigMap::tickValues(int, int*, int*, int) const + 980 (sig.cpp:289) 6 org.musescore.MuseScore 0x000000010264b1d0 Ms::TimeSigMap::pos(int) const + 64 (sig.cpp:318) 7 org.musescore.MuseScore 0x0000000102627608 Ms::Segment::checkElement(Ms::Element, int) + 232 (segment.cpp:425) 8 org.musescore.MuseScore 0x0000000102620f15 Ms::Segment::add(Ms::Element) + 2149 (segment.cpp:488) 9 org.musescore.MuseScore 0x0000000101dcbf32 Ms::MusicXMLParserPass2::clef(QString const&, Ms::Measure, int) + 4002 (importmxmlpass2.cpp:3768) 10 org.musescore.MuseScore 0x0000000101dc036d Ms::MusicXMLParserPass2::attributes(QString const&, Ms::Measure*, int) + 365 (importmxmlpass2.cpp:2229) 11 org.musescore.MuseScore 0x0000000101dbdc7a Ms::MusicXMLParserPass2::measure(QString const&, Ms::Fraction) + 1482 (importmxmlpass2.cpp:2090) 12 org.musescore.MuseScore 0x0000000101dbc288 Ms::MusicXMLParserPass2::part() + 2152 (importmxmlpass2.cpp:1780) Reply Leon Vinken • Dec 31, 2017 - 09:58 Title [MusicXML import] Crash on XML Import ⇒ [MusicXML import] Crash on XML Import caused by duplicate clef definition in multi-part file with late time signature Cause found (title says it all). Simple test file attached. Attachment Size two_parts_late_timesig_double_clef.xml 3.73 KB Reply Leon Vinken • Feb 24, 2018 - 10:04 Stack trace for current master: 0 libsystem_kernel.dylib 0x00007fff919f3f06 __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff88ceb4ec pthread_kill + 90 2 libsystem_c.dylib 0x00007fff855fd6df abort + 129 3 org.qt-project.QtCore 0x0000000111a428c9 qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) + 9 4 org.qt-project.QtCore 0x0000000111a44297 QMessageLogger::fatal(char const*, ...) const + 231 5 org.musescore.MuseScore 0x00000001097f0a04 Ms::TimeSigMap::tickValues(int, int*, int*, int) const + 980 (sig.cpp:289) 6 org.musescore.MuseScore 0x00000001097f0f00 Ms::TimeSigMap::pos(int) const + 64 (sig.cpp:318) 7 org.musescore.MuseScore 0x00000001097cc5d8 Ms::Segment::checkElement(Ms::Element, int) + 232 (segment.cpp:425) 8 org.musescore.MuseScore 0x00000001097c5ee5 Ms::Segment::add(Ms::Element) + 2149 (segment.cpp:489) 9 org.musescore.MuseScore 0x0000000108f480a2 Ms::MusicXMLParserPass2::clef(QString const&, Ms::Measure, int) + 4002 (importmxmlpass2.cpp:3659) 10 org.musescore.MuseScore 0x0000000108f3cd3d Ms::MusicXMLParserPass2::attributes(QString const&, Ms::Measure*, int) + 365 (importmxmlpass2.cpp:2171) 11 org.musescore.MuseScore 0x0000000108f3a64a Ms::MusicXMLParserPass2::measure(QString const&, Ms::Fraction) + 1482 (importmxmlpass2.cpp:2032) 12 org.musescore.MuseScore 0x0000000108f38c58 Ms::MusicXMLParserPass2::part() + 2152 (importmxmlpass2.cpp:1722) 13 org.musescore.MuseScore 0x0000000108f382d3 Ms::MusicXMLParserPass2::scorePartwise() + 307 (importmxmlpass2.cpp:1613) 14 org.musescore.MuseScore 0x0000000108f38083 Ms::MusicXMLParserPass2::parse() + 131 (importmxmlpass2.cpp:1582) 15 org.musescore.MuseScore 0x0000000108f37fe8 Ms::MusicXMLParserPass2::parse(QIODevice) + 56 (importmxmlpass2.cpp:1562) 16 org.musescore.MuseScore 0x0000000108f0a57a Ms::importMusicXMLfromBuffer(Ms::Score, QString const&, QIODevice) + 314 (importmxml.cpp:55) 17 org.musescore.MuseScore 0x0000000108faac3f Ms::doValidateAndImport(Ms::Score, QString const&, QIODevice) + 79 (importxml.cpp:235) 18 org.musescore.MuseScore 0x0000000108faaba8 Ms::importMusicXml(Ms::MasterScore, QString const&) + 568 (importxml.cpp:263) 19 org.musescore.MuseScore 0x0000000108cca94e Ms::readScore(Ms::MasterScore*, QString, bool) + 2078 (file.cpp:2188) 20 org.musescore.MuseScore 0x0000000108cc9e05 Ms::MuseScore::readScore(QString const&) + 181 (file.cpp:329) 21 org.musescore.MuseScore 0x000000010915c258 Ms::loadScores(QStringList const&) + 2328 (musescore.cpp:2604) 22 org.musescore.MuseScore 0x000000010915a1bb main + 51163 (musescore.cpp:6359) 23 org.musescore.MuseScore 0x0000000108a4c4e4 start + 52 Reply Leon Vinken • Feb 26, 2018 - 07:13 Status (old) active ⇒ patch (ready to commit) Status active ⇒ PR created Pull request #3495 Reply Git Message • Feb 26, 2018 - 08:05 Status (old) patch (ready to commit) ⇒ fixed Status PR created ⇒ fixed Fixed in branch master, commit 03f1388627 fix #268009 - Crash on MusicXML Import caused by duplicate clef definition ... Reply Git Message • Feb 26, 2018 - 08:34 Fixed in branch 2.2, commit fdc3b613e8 fix #268009 - Crash on MusicXML Import caused by duplicate clef definition ... Reply System Message • Mar 12, 2018 - 09:00 Status (old) fixed ⇒ closed Status fixed ⇒ closed Automatically closed -- issue fixed for 2 weeks with no activity. Reply
Leon Vinken • Dec 30, 2017 - 15:27 Relevant part of console logging: /Users/lvi/dev/MuseScore/libmscore/sig.cpp:Ms::TimeSigMap::tickValues: tickValue(0x0) not found Abort trap: 6 Relevant part of stack trace: 3 org.qt-project.QtCore 0x000000010a86c8c9 qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) + 9 4 org.qt-project.QtCore 0x000000010a86e297 QMessageLogger::fatal(char const*, ...) const + 231 5 org.musescore.MuseScore 0x000000010264acd4 Ms::TimeSigMap::tickValues(int, int*, int*, int) const + 980 (sig.cpp:289) 6 org.musescore.MuseScore 0x000000010264b1d0 Ms::TimeSigMap::pos(int) const + 64 (sig.cpp:318) 7 org.musescore.MuseScore 0x0000000102627608 Ms::Segment::checkElement(Ms::Element, int) + 232 (segment.cpp:425) 8 org.musescore.MuseScore 0x0000000102620f15 Ms::Segment::add(Ms::Element) + 2149 (segment.cpp:488) 9 org.musescore.MuseScore 0x0000000101dcbf32 Ms::MusicXMLParserPass2::clef(QString const&, Ms::Measure, int) + 4002 (importmxmlpass2.cpp:3768) 10 org.musescore.MuseScore 0x0000000101dc036d Ms::MusicXMLParserPass2::attributes(QString const&, Ms::Measure*, int) + 365 (importmxmlpass2.cpp:2229) 11 org.musescore.MuseScore 0x0000000101dbdc7a Ms::MusicXMLParserPass2::measure(QString const&, Ms::Fraction) + 1482 (importmxmlpass2.cpp:2090) 12 org.musescore.MuseScore 0x0000000101dbc288 Ms::MusicXMLParserPass2::part() + 2152 (importmxmlpass2.cpp:1780) Reply
Leon Vinken • Dec 31, 2017 - 09:58 Title [MusicXML import] Crash on XML Import ⇒ [MusicXML import] Crash on XML Import caused by duplicate clef definition in multi-part file with late time signature Cause found (title says it all). Simple test file attached. Attachment Size two_parts_late_timesig_double_clef.xml 3.73 KB Reply
Leon Vinken • Feb 24, 2018 - 10:04 Stack trace for current master: 0 libsystem_kernel.dylib 0x00007fff919f3f06 __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff88ceb4ec pthread_kill + 90 2 libsystem_c.dylib 0x00007fff855fd6df abort + 129 3 org.qt-project.QtCore 0x0000000111a428c9 qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) + 9 4 org.qt-project.QtCore 0x0000000111a44297 QMessageLogger::fatal(char const*, ...) const + 231 5 org.musescore.MuseScore 0x00000001097f0a04 Ms::TimeSigMap::tickValues(int, int*, int*, int) const + 980 (sig.cpp:289) 6 org.musescore.MuseScore 0x00000001097f0f00 Ms::TimeSigMap::pos(int) const + 64 (sig.cpp:318) 7 org.musescore.MuseScore 0x00000001097cc5d8 Ms::Segment::checkElement(Ms::Element, int) + 232 (segment.cpp:425) 8 org.musescore.MuseScore 0x00000001097c5ee5 Ms::Segment::add(Ms::Element) + 2149 (segment.cpp:489) 9 org.musescore.MuseScore 0x0000000108f480a2 Ms::MusicXMLParserPass2::clef(QString const&, Ms::Measure, int) + 4002 (importmxmlpass2.cpp:3659) 10 org.musescore.MuseScore 0x0000000108f3cd3d Ms::MusicXMLParserPass2::attributes(QString const&, Ms::Measure*, int) + 365 (importmxmlpass2.cpp:2171) 11 org.musescore.MuseScore 0x0000000108f3a64a Ms::MusicXMLParserPass2::measure(QString const&, Ms::Fraction) + 1482 (importmxmlpass2.cpp:2032) 12 org.musescore.MuseScore 0x0000000108f38c58 Ms::MusicXMLParserPass2::part() + 2152 (importmxmlpass2.cpp:1722) 13 org.musescore.MuseScore 0x0000000108f382d3 Ms::MusicXMLParserPass2::scorePartwise() + 307 (importmxmlpass2.cpp:1613) 14 org.musescore.MuseScore 0x0000000108f38083 Ms::MusicXMLParserPass2::parse() + 131 (importmxmlpass2.cpp:1582) 15 org.musescore.MuseScore 0x0000000108f37fe8 Ms::MusicXMLParserPass2::parse(QIODevice) + 56 (importmxmlpass2.cpp:1562) 16 org.musescore.MuseScore 0x0000000108f0a57a Ms::importMusicXMLfromBuffer(Ms::Score, QString const&, QIODevice) + 314 (importmxml.cpp:55) 17 org.musescore.MuseScore 0x0000000108faac3f Ms::doValidateAndImport(Ms::Score, QString const&, QIODevice) + 79 (importxml.cpp:235) 18 org.musescore.MuseScore 0x0000000108faaba8 Ms::importMusicXml(Ms::MasterScore, QString const&) + 568 (importxml.cpp:263) 19 org.musescore.MuseScore 0x0000000108cca94e Ms::readScore(Ms::MasterScore*, QString, bool) + 2078 (file.cpp:2188) 20 org.musescore.MuseScore 0x0000000108cc9e05 Ms::MuseScore::readScore(QString const&) + 181 (file.cpp:329) 21 org.musescore.MuseScore 0x000000010915c258 Ms::loadScores(QStringList const&) + 2328 (musescore.cpp:2604) 22 org.musescore.MuseScore 0x000000010915a1bb main + 51163 (musescore.cpp:6359) 23 org.musescore.MuseScore 0x0000000108a4c4e4 start + 52 Reply
Leon Vinken • Feb 26, 2018 - 07:13 Status (old) active ⇒ patch (ready to commit) Status active ⇒ PR created Pull request #3495 Reply
Git Message • Feb 26, 2018 - 08:05 Status (old) patch (ready to commit) ⇒ fixed Status PR created ⇒ fixed Fixed in branch master, commit 03f1388627 fix #268009 - Crash on MusicXML Import caused by duplicate clef definition ... Reply
Git Message • Feb 26, 2018 - 08:34 Fixed in branch 2.2, commit fdc3b613e8 fix #268009 - Crash on MusicXML Import caused by duplicate clef definition ... Reply
System Message • Mar 12, 2018 - 09:00 Status (old) fixed ⇒ closed Status fixed ⇒ closed Automatically closed -- issue fixed for 2 weeks with no activity. Reply
Comments
Relevant part of console logging:
/Users/lvi/dev/MuseScore/libmscore/sig.cpp:Ms::TimeSigMap::tickValues: tickValue(0x0) not found
Abort trap: 6
Relevant part of stack trace:
3 org.qt-project.QtCore 0x000000010a86c8c9 qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) + 9
4 org.qt-project.QtCore 0x000000010a86e297 QMessageLogger::fatal(char const*, ...) const + 231
5 org.musescore.MuseScore 0x000000010264acd4 Ms::TimeSigMap::tickValues(int, int*, int*, int) const + 980 (sig.cpp:289)
6 org.musescore.MuseScore 0x000000010264b1d0 Ms::TimeSigMap::pos(int) const + 64 (sig.cpp:318)
7 org.musescore.MuseScore 0x0000000102627608 Ms::Segment::checkElement(Ms::Element, int) + 232 (segment.cpp:425)
8 org.musescore.MuseScore 0x0000000102620f15 Ms::Segment::add(Ms::Element) + 2149 (segment.cpp:488)
9 org.musescore.MuseScore 0x0000000101dcbf32 Ms::MusicXMLParserPass2::clef(QString const&, Ms::Measure, int) + 4002 (importmxmlpass2.cpp:3768)
10 org.musescore.MuseScore 0x0000000101dc036d Ms::MusicXMLParserPass2::attributes(QString const&, Ms::Measure*, int) + 365 (importmxmlpass2.cpp:2229)
11 org.musescore.MuseScore 0x0000000101dbdc7a Ms::MusicXMLParserPass2::measure(QString const&, Ms::Fraction) + 1482 (importmxmlpass2.cpp:2090)
12 org.musescore.MuseScore 0x0000000101dbc288 Ms::MusicXMLParserPass2::part() + 2152 (importmxmlpass2.cpp:1780)
Cause found (title says it all). Simple test file attached.
Stack trace for current master:
0 libsystem_kernel.dylib 0x00007fff919f3f06 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff88ceb4ec pthread_kill + 90
2 libsystem_c.dylib 0x00007fff855fd6df abort + 129
3 org.qt-project.QtCore 0x0000000111a428c9 qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) + 9
4 org.qt-project.QtCore 0x0000000111a44297 QMessageLogger::fatal(char const*, ...) const + 231
5 org.musescore.MuseScore 0x00000001097f0a04 Ms::TimeSigMap::tickValues(int, int*, int*, int) const + 980 (sig.cpp:289)
6 org.musescore.MuseScore 0x00000001097f0f00 Ms::TimeSigMap::pos(int) const + 64 (sig.cpp:318)
7 org.musescore.MuseScore 0x00000001097cc5d8 Ms::Segment::checkElement(Ms::Element, int) + 232 (segment.cpp:425)
8 org.musescore.MuseScore 0x00000001097c5ee5 Ms::Segment::add(Ms::Element) + 2149 (segment.cpp:489)
9 org.musescore.MuseScore 0x0000000108f480a2 Ms::MusicXMLParserPass2::clef(QString const&, Ms::Measure, int) + 4002 (importmxmlpass2.cpp:3659)
10 org.musescore.MuseScore 0x0000000108f3cd3d Ms::MusicXMLParserPass2::attributes(QString const&, Ms::Measure*, int) + 365 (importmxmlpass2.cpp:2171)
11 org.musescore.MuseScore 0x0000000108f3a64a Ms::MusicXMLParserPass2::measure(QString const&, Ms::Fraction) + 1482 (importmxmlpass2.cpp:2032)
12 org.musescore.MuseScore 0x0000000108f38c58 Ms::MusicXMLParserPass2::part() + 2152 (importmxmlpass2.cpp:1722)
13 org.musescore.MuseScore 0x0000000108f382d3 Ms::MusicXMLParserPass2::scorePartwise() + 307 (importmxmlpass2.cpp:1613)
14 org.musescore.MuseScore 0x0000000108f38083 Ms::MusicXMLParserPass2::parse() + 131 (importmxmlpass2.cpp:1582)
15 org.musescore.MuseScore 0x0000000108f37fe8 Ms::MusicXMLParserPass2::parse(QIODevice) + 56 (importmxmlpass2.cpp:1562)
16 org.musescore.MuseScore 0x0000000108f0a57a Ms::importMusicXMLfromBuffer(Ms::Score, QString const&, QIODevice) + 314 (importmxml.cpp:55)
17 org.musescore.MuseScore 0x0000000108faac3f Ms::doValidateAndImport(Ms::Score, QString const&, QIODevice) + 79 (importxml.cpp:235)
18 org.musescore.MuseScore 0x0000000108faaba8 Ms::importMusicXml(Ms::MasterScore, QString const&) + 568 (importxml.cpp:263)
19 org.musescore.MuseScore 0x0000000108cca94e Ms::readScore(Ms::MasterScore*, QString, bool) + 2078 (file.cpp:2188)
20 org.musescore.MuseScore 0x0000000108cc9e05 Ms::MuseScore::readScore(QString const&) + 181 (file.cpp:329)
21 org.musescore.MuseScore 0x000000010915c258 Ms::loadScores(QStringList const&) + 2328 (musescore.cpp:2604)
22 org.musescore.MuseScore 0x000000010915a1bb main + 51163 (musescore.cpp:6359)
23 org.musescore.MuseScore 0x0000000108a4c4e4 start + 52
Pull request #3495
Fixed in branch master, commit 03f1388627
fix #268009 - Crash on MusicXML Import caused by duplicate clef definition ...
Fixed in branch 2.2, commit fdc3b613e8
fix #268009 - Crash on MusicXML Import caused by duplicate clef definition ...
Automatically closed -- issue fixed for 2 weeks with no activity.