Bug 139889 - segfault when adding Rio Karma device
Summary: segfault when adding Rio Karma device
Status: RESOLVED INTENTIONAL
Alias: None
Product: amarok
Classification: Applications
Component: Collections/Media Devices (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-11 05:02 UTC by Joe Nahmias
Modified: 2008-08-04 17:18 UTC (History)
1 user (show)

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 Joe Nahmias 2007-01-11 05:02:00 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) 
OS:                Linux

Amarok crashed when I tried to add my Rio Karma as a new device.  I had compiled amarok from SVN with --enable-debug=full.

$ svn info
Path: .
URL: svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia/amarok
Repository Root: svn://anonsvn.kde.org/home/kde
Repository UUID: 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Revision: 621889

Here is the relevant part of the gdb output and backtrace:

amarok: BEGIN: void MediumPluginManager::newDevice()
amarok: BEGIN: Medium* DeviceManager::getDevice(QString)
amarok:     DeviceManager: getDevice called with name argument = Rio Karma
amarok: BEGIN: QStringList DeviceManager::getDeviceStringList()
amarok: END__: QStringList DeviceManager::getDeviceStringList() - Took 0.0021s
amarok: END__: Medium* DeviceManager::getDevice(QString) - Took 0.0044s
amarok:   [MediaBrowser] mediumAdded: (false,manual|Rio Karma|/media/karma/,Rio Karma,Rio Karma,,false,,/media/karma/,manual,false,,,)
amarok: BEGIN: MediaDevice* MediaBrowser::loadDevicePlugin(const QString&)
amarok: BEGIN: static Amarok::Plugin* PluginManager::createFromQuery(const QString&)
amarok:       [PluginManager] Plugin trader constraint: [X-KDE-Amarok-framework-version] == 28 and [X-KDE-Amarok-plugintype] == 'mediadevice' and [X-KDE-Amarok-name] == 'riokarma-mediadevice' and [X-KDE-Amarok-rank] > 0
amarok:       [PluginManager] Trying to load: libamarok_riokarma-mediadevice
amarok:
amarok:       PluginManager Service Info:
amarok:       ---------------------------
amarok:       name                          : Rio Karma Media Device
amarok:       library                       : libamarok_riokarma-mediadevice
amarok:       desktopEntryPath              : amarok_riokarma-mediadevice.desktop
amarok:       X-KDE-Amarok-plugintype       : mediadevice
amarok:       X-KDE-Amarok-name             : riokarma-mediadevice
amarok:       X-KDE-Amarok-authors          : (Andy Kelk)
amarok:       X-KDE-Amarok-rank             : 100
amarok:       X-KDE-Amarok-version          : 1
amarok:       X-KDE-Amarok-framework-version: 28
amarok:
amarok: END__: static Amarok::Plugin* PluginManager::createFromQuery(const QString&) - Took 0.24s
amarok:     [MediaBrowser] Returning plugin!
amarok: END__: MediaDevice* MediaBrowser::loadDevicePlugin(const QString&) - Took 0.25s
amarok: BEGIN: virtual bool RioKarmaMediaDevice::openDevice(bool)
amarok:     [RioKarmaMediaDevice] Rio karma : 0
amarok: BEGIN: int RioKarmaMediaDevice::readKarmaMusic()
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 256. Skipping.
[New Thread -1304810576 (LWP 6523)]
amarok:       [Moodbar] Resetting moodbar:
amarok:       [virtual AmarokConfigDialog::~AmarokConfigDialog()]
amarok: BEGIN: virtual void ThreadWeaver::Thread::run()
amarok: BEGIN: SqliteConnection::SqliteConnection(const SqliteConfig*)
amarok: END__: SqliteConnection::SqliteConnection(const SqliteConfig*) - Took 0.002s
amarok: END__: virtual void ThreadWeaver::Thread::run() - Took 0.63s
amarok:       [ThreadWeaver] Job aborted: CurrentTrackJob. Jobs pending: 1
[Thread -1304810576 (LWP 6523) exited]
[New Thread -1315005520 (LWP 6524)]
amarok: BEGIN: virtual void ThreadWeaver::Thread::run()
amarok: BEGIN: SqliteConnection::SqliteConnection(const SqliteConfig*)
amarok: END__: SqliteConnection::SqliteConnection(const SqliteConfig*) - Took 0.0012s
amarok: END__: virtual void ThreadWeaver::Thread::run() - Took 0.34s
[Thread -1315005520 (LWP 6524) exited]
amarok:       [ThreadWeaver] Job completed: CurrentTrackJob. Jobs pending: 0
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 11952. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 11968. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 11984. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 12704. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 21616. Skipping.
amarok: BEGIN: ScanController::ScanController(CollectionDB*, bool, const QStringList&)
amarok: BEGIN: void ScanController::initIncremental()
amarok: END__: void ScanController::initIncremental() - Took 0.21s
amarok: END__: ScanController::ScanController(CollectionDB*, bool, const QStringList&) - Took 0.21s
[New Thread -1315005520 (LWP 6527)]
amarok: BEGIN: virtual void ThreadWeaver::Thread::run()
amarok: BEGIN: virtual bool ScanController::doJob()
amarok: BEGIN: SqliteConnection::SqliteConnection(const SqliteConfig*)
amarok: END__: SqliteConnection::SqliteConnection(const SqliteConfig*) - Took 0.0024s
amarok: END__: virtual bool ScanController::doJob() - Took 0.0042s
amarok: END__: virtual void ThreadWeaver::Thread::run() - Took 0.0064s
[Thread -1315005520 (LWP 6527) exited]
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 22048. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 22064. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 22640. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 22656. Skipping.
amarok:       [CollectionDB] JobFinishedEvent from Incremental ScanController received.
amarok:       [ThreadWeaver] Job completed: CollectionScanner. Jobs pending: 0
amarok: BEGIN: virtual ScanController::~ScanController()
amarok: END__: virtual ScanController::~ScanController() - Took 0.00092s
amarok: BEGIN: ScanController::ScanController(CollectionDB*, bool, const QStringList&)
amarok: BEGIN: void ScanController::initIncremental()
amarok: END__: void ScanController::initIncremental() - Took 0.069s
amarok: END__: ScanController::ScanController(CollectionDB*, bool, const QStringList&) - Took 0.071s
[New Thread -1315005520 (LWP 6528)]
amarok: BEGIN: virtual void ThreadWeaver::Thread::run()
amarok: BEGIN: virtual bool ScanController::doJob()
amarok: BEGIN: SqliteConnection::SqliteConnection(const SqliteConfig*)
amarok: END__: SqliteConnection::SqliteConnection(const SqliteConfig*) - Took 0.0027s
amarok: END__: virtual bool ScanController::doJob() - Took 0.0045s
amarok: END__: virtual void ThreadWeaver::Thread::run() - Took 0.011s
[Thread -1315005520 (LWP 6528) exited]
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 22880. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 22896. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 22912. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 22928. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 22944. Skipping.
amarok:       [CollectionDB] JobFinishedEvent from Incremental ScanController received.
amarok:       [ThreadWeaver] Job completed: CollectionScanner. Jobs pending: 0
amarok: BEGIN: virtual ScanController::~ScanController()
amarok: END__: virtual ScanController::~ScanController() - Took 0.0012s
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 23616. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 23632. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 23744. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 23760. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 23776. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 23792. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 23904. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 23920. Skipping.
amarok:       [RioKarmaMediaDevice] Found a playlist at fid 24176. Skipping.
amarok: END__: int RioKarmaMediaDevice::readKarmaMusic() - Took 32s
amarok: END__: virtual bool RioKarmaMediaDevice::openDevice(bool) - Took 32s

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1245177184 (LWP 6484)]
0xb7c6e0ab in QMap<QString, Medium*>::detach (this=0x869627c)
    at /usr/share/qt3/include/qmap.h:739
739         void detach() {  if ( sh->count > 1 ) detachInternal(); }
(gdb) bt
#0  0xb7c6e0ab in QMap<QString, Medium*>::detach (this=0x869627c)
    at /usr/share/qt3/include/qmap.h:739
#1  0xb7c6ea35 in QMap<QString, Medium*>::operator[] (this=0x869627c,
    k=@0xbf9f0424) at /usr/share/qt3/include/qmap.h:799
#2  0xb7ccbce9 in MediumPluginManager::newDevice (this=0x8696250)
    at mediumpluginmanager.cpp:245
#3  0xb7ccbe37 in MediumPluginManager::qt_invoke (this=0x8696250, _id=3,
    _o=0xbf9f04ec) at mediumpluginmanager.moc:244
#4  0xb6601d4f in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#5  0xb66027e0 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#6  0xb6993ddb in QButton::clicked () from /usr/lib/libqt-mt.so.3
#7  0xb669ecea in QButton::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3
#8  0xb66386f0 in QWidget::event () from /usr/lib/libqt-mt.so.3
#9  0xb6599c26 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#10 0xb659bdc9 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#11 0xb6d5fe0e in KApplication::notify () from /usr/lib/libkdecore.so.4
#12 0xb652d495 in QApplication::sendSpontaneousEvent ()
   from /usr/lib/libqt-mt.so.3
#13 0xb652c12f in QETWidget::translateMouseEvent () from /usr/lib/libqt-mt.so.3
#14 0xb652a6b0 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#15 0xb6540d02 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#16 0xb65b4179 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#17 0xb65b3f9a in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#18 0xb659b7bf in QApplication::exec () from /usr/lib/libqt-mt.so.3
#19 0x0804cfb2 in main (argc=1, argv=0xbf9f1094) at main.cpp:114
(gdb)
Comment 1 lexual 2008-01-20 04:48:28 UTC
Is this still an issue for the reporter?
Comment 2 Myriam Schweingruber 2008-08-04 17:18:23 UTC
Closed due to lack of feedback.
Amarok 1.4.x is no longer actively maintained as the focus is on Amarok 2.0. Device handling being not yet implemented in Amarok 2.0 alpha 2, feel free to report back once it is done.