Github version SIGABRT on Linux (Debian Jessie 64-bit)

• Apr 30, 2016 - 22:30

The last few Github versions have been insanely unstable. It randomly (or so it seems) SIGABRTs while playing back a score (maybe at other times, but that is when I have seen it happen). It is not just something that happens once in a while - it happens so often it's unusable. Can't even play past the first couple of bars of the score (any score - not just one specific one).

  • Linux dell 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1 (2016-03-06) x86_64 GNU/Linux
  • Qt 5.6.0
  • g++ (Debian 4.9.2-10) 4.9.2
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") 
-- checking for module 'libpulse'
--   found libpulse, version 5.0
-- Found pulseaudio. LIB /usr/lib/x86_64-linux-gnu/libpulse.so, INCLUDE , LIBDIR , LDFLAGS , CFLAGS 
ALSA >= 1.0.0 found. ALSA support enabled. INCDIR /usr/include, LIBDIR /usr/lib/x86_64-linux-gnu, LIB -lasound, CPP -I/usr/include/alsa
Pulseaudio found. Pulseaudio support enabled.
-- Found lame: /usr/lib/x86_64-linux-gnu/libmp3lame.so
LAME found.
-- jack (jack audio connection kit) >= 0.98.0 found. jack support enabled.
-- Portaudio found. Portaudio support enabled. INCDIR /usr/include, LIBDIR /usr/lib/x86_64-linux-gnu, LIB -lportaudio -lasound -lm -lpthread
-- Found gzip. Man pages will be compressed.
-- Found ln. Symlink aliases will be created for MuseScore executable and the man pages.
-- precompiled header generation
-- Creating directory /home/matt/git/MuseScore/build.debug/include/freetype/config
-- Creating file /home/matt/git/MuseScore/build.debug/include/freetype/config/ftconfig.h
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Creating file /home/matt/git/MuseScore/build.debug/include/freetype/config/ftoption.h
-- Configuring done
-- Generating done
unknown:unknown: ASSERT failure in QList::operator[]: "index out of range", file /opt/Qt/5.6.0/5.6/gcc_64/include/QtCore/qlist.h, line 539

Program received signal SIGABRT, Aborted.
0x00007fffec1ef067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007fffec1ef067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007fffec1f0448 in __GI_abort () at abort.c:89
#2  0x00007ffff6bbc5fe in QMessageLogger::fatal(char const*, ...) const () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff6bb7d51 in qt_assert_x(char const*, char const*, char const*, int) () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x0000000000bfa0f9 in QList::operator[] (this=0x5077b78, i=-1) at /opt/Qt/5.6.0/5.6/gcc_64/include/QtCore/qlist.h:539
#5  0x0000000000bf5b17 in Ms::MasterScore::midiMapping (this=0x50775d0, channel=-1) at /home/matt/git/MuseScore/libmscore/score.h:1178
#6  0x00000000011b3796 in Ms::Channel::write (this=0x5950b80, xml=..., part=0x594ff60) at /home/matt/git/MuseScore/libmscore/instrument.cpp:474
#7  0x00000000011b1e5c in Ms::Instrument::write (this=0x5950590, xml=..., part=0x594ff60) at /home/matt/git/MuseScore/libmscore/instrument.cpp:247
#8  0x0000000001211e5e in Ms::Part::write (this=0x594ff60, xml=...) at /home/matt/git/MuseScore/libmscore/part.cpp:114
#9  0x000000000133e38c in Ms::Score::write (this=0x594aaa0, xml=..., selectionOnly=false) at /home/matt/git/MuseScore/libmscore/scorefile.cpp:216
#10 0x000000000133e662 in Ms::Score::write (this=0x50775d0, xml=..., selectionOnly=false) at /home/matt/git/MuseScore/libmscore/scorefile.cpp:238
#11 0x00000000013419f3 in Ms::Score::saveFile (this=0x50775d0, f=0x7fffffffb8f0, msczFormat=true, onlySelection=false) at /home/matt/git/MuseScore/libmscore/scorefile.cpp:679
#12 0x0000000001340aef in Ms::Score::saveCompressedFile (this=0x50775d0, f=0x7fffffffbb20, info=..., onlySelection=false) at /home/matt/git/MuseScore/libmscore/scorefile.cpp:580
#13 0x0000000000bb8111 in Ms::MuseScore::autoSaveTimerTimeout (this=0x3533910) at /home/matt/git/MuseScore/mscore/musescore.cpp:3401
#14 0x0000000000fe66d9 in Ms::MuseScore::qt_static_metacall (_o=0x3533910, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffffbd10)
    at /home/matt/git/MuseScore/build.debug/mscore/moc_musescore.cpp:780
#15 0x00007ffff6dbecef in QMetaObject::activate(QObject*, int, int, void**) () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#16 0x00007ffff6dcc068 in QTimer::timerEvent(QTimerEvent*) () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#17 0x00007ffff6dc028b in QObject::event(QEvent*) () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#18 0x00007ffff34d404c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Widgets.so.5
#19 0x00007ffff34d8488 in QApplication::notify(QObject*, QEvent*) () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Widgets.so.5
#20 0x00007ffff6d95e80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#21 0x00007ffff6de433e in QTimerInfoList::activateTimers() () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#22 0x00007ffff6de4841 in ?? () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#23 0x00007fffe95d7c5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007fffe95d7f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007fffe95d7ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007ffff6de54e7 in QEventDispatcherGlib::processEvents(QFlags) () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#27 0x00007ffff6d93efa in QEventLoop::exec(QFlags) () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#28 0x00007ffff6d9bd9d in QCoreApplication::exec() () from /opt/Qt/5.6.0/5.6/gcc_64/lib/libQt5Core.so.5
#29 0x0000000000bc4a72 in main (argc=1, av=0x7fffffffdd98) at /home/matt/git/MuseScore/mscore/musescore.cpp:5256

Comments

Yes, the master is known to be in a state of transition right now - it's not meant for real work but only for testing. So it's not to be expected that it be "usable". If you would like to help test, by all means, please do, and definitely report problems you find. But please use the issue tracker (or Help / Report a Bug from within MuseScore) and include the specific score that is triggering the problem and precise steps to reproduce the problem.

In reply to by Marc Sabatella

I have my "live" installation (MS2) which is from github but thoroughly tested for stability (I like bleeding edge). I never replace it until I am happy the current version is stable enough.

My Github tree is constantly being updated and tested, and this really is the only thing stopping me from moving it to my live system.

My work isn't critical enough to worry too much, but constant crashing is somewhat annoying. I can live with glitches and hiccups but not outright constant crashing. I expect master to be a little unstable and have strangeness about it at times. But I also expect master to give me the most perfect score playback of any version. That far outweighs any slight stability and interface glitches :)

In reply to by majenko

Well, as I said, while the master might have pretty stable for the past year or so, it is definitely going through major transitions right now. You should *not* be attempting to use it for real work. In addition to the crashes and other bugs, scores created with this version will not open in released versions, and may not open in future builds either.

Best plaback will be from the current released version, not from master the new things added to master are about layout, not playback, but indeed man things are currently broken during this transition period.

In reply to by Marc Sabatella

I shall bear that in mind. I shall continue keeping an eye on it and trying out the current version, and when it settles down again I will look at maybe switching to 3.0. There's nothing quite like having someone actively using master for finding bugs.

BTW: I am a developer myself, and know just how unstable master can get - I have been guilty sometimes of making some horrible messes in there ;) That's why I always give it a good thorough testing before considering using it live. I just wish I had the time to learn Qt and the structure of MuseScore's innards so I could contribute, but most of my PC work these days (GUI-wise) is unfortunately limited to Java. Most of my programming is in C++ in embedded systems though, so of a very very different style to MuseScore's code...

I believe this is due to loading a score created in MS2 into MS3. MS3 has a different location for its configuration, and hence there is a mismatch between the SoundFont list between the two versions. When an MS2 score tries to auto-save with instrument mapping that don't exist in MS3 (due to different SoundFonts loaded) it crashes.

If I make the first operation I perform when opening an MS2 score going into the mixer and selecting all new correct instruments and immediately saving the score again it doesn't crash.

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