[MusicXML import] crash due to incorrectly numbered wedges

• Jun 1, 2022 - 18:26
Reported version
3.5
Type
Functional
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
active
Regression
Yes
Workaround
Yes
Project

Just open the XML file in MuseScore


Comments

Regression No Yes
Workaround No Yes

2,3,2 opens it, this is a) a workaround and b) makes this issue a regression.

3.x shows this debug output, but doesn't give a stack trace nor any clean debug session:
Debug: empty score (...\libmscore\layout.cpp:5029, void Ms::Score::doLayoutRange(const Ms::Fraction&, const Ms::Fraction&))
Debug: Error at line 69 col 18: duplicate tempo at tick 0 (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 10114 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 12137 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 15418 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 15513 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 15583 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 15694 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 15745 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 18868 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 18908 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 18948 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 18988 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 19028 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 19068 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 19108 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 19148 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 19188 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 19228 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 19268 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 19308 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 20418 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 24259 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 24321 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 24388 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 24438 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 24510 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 30723 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 30821 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 30891 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 32525 col 13: Non-started tie terminated. No-op. (...\MuseScore\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 34900 col 13: Non-started tie terminated. No-op. (...\MuseScore\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 35004 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 35090 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 35245 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 35398 col 13: Non-started tie terminated. No-op. (...\MuseScore\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 36735 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 37410 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 37535 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 37699 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 37798 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 40643 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 41778 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 41828 col 13: Tie already active (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 41844 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 41981 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 41981 col 13: Non-started tie terminated. No-op. (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 45587 col 18: spanner already started (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 45587 col 18: spanner already started (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader))
Debug: Error at line 45642 col 18: spanner already stopped (...\importexport\musicxml\importmxmllogger.cpp:49, void Ms::log(Ms::MxmlLogger::Level, const QString&, const QXmlStreamReader*))
pure virtual method called
terminate called without an active exception

Stack trace from 3.6.2 (MacOS):
0 libsystem_kernel.dylib 0x00007fff6a6ecb66 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff6a8b7080 pthread_kill + 333
2 libsystem_c.dylib 0x00007fff6a6481ae abort + 127
3 org.qt-project.QtCore 0x0000000111b30749 qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) + 9
4 org.qt-project.QtCore 0x0000000111b320c0 QMessageLogger::fatal(char const*, ...) const + 224
5 org.qt-project.QtCore 0x0000000111b2d248 qt_assert(char const*, char const*, int) + 72
6 org.musescore.MuseScore 0x00000001088f0d70 Ms::toHairpin(Ms::ScoreElement) + 64
7 org.musescore.MuseScore 0x00000001088efac3 Ms::MusicXMLParserDirection::wedge(QString const&, int, QList&, QList&) + 323
8 org.musescore.MuseScore 0x00000001088eaa00 Ms::MusicXMLParserDirection::directionType(QList&, QList&) + 3488
9 org.musescore.MuseScore 0x00000001088d9a2d Ms::MusicXMLParserDirection::direction(QString const&, Ms::Measure
, Ms::Fraction const&, int, QMap >&) + 573
10 org.musescore.MuseScore 0x00000001088d7464 Ms::MusicXMLParserPass2::measure(QString const&, Ms::Fraction) + 1764

Console output shows:
importmxmllogger.cpp:Ms::log: Error at line 45587 col 18: spanner already started
importmxmllogger.cpp:Ms::log: Error at line 45587 col 18: spanner already started
importmxmllogger.cpp:Ms::log: Error at line 45642 col 18: spanner already stopped
Issue may be caused by an issue with the spanner administration.

Cause found: the MusicXML file contains incorrectly numbered wedges (hairpins in MuseScore speak). In some cases there are two parallel wedges, both numbered "1" (instead of "1" and "2"), in two cases there are three parallel wedges, all numbered "1".

The "three parallel wedges all numbered 1" cases trigger a MuseScore bug leading to corrupt hairpin administration resulting in a crash.

Simple example file attached that reproduces the issue.

Attachment Size
nok4.xml 3.58 KB
Title MuseScore crash during XML import [MusicXML import] crash due to incorrectly numbered wedges

Title updated to describe the actual issue more precisely.