rism-digital / verovio

🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)
https://www.verovio.org
GNU Lesser General Public License v3.0
661 stars 181 forks source link

Crash in vrv::BoundingBox::Is when converting some musicxml files #2427

Closed alastair closed 2 years ago

alastair commented 2 years ago

Describe the problem As part of our work in the Trompa project, I processed a large number of MusicXML files from CPDL, converting them to MEI/SVG with verovio. We found that about 10% of the files caused verovio to crash while performing the conversion. We were able to work around this in most cases by opening and re-saving musicxml using musescore, and then using verovio on the new files.

I noticed that many files failed with the same error:

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a0 in vrv::BoundingBox::Is (this=0x75653634716472, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }

The output of verovio on these files includes:

[Error] MusicXML import: Mismatching measure number 6B

and additionally, musescore also raises an error box on these files when it opens them, saying that they are invalid with similar error messages:

Measure 69, staff 3 incomplete. Expected: 15/4; Found: 0/1

However, pressing the ignore button in musescore does open them, and it's successfully able to re-save the file, preserving most of the content.

To Reproduce

I've included a list at the of the mxl files that crash with this specific error, along with a gdb stacktrace with debugging symbols for each of them (it looks like they're all crashing in the same place)

Steps to reproduce the behavior:

  1. run ./verovio -r ../data/ -o output.svg [inputfile.mxl]

Expected behavior Verovio successfully converts the file, or raises an error and exits cleanly

Input data See links below

Verovio information

Environment information (as appropriate)

Additional context Sample files and stack traces

O sacrum convivium a 4 (Tomás Luis de Victoria) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a0 in vrv::BoundingBox::Is (this=0x75653634716472, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a0 in vrv::BoundingBox::Is (this=0x75653634716472, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a910, layerElement=0x555556610e50, clef=0x555556610660, layer=0x55555660fae0, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a910, staff=0x55555660f7f0, layer=0x55555660fae0, clef=0x555556610660, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a910, measure=0x555556365750, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a910, section=0x55555615ca20) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a910, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a910, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 10467, capacity 10468 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmplkhayol9/Victoria-O_Sacrum_Convivium.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmplkhayol9/Victoria-O_Sacrum_Convivium.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Magnus es tu Domine - Tu pauperum refugium (Josquin des Prez) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0000000500000092 in ?? ()
#0  0x0000000500000092 in ?? ()
#1  0x00005555556612b3 in vrv::BoundingBox::Is (this=0x555556691488, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#2  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x555556691410, clef=0x555556690c90, layer=0x55555668f560, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#3  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x55555668f270, layer=0x55555668f560, clef=0x555556690c90, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#4  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x5555564bbeb0, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#5  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555619a020) at /home/alastair/verovio/src/iomusxml.cpp:203
#6  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#7  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#8  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#9  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 14450, capacity 14451 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#10 0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmpozjj1q94/Josquin_Magnus.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#11 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmpozjj1q94/Josquin_Magnus.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#12 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


O vos omnes (voci impari) (Tomás Luis de Victoria) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x000055555646e1a0 in ?? ()
#0  0x000055555646e1a0 in ?? ()
#1  0x00005555556612b3 in vrv::BoundingBox::Is (this=0x7fffffffa6e8, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#2  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a910, layerElement=0x55555646e3f0, clef=0x55555646edf0, layer=0x55555646e1a0, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#3  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a910, staff=0x55555646ded0, layer=0x55555646e1a0, clef=0x55555646edf0, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#4  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a910, measure=0x5555562d42d0, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#5  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a910, section=0x55555615c9b0) at /home/alastair/verovio/src/iomusxml.cpp:203
#6  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a910, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#7  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a910, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#8  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#9  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 8587, capacity 8588 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#10 0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmpo1n76ybu/Victoria_O-vos-omnes.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#11 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmpo1n76ybu/Victoria_O-vos-omnes.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#12 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Parce mihi (1565) (Orlando di Lasso) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a7 in vrv::BoundingBox::Is (this=0x555556560100, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a7 in vrv::BoundingBox::Is (this=0x555556560100, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x555556565c70, clef=0x555556568320, layer=0x5555565659d0, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x5555565656e0, layer=0x5555565659d0, clef=0x555556568320, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x55555631c400, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555615ca40) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 10171, capacity 10172 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmpo1wqfddo/Lassus-Parce_mihi.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmpo1wqfddo/Lassus-Parce_mihi.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Dissi a l'amata mia lucida stella (Luca Marenzio) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a7 in vrv::BoundingBox::Is (this=0x555556542978, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a7 in vrv::BoundingBox::Is (this=0x555556542978, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x55555653b430, clef=0x55555653ccd0, layer=0x5555565422a0, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x555556539080, layer=0x5555565422a0, clef=0x55555653ccd0, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x555556309940, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555615ca40) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 9426, capacity 9427 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmp32dxq7w7/Marenzio_Dissi.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmp32dxq7w7/Marenzio_Dissi.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Quare tristis es anima mea a 4 (Orlando di Lasso) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a7 in vrv::BoundingBox::Is (this=0x5555564a7ac8, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a7 in vrv::BoundingBox::Is (this=0x5555564a7ac8, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x5555564a7a50, clef=0x5555564a60c0, layer=0x5555564a5e70, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x5555564a5be0, layer=0x5555564a5e70, clef=0x5555564a60c0, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x5555562dd100, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555615ca40) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5f0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5f0, bytes=std::vector of length 9148, capacity 9149 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5f0, filename="/tmp/tmp97aesfhb/OLasso_Quare.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5f0, filename="/tmp/tmp97aesfhb/OLasso_Quare.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe068) at /home/alastair/verovio/tools/main.cpp:454


Jubilate Deo a 4 (Orlando di Lasso) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a0 in vrv::BoundingBox::Is (this=0x100, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a0 in vrv::BoundingBox::Is (this=0x100, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x55555642f3b0, clef=0x55555642fc90, layer=0x55555642f110, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x55555642ee20, layer=0x55555642f110, clef=0x55555642fc90, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x5555562cc410, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555615ca40) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 7958, capacity 7959 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmphc0psfhi/Lasso_Jubilate.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmphc0psfhi/Lasso_Jubilate.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Mia benigna fortuna (Cipriano de Rore) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a0 in vrv::BoundingBox::Is (this=0x3277656671796e, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a0 in vrv::BoundingBox::Is (this=0x3277656671796e, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x555556695fa0, clef=0x555556697390, layer=0x555556695d30, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x555556695a40, layer=0x555556695d30, clef=0x555556697390, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x5555564a4cd0, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555615cbe0) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5f0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5f0, bytes=std::vector of length 13290, capacity 13291 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5f0, filename="/tmp/tmpj7n5_xds/Rore_Mia.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5f0, filename="/tmp/tmpj7n5_xds/Rore_Mia.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe068) at /home/alastair/verovio/tools/main.cpp:454


Audite Nova! (Orlando di Lasso) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a7 in vrv::BoundingBox::Is (this=0x55555652e844, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a7 in vrv::BoundingBox::Is (this=0x55555652e844, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a910, layerElement=0x55555652d2e0, clef=0x55555652e8c0, layer=0x55555652c040, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a910, staff=0x55555652bd50, layer=0x55555652c040, clef=0x55555652e8c0, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a910, measure=0x5555562f31d0, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a910, section=0x55555615c9b0) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a910, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a910, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 10378, capacity 10379 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmpo7mukamu/OLasso_Audite_trans4.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmpo7mukamu/OLasso_Audite_trans4.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Ne timeas Maria (Tomás Luis de Victoria) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x000055555659c330 in ?? ()
#0  0x000055555659c330 in ?? ()
#1  0x00005555556612b3 in vrv::BoundingBox::Is (this=0x55555659cd28, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#2  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a910, layerElement=0x55555659ccb0, clef=0x55555659c4f0, layer=0x55555659af30, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#3  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a910, staff=0x55555659ac40, layer=0x55555659af30, clef=0x55555659c4f0, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#4  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a910, measure=0x555556326a20, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#5  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a910, section=0x55555615c9b0) at /home/alastair/verovio/src/iomusxml.cpp:203
#6  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a910, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#7  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a910, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#8  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#9  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 10289, capacity 10290 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#10 0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmpbeokyl69/Victoria_NeTimeas_orig.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#11 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmpbeokyl69/Victoria_NeTimeas_orig.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#12 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


O quam gloriosum est regnum (Tomás Luis de Victoria) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a7 in vrv::BoundingBox::Is (this=0x55555648f5c0, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a7 in vrv::BoundingBox::Is (this=0x55555648f5c0, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x55555648f8b0, clef=0x55555648f0c0, layer=0x55555648e540, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x55555648e270, layer=0x55555648e540, clef=0x55555648f0c0, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x5555563075d0, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555615ca40) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 9222, capacity 9223 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmpdal2_s3r/Victoria_O-quam.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmpdal2_s3r/Victoria_O-quam.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Parce mihi (1565) (Orlando di Lasso) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
#0  0x0000000000000000 in ?? ()
#1  0x00005555556612b3 in vrv::BoundingBox::Is (this=0x5555565042f8, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#2  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a910, layerElement=0x555556504280, clef=0x5555565022c0, layer=0x555556501740, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#3  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a910, staff=0x5555565014b0, layer=0x555556501740, clef=0x5555565022c0, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#4  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a910, measure=0x55555631a7b0, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#5  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a910, section=0x55555615c9c0) at /home/alastair/verovio/src/iomusxml.cpp:203
#6  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a910, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#7  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a910, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#8  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#9  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 9771, capacity 9772 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#10 0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmptr9ljq4x/Lassus-peccavi_quid_faciem.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#11 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmptr9ljq4x/Lassus-peccavi_quid_faciem.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#12 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Tu solus qui facis mirabilia (Josquin des Prez) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a0 in vrv::BoundingBox::Is (this=0x2d65746f6e, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a0 in vrv::BoundingBox::Is (this=0x2d65746f6e, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x55555681f3e0, clef=0x555556821490, layer=0x55555681f150, scoreOnset=1024, insertAfter=true) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555588013a in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x55555681ee60, layer=0x55555681f150, clef=0x555556821490, scoreOnset=1024) at /home/alastair/verovio/src/iomusxml.cpp:302
#3  0x000055555587fb82 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x55555647c4e0, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:239
#4  0x000055555587f934 in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555615cb50) at /home/alastair/verovio/src/iomusxml.cpp:217
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 11497, capacity 11498 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmp0v53v8qf/Josquin_Tu_solus.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmp0v53v8qf/Josquin_Tu_solus.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Audite Nova! (Orlando di Lasso) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a0 in vrv::BoundingBox::Is (this=0x0, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a0 in vrv::BoundingBox::Is (this=0x0, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a910, layerElement=0x555556541e80, clef=0x555556541e80, layer=0x555556541c30, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a910, staff=0x555556541940, layer=0x555556541c30, clef=0x555556541e80, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a910, measure=0x5555562f4940, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a910, section=0x55555615c9b0) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a910, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a910, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 10326, capacity 10327 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmpu6b120wc/OLasso_Audite_trans1.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmpu6b120wc/OLasso_Audite_trans1.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Princeps marte potens (Orlando di Lasso) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a7 in vrv::BoundingBox::Is (this=0x555556d13a78, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a7 in vrv::BoundingBox::Is (this=0x555556d13a78, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x555556d13a00, clef=0x555556d14910, layer=0x555556d11d00, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x555556d11a10, layer=0x555556d11d00, clef=0x555556d14910, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x5555565996d0, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555615c770) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 27782, capacity 27783 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmpusrsg4tz/Lassus_Princeps.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmpusrsg4tz/Lassus_Princeps.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454


Domine convertere (Orlando di Lasso) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a0 in vrv::BoundingBox::Is (this=0x2d65746f6e, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a0 in vrv::BoundingBox::Is (this=0x2d65746f6e, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x5555564c3d40, clef=0x5555564c5f10, layer=0x5555564c3ab0, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x5555564c37c0, layer=0x5555564c3ab0, clef=0x5555564c5f10, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x5555562eabe0, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555615ca40) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5f0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5f0, bytes=std::vector of length 8233, capacity 8234 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5f0, filename="/tmp/tmp81d2jw08/Lasso_Domine.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5f0, filename="/tmp/tmp81d2jw08/Lasso_Domine.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe068) at /home/alastair/verovio/tools/main.cpp:454


Audite Nova! (Orlando di Lasso) - ChoralWiki

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555556612a0 in vrv::BoundingBox::Is (this=0x0, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
40      bool Is(ClassId classId) const { return (this->GetClassId() == classId); }
#0  0x00005555556612a0 in vrv::BoundingBox::Is (this=0x0, classId=vrv::LAYER) at /home/alastair/verovio/cmake/../include/vrv/boundingbox.h:40
#1  0x0000555555880243 in vrv::MusicXmlInput::InsertClefIntoObject (this=0x55555614a900, layerElement=0x55555672d030, clef=0x555556735260, layer=0x55555672cd80, scoreOnset=0, insertAfter=false) at /home/alastair/verovio/src/iomusxml.cpp:311
#2  0x000055555587ff86 in vrv::MusicXmlInput::InsertClefToLayer (this=0x55555614a900, staff=0x55555672ca90, layer=0x55555672cd80, clef=0x555556735260, scoreOnset=0) at /home/alastair/verovio/src/iomusxml.cpp:288
#3  0x000055555587fb49 in vrv::MusicXmlInput::AddClefs (this=0x55555614a900, measure=0x5555563e2e20, clefChange=...) at /home/alastair/verovio/src/iomusxml.cpp:235
#4  0x000055555587f82b in vrv::MusicXmlInput::ProcessClefChangeQueue (this=0x55555614a900, section=0x55555615ca40) at /home/alastair/verovio/src/iomusxml.cpp:203
#5  0x0000555555886cd3 in vrv::MusicXmlInput::ReadMusicXml (this=0x55555614a900, root=...) at /home/alastair/verovio/src/iomusxml.cpp:1018
#6  0x000055555587f043 in vrv::MusicXmlInput::Import (this=0x55555614a900, musicxml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/iomusxml.cpp:119
#7  0x0000555555a2f028 in vrv::Toolkit::LoadData (this=0x7fffffffd5e0, data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--MusicXML 2.0 file created by CapToMusic.py CapXML to MusicXML converter version 2.4-->\n<!DOCTYPE score-partwise PUBLIC \"-//Recordare//DTD Mus"...) at /home/alastair/verovio/src/toolkit.cpp:658
#8  0x0000555555a2daa5 in vrv::Toolkit::LoadZipData (this=0x7fffffffd5e0, bytes=std::vector of length 10063, capacity 10064 = {...}) at /home/alastair/verovio/src/toolkit.cpp:405
#9  0x0000555555a2d75f in vrv::Toolkit::LoadZipFile (this=0x7fffffffd5e0, filename="/tmp/tmp14i0dj1l/OLasso_Audite.mxl") at /home/alastair/verovio/src/toolkit.cpp:380
#10 0x0000555555a2ce6e in vrv::Toolkit::LoadFile (this=0x7fffffffd5e0, filename="/tmp/tmp14i0dj1l/OLasso_Audite.mxl") at /home/alastair/verovio/src/toolkit.cpp:271
#11 0x000055555562ca4d in main (argc=6, argv=0x7fffffffe058) at /home/alastair/verovio/tools/main.cpp:454

rettinghaus commented 2 years ago

I looked into some files and the problem here is MusicXML's non-controlling attribute on measures. Verovio goes through the parts and tries to arrange the measures in MEI. The problem lies in the mensuralish notation in those pieces: measure boundaries are shifted, some measures are split up in some parts, etc. It comes close to magic trying to make sense out of this kind of encoding and convert it into proper MEI.

This is closely connected to https://github.com/music-encoding/music-encoding/issues/700 and cannot be addressed here without clarification in MEI.

alastair commented 2 years ago

thanks for looking into the cause, @rettinghaus. At the very least, even if there's not yet a decision made on how to represent this in MEI it'd be good to get verovio to output a specific error message and return a known status code instead of crashing in this situation. I'll have another look at a few of these files (CPDL includes a PDF of the rendering) and see how the rendering changes when I open/re-save in musescore. It might be interesting to see what decisions musescore makes in order to turn these into a representation that doesn't cause verovio to crash, and if the layout changes significantly.