Trying to drag an item of a level 2 from the collections pane from a scripted service fails, popping up an error saying that a variable generated for level 0 items from level 1 items' callbackData is undefined. Trying to drop the item on the playlist freezes Amarok. This does not occur if all the level 1 items under the level 2 item have been expanded already. Looking at the debugging output, it appears that Amarok tries to drag all the level 0 items under the level 2 item without getting the level 1 items. This fails because level 0 items are generated from the callbackData of level 1 items. amarok: BEGIN: void Collections::ScriptableServiceQueryMaker::fetchArtists() amarok: BEGIN: void ScriptableServiceScript::slotPopulate(QString, int, int, QString, QString) amarok: SCRIPT "SoundCloud Integration" : "Populating level 2" amarok: SCRIPT "SoundCloud Integration" : "filter: culprate%20" amarok: SCRIPT "SoundCloud Integration" : "processing user: culprate" amarok: BEGIN: static QScriptValue Downloader::init(QScriptContext*, QScriptEngine*, bool) amarok: END__: static QScriptValue Downloader::init(QScriptContext*, QScriptEngine*, bool) [Took: 0s] amarok: END__: void ScriptableServiceScript::slotPopulate(QString, int, int, QString, QString) [Took: 0s] amarok: END__: void Collections::ScriptableServiceQueryMaker::fetchArtists() [Took: 0s] amarok: SCRIPT "SoundCloud Integration" : "Culprate inserted" amarok: SCRIPT "SoundCloud Integration" : "CULPRATE inserted" amarok: SCRIPT "SoundCloud Integration" : "Culprate_RexXOokay inserted" amarok: SCRIPT "SoundCloud Integration" : "DJ-Culprate5 inserted" amarok: SCRIPT "SoundCloud Integration" : "Dj-Culprate inserted" amarok: SCRIPT "SoundCloud Integration" : "Inspected inserted" amarok: SCRIPT "SoundCloud Integration" : "Division Recordings inserted" amarok: SCRIPT "SoundCloud Integration" : "phace™ inserted" amarok: SCRIPT "SoundCloud Integration" : "The McMash Clan inserted" amarok: SCRIPT "SoundCloud Integration" : "robclouth inserted" amarok: SCRIPT "SoundCloud Integration" : "Cubism_Music inserted" amarok: SCRIPT "SoundCloud Integration" : "Bass Island Radio inserted" amarok: SCRIPT "SoundCloud Integration" : "FLATMATE inserted" amarok: SCRIPT "SoundCloud Integration" : "Loop Stepwalker inserted" amarok: SCRIPT "SoundCloud Integration" : "eXcess inserted" amarok: SCRIPT "SoundCloud Integration" : "Daisy-Chain inserted" amarok: SCRIPT "SoundCloud Integration" : "Wondawulf inserted" amarok: SCRIPT "SoundCloud Integration" : "Influe. inserted" amarok: SCRIPT "SoundCloud Integration" : "Neuroscientist inserted" amarok: SCRIPT "SoundCloud Integration" : "The Mask inserted" amarok: SCRIPT "SoundCloud Integration" : "WOBBELIX inserted" amarok: SCRIPT "SoundCloud Integration" : "ObscenityDubstep inserted" amarok: SCRIPT "SoundCloud Integration" : "Gradient Audio inserted" amarok: SCRIPT "SoundCloud Integration" : "Duburban Poison inserted" amarok: SCRIPT "SoundCloud Integration" : "Paranoise Collision inserted" amarok: SCRIPT "SoundCloud Integration" : "Ordure inserted" amarok: SCRIPT "SoundCloud Integration" : "Rancorous Records inserted" amarok: SCRIPT "SoundCloud Integration" : "Ironhide Dubstep inserted" amarok: SCRIPT "SoundCloud Integration" : "Silvertortoisemusic inserted" amarok: SCRIPT "SoundCloud Integration" : "├ﮋᶞⱨᶯᶯᵞ чpӏѧӌ→ inserted" amarok: SCRIPT "SoundCloud Integration" : "Silent Frequencies inserted" amarok: SCRIPT "SoundCloud Integration" : "BISON MUSIC inserted" amarok: SCRIPT "SoundCloud Integration" : "Släider | Official ☢ inserted" amarok: SCRIPT "SoundCloud Integration" : "B1t Crunch3r inserted" amarok: SCRIPT "SoundCloud Integration" : "Digital Sanctuary Rec. inserted" amarok: SCRIPT "SoundCloud Integration" : "Widelows inserted" amarok: SCRIPT "SoundCloud Integration" : "RizeMusic inserted" amarok: SCRIPT "SoundCloud Integration" : "Fx Church inserted" amarok: SCRIPT "SoundCloud Integration" : "ElecTrOnAiL inserted" amarok: SCRIPT "SoundCloud Integration" : "Nexam inserted" amarok: SCRIPT "SoundCloud Integration" : "ワウ IK口RUX スーパー inserted" amarok: SCRIPT "SoundCloud Integration" : "COOPER inserted" amarok: SCRIPT "SoundCloud Integration" : "Broken Beats inserted" amarok: SCRIPT "SoundCloud Integration" : "Hob Goblin inserted" amarok: SCRIPT "SoundCloud Integration" : "Your Demise inserted" amarok: SCRIPT "SoundCloud Integration" : "PanthaMusic inserted" amarok: SCRIPT "SoundCloud Integration" : "Lam-c inserted" amarok: SCRIPT "SoundCloud Integration" : "Murka. inserted" amarok: SCRIPT "SoundCloud Integration" : "Destroy The Modem inserted" amarok: SCRIPT "SoundCloud Integration" : "Chesk inserted" amarok: BEGIN: int ScriptableServiceScript::donePopulating() const amarok: BEGIN: void ScriptableServiceManager::donePopulating(const QString&, int) amarok: Service name: "SoundCloud Integration" , parent id: -1 amarok: BEGIN: void Collections::ScriptableServiceCollection::donePopulating(int) amarok: BEGIN: void Collections::ScriptableServiceQueryMaker::slotScriptComplete() amarok: [ScriptableServiceQueryMaker] there are 50 artists amarok: END__: void Collections::ScriptableServiceQueryMaker::slotScriptComplete() [Took: 0s] amarok: END__: void Collections::ScriptableServiceCollection::donePopulating(int) [Took: 0s] amarok: END__: void ScriptableServiceManager::donePopulating(const QString&, int) [Took: 0s] amarok: END__: int ScriptableServiceScript::donePopulating() const [Took: 0s] amarok: SCRIPT "SoundCloud Integration" : "Artist list populated" amarok: selected item: "Culprate" amarok: BEGIN: virtual void CollectionTreeView::startDrag(Qt::DropActions) amarok: BEGIN: PopupDropper* PopupDropperFactory::createPopupDropper(QWidget*, bool) link XMLID_9_ hasn't been detected! link XMLID_9_ hasn't been detected! link XMLID_9_ hasn't been detected! link XMLID_9_ hasn't been detected! Could not resolve property : linearGradient5167 Could not resolve property : linearGradient3563 Could not resolve property : linearGradient3563-3 Could not resolve property : linearGradient3563-3 amarok: END__: PopupDropper* PopupDropperFactory::createPopupDropper(QWidget*, bool) [Took: 0.038s] amarok: [CollectionTreeView] checking for global actions amarok: [CollectionTreeView] Got global action: "Play Similar Artists from Last.fm" amarok: BEGIN: PopupDropper* PopupDropperFactory::createPopupDropper(QWidget*, bool) amarok: END__: PopupDropper* PopupDropperFactory::createPopupDropper(QWidget*, bool) [Took: 0s] amarok: BEGIN: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) amarok: END__: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) [Took: 0s] amarok: BEGIN: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) amarok: END__: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) [Took: 0s] amarok: BEGIN: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) amarok: END__: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) [Took: 0s] amarok: BEGIN: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) amarok: END__: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) [Took: 0s] amarok: BEGIN: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) amarok: END__: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) [Took: 0s] amarok: BEGIN: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) amarok: END__: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) [Took: 0s] amarok: BEGIN: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) amarok: END__: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) [Took: 0s] amarok: BEGIN: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) amarok: END__: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) [Took: 0s] amarok: BEGIN: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) amarok: END__: virtual Collections::QueryMaker* Collections::ScriptableServiceQueryMaker::addFilter(qint64, const QString&, bool, bool) [Took: 0s] amarok: BEGIN: void Collections::ScriptableServiceQueryMaker::fetchTracks() amarok: [ScriptableServiceQueryMaker] parent id: 2 amarok: [ScriptableServiceQueryMaker] i am sending signals! amarok: BEGIN: void ScriptableServiceScript::slotPopulate(QString, int, int, QString, QString) amarok: SCRIPT "SoundCloud Integration" : "Populating level 0" amarok: BEGIN: void ScriptManager::handleException(const QScriptValue&) amarok: END__: void ScriptManager::handleException(const QScriptValue&) [Took: 0s] amarok: END__: void ScriptableServiceScript::slotPopulate(QString, int, int, QString, QString) [Took: 0.001s] amarok: END__: void Collections::ScriptableServiceQueryMaker::fetchTracks() [Took: 0.001s] amarok: BEGIN: LongMessageWidget::LongMessageWidget(QWidget*, const QString&, Amarok::Logger::MessageType) amarok: END__: LongMessageWidget::LongMessageWidget(QWidget*, const QString&, Amarok::Logger::MessageType) [Took: 0.002s] amarok: BEGIN: virtual void Playlist::PrettyListView::dropEvent(QDropEvent*) amarok: [Playlist::Model] this is a track amarok: BEGIN: virtual PopupWidget::~PopupWidget() amarok: END__: virtual PopupWidget::~PopupWidget() [Took: 0s] amarok: Fatal IO error: client killed KCrash: Application 'amarok' crashing... KCrash: Attempting to start /usr/libexec/kde4/drkonqi from kdeinit KCrash: Connect sock_file=/home/be/.kde/socket-localhost.localdomain/kdeinit4__0 Reproducible: Always Steps to Reproduce: 1. Write a scripted service with at least 3 levels. 2. To populate level 0, refer to callback data from level 1 items. 3. Drag a level 2 item. Actual Results: Amarok does not populate the level 0 items correctly because it never populated level 1. Expected Results: All level 0 items with playableUrls are dragged with the level 2 item.
Thank you for reporting this bug in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the issue with a recent software version? If you can reproduce the issue, please change the status to "CONFIRMED" when replying. Thank you!
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!