Amarok crashes Plasma (sometimes)
Tuomas Nurmi
tuomas at norsumanageri.org
Tue Oct 21 08:53:12 BST 2025
Ok, thank you for extra details.
Yeah, it appears there are some cases when the playback doesn't start as expected,
but I'm not able to reliably reproduce any of them. Starting scan & immediately pressing
play works for me, so no help from that, either. I'll try and see if I manage to figure
something out at some point.
Tuomas
Martin Byttebier kirjoitti maanantaina 20. lokakuuta 2025 15.36.17 Itä-Euroopan kesäaika:
> Op Mon, 20 Oct 2025 13:37:52 +0300
> Tuomas Nurmi <tuomas at norsumanageri.org> schreef:
>
> > Hi,
> > thank you for reporting. I tried some similar steps, but couldn't
> > reproduce the described issue yet. (Possibly related: On quit, Amarok
> > has to wait for any collection scan to finish before the process is
> > terminated) Possibly amarok --debug might provide some extra
> > information.
> >
> > There are also some hang-related crashes observable in
> > https://crash-reports.kde.org/ data, but I haven't found a way to
> > reproduce any of them reliably yet. Maybe I one day will.
>
> Ok, it turned out it was the media player applet causing the plasma
> crashes. Once the applet was disabled the plasma shell did not crash
> anymore when I launched Amaork.
> AFAIk the bug has been fixed. Anyway I enabled the media player
> applet today and everuthing seems to be fine.
>
> There is one thing left.
> Try to start a song whilst Amarok is still scanning the collection
> Once the scanning is done the start buttom doesn't work anymore.
> I've to quit Amarok and start again.
>
> BEGIN: void EngineController::playPause()
> amarok: [EngineController] PlayPause: Pipeline state 2
> amarok: BEGIN: void EngineController::play()
> amarok: BEGIN: void Playlist::Actions::play()
> amarok: BEGIN: void Playlist::Actions::play(quint64, bool)
> amarok: BEGIN: void EngineController::play(Meta::TrackPtr, uint, bool)
> amarok: BEGIN: void EngineController::stop(bool, bool)
> amarok: BEGIN: void EngineGstPipeline::requestState(GstState)
> amarok: requested state READY
> amarok: not reapplying gst state
> amarok: END__: void EngineGstPipeline::requestState(GstState) [Took: 0s]
> amarok: New source: QUrl("")
> amarok: uri ""
> amarok: END__: void EngineController::stop(bool, bool) [Took: 0s]
> amarok: [EngineController] play: bounded is QObject(0x0) current "Spaceman"
> amarok: [EngineController] Just a normal, boring track... :-P
> amarok: BEGIN: void EngineController::playUrl(const QUrl&, uint, bool)
> amarok: BEGIN: void EngineGstPipeline::requestState(GstState)
> amarok: requested state READY
> amarok: not reapplying gst state
> amarok: END__: void EngineGstPipeline::requestState(GstState) [Took: 0s]
> amarok: [EngineController] URL: QUrl("file:///mnt/data/mp3/electric moon/the doomsday machine/Electric Moon - Spaceman.mp3") "file:///mnt/data/mp3/electric moon/the doomsday machine/Electric Moon - Spaceman.mp3"
> amarok: [EngineController] Offset: 0
> amarok: New source: QUrl("file:///mnt/data/mp3/electric moon/the doomsday machine/Electric Moon - Spaceman.mp3")
> amarok: uri "file:///mnt/data/mp3/electric%20moon/the%20doomsday%20machine/Electric%20Moon%20-%20Spaceman.mp3"
> amarok: [EngineController] Gain of -1 would clip at absolute peak of 1
> amarok: [EngineController] Using pre-gain 3 and gain of -2 with relative peak of -1
> amarok: BEGIN: void EngineGstPipeline::requestState(GstState)
> amarok: requested state PLAYING
> amarok: BEGIN: static void EngineGstPipeline::cb_setupSource(GstElement*, GstElement*, gpointer)
> amarok: END__: static void EngineGstPipeline::cb_setupSource(GstElement*, GstElement*, gpointer) [Took: 0s]
> amarok: END__: void EngineGstPipeline::requestState(GstState) [Took: 0.001s]
> amarok: END__: void EngineController::playUrl(const QUrl&, uint, bool) [Took: 0.002s]
> amarok: END__: void EngineController::play(Meta::TrackPtr, uint, bool) [Took: 0.002s]
> amarok: END__: void Playlist::Actions::play(quint64, bool) [Took: 0.002s]
> amarok: END__: void Playlist::Actions::play() [Took: 0.002s]
> amarok: END__: void EngineController::play() [Took: 0.002s]
> amarok: END__: void EngineController::playPause() [Took: 0.002s]
> amarok: BEGIN: static gboolean EngineGstPipeline::cb_duration(GstBus*, GstMessage*, gpointer)
> amarok: END__: static gboolean EngineGstPipeline::cb_duration(GstBus*, GstMessage*, gpointer) [Took: 0s]
> amarok: [EngineController] slotTrackLengthChanged( -1 )
> amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*)
> amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s]
> amarok: Internal data stream error.
> amarok: BEGIN: static gboolean EngineGstPipeline::cb_duration(GstBus*, GstMessage*, gpointer)
> amarok: END__: static gboolean EngineGstPipeline::cb_duration(GstBus*, GstMessage*, gpointer) [Took: 0s]
> amarok: BEGIN: void EngineGstPipeline::handleAboutToFinish()
> amarok: About to finish
> amarok: need more queue
> amarok: BEGIN: void EngineController::slotAboutToFinish()
> amarok: BEGIN: void Playlist::Actions::requestNextTrack()
> amarok: END__: void Playlist::Actions::requestNextTrack() [Took: 0s]
> amarok: END__: void EngineController::slotAboutToFinish() [Took: 0s]
> amarok: END__: void EngineGstPipeline::handleAboutToFinish() [Took: 0s]
> amarok: [EngineController] slotTrackLengthChanged( -1 )
> amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*)
> amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s]
>
>
> Martin
>
More information about the Amarok
mailing list