Bug 242912 - KMid crashes on startup (due to problems with ALSA)
Summary: KMid crashes on startup (due to problems with ALSA)
Status: RESOLVED FIXED
Alias: None
Product: kmid
Classification: Miscellaneous
Component: general (show other bugs)
Version: 2.3.1
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Unknown
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-26 23:49 UTC by Alexander Potashev
Modified: 2010-06-27 19:24 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Potashev 2010-06-26 23:49:38 UTC
Application: kmid (2.3.1)
KDE Platform Version: 4.4.4 (KDE 4.4.4) (Compiled from sources)
Qt Version: 4.6.3
Operating System: Linux 2.6.32.13 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
Terminal output:

kmid(3957)/kio (bookmarks) KBookmarkManager::KBookmarkManager: starting KDirWatch for  "/home/*****/.local/share//user-places.xbel"
kmid(3957)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from  "/var/tmp/kdecache-*****/ksycoca4"
kmid(3957)/kio (KDirListerCache) KDirListerCache::listDir: Listing directory: KUrl("trash:/")
kmid(3957)/kio (KDirListerCache) KDirListerCache::forgetDirs: Killing update job for  "trash:/"
kmid(3957)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(3957)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(3957)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(3957)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: Нет такого файла или каталога
Error code: -2 ( ÐÐµÑ Ñакого Ñайла или каÑалога ) 
Location: void drumstick::MidiClient::open(QString, int, bool) 
terminate called after throwing an instance of 'drumstick::SequencerError'
KCrash: Application 'kmid' crashing...
sock_file=/home/*****/.kde4.4/socket-myhost/kdeinit4__0
[1]   Exit 253                kmid

[2]+  Stopped                 kmid


The crash can be reproduced every time.

 -- Backtrace:
Application: KMid (kmid), signal: Aborted
[KCrash Handler]
#5  0x00007ff96dd9dc45 in raise () from /lib/libc.so.6
#6  0x00007ff96dd9f070 in abort () from /lib/libc.so.6
#7  0x00007ff96e61ed6d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/libstdc++.so.6
#8  0x00007ff96e61d206 in ?? () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/libstdc++.so.6
#9  0x00007ff96e61d233 in std::terminate() () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/libstdc++.so.6
#10 0x00007ff96e61d31e in __cxa_throw () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/libstdc++.so.6
#11 0x00007ff96282b3a3 in drumstick::checkErrorAndThrow(int, char const*) () from /usr/lib64/libdrumstick-alsa.so.0
#12 0x00007ff962829a03 in drumstick::MidiClient::open(QString, int, bool) () from /usr/lib64/libdrumstick-alsa.so.0
#13 0x00007ff962c7b7be in KMid::ALSAMIDIOutput::ALSAMIDIOutput(QObject*) () from /usr/lib64/kde4/kmid_alsa.so
#14 0x00007ff962c71367 in KMid::ALSABackend::ALSABackend(QObject*, QList<QVariant> const&) () from /usr/lib64/kde4/kmid_alsa.so
#15 0x00007ff962c72b97 in QObject* KPluginFactory::createInstance<KMid::ALSABackend, QObject>(QWidget*, QObject*, QList<QVariant> const&) () from /usr/lib64/kde4/kmid_alsa.so
#16 0x00007ff96f372503 in KPluginFactory::create(char const*, QWidget*, QObject*, QList<QVariant> const&, QString const&) () from /usr/kde/4.4/lib64/libkdecore.so.5
#17 0x00000000004180ac in KMid::BackendLoader::loadAllBackends() ()
#18 0x000000000042f522 in KMid2::initialize() ()
#19 0x000000000042fc3e in KMid2::KMid2() ()
#20 0x0000000000433a63 in main ()

Reported using DrKonqi
Comment 1 Unknown 2010-06-27 19:19:35 UTC
To fix the underlying problem with ALSA, you need to load the ALSA sequencer kernel modules. For instance, you can run this command as root in a terminal:

# modprobe snd-seq

Anyway, I'm going to fix the ALSA backend of KMid to avoid the crash, showing a more informative text instead. Thanks for the report.
Comment 2 Unknown 2010-06-27 19:24:08 UTC
SVN commit 1143411 by pedrol:

Avoid a crash at startup when loading the ALSA backend and the sequencer modules aren't available. This means two changes:
- Ensure that compilation has "-fvisibility=default" instead of the "hidden" attribute, in addition to -fexceptions.
- Catch generic exceptions in the backend constructor, in case that a distro overrides the compiler flags.

BUG: 242912

 M  +1 -1      CMakeLists.txt  
 M  +9 -1      alsa/alsabackend.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1143411