Regression alert: Random freezing/crashing

Marius rara at quantentunnel.de
Fri Dec 17 23:37:11 CET 2010


Heya,

on Friday 17 December 2010 10:45 Mark Kretschmann <kretschmann at kde.org> wrote:
> Ahoy,
> 
> several users (including me) have seen an issue in Git Master:
> 
> Amarok would randomly freeze, or crash completely, while doing normal
> playback. For me, the debug output always indicates that it happens
> inside one of our applets. The error message is very bizarre.
> 
> Something like: "QPixmap cannot be used without initializing
> QApplication. Fatal Error."
> 
> Also, I'm getting tons of warnings from QPixmapCache. Possibly related?
> 
> 
> If anyone can reproduce this, please send debug output and backtrace here,
> thanks!

I also have freezes, but not really random. There are some "random" songs which cause a freeze reliably. I have no warnings about QPixmap, and have all scripts 
and context applets disabled. Below you find my debug output. The last line about memory allocation error doesn't always occur, but the last line is always 
something like "amarok:         Notifying observer:  0x....". If someone tells me how to find out which object sits at a certain address, I can have a look at it.
BTW, I have more than 2 gigs of free ram.
I am using xine with jack or vlc with jack as output plugin. Freeze occurs with both plugins, and the setup is unchanged, so it should not be related to the freeze. It 
occurs always when starting one of the "freezing songs", and the song plays until the end, then the music stops.

-Marius


amarok(12455)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing  "/usr/share/mime/magic"
amarok(12455)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing  "/home/mhelf/.local/share/mime/magic"
amarok: BEGIN: void Playlist::PrettyListView::trackActivated(const QModelIndex&) 
amarok:   BEGIN: void Playlist::Actions::play(const QModelIndex&) 
amarok:     BEGIN: void Playlist::Actions::play(quint64, bool) 
amarok:       BEGIN: void EngineController::play(Meta::TrackPtr, uint) 
amarok:         BEGIN: void EngineController::stop(bool) 
amarok:           BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) 
amarok:             [EngineController] Empty MediaSource (engine stop) 
amarok:           END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0s] 
amarok:         END__: void EngineController::stop(bool) [Took: 0s] 
amarok:         [EngineController] play: bounded is  QObject(0x0)  current "psychannel" 
amarok:         [EngineController] Just a normal, boring track... :-P 
amarok:         BEGIN: void EngineController::playUrl(const KUrl&, uint) 
amarok:           [EngineController] URL:  "http://streamer.psyradio.org:8030/" 
amarok:           [EngineController] offset:  0 
amarok:           BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) 
amarok:             BEGIN: virtual void MetaStream::Track::unsubscribe(Meta::Observer*) 
amarok:               Removing observer:  0x86c9cd8 
amarok:             END__: virtual void MetaStream::Track::unsubscribe(Meta::Observer*) [Took: 0s] 
amarok:             [EngineController] Using gain of 0 with relative peak of 0 
amarok:             BEGIN: virtual void MetaStream::Track::subscribe(Meta::Observer*) 
amarok:               Adding observer:  0x86c9cd8 
amarok:             END__: virtual void MetaStream::Track::subscribe(Meta::Observer*) [Took: 0s] 
amarok:             BEGIN: void Context::ContextView::slotTrackChanged(Meta::TrackPtr) 
amarok:             END__: void Context::ContextView::slotTrackChanged(Meta::TrackPtr) [Took: 0s] 
amarok:             BEGIN: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) 
amarok:               BEGIN: void StatusBar::updateTotalPlaylistLength() 
amarok:               END__: void StatusBar::updateTotalPlaylistLength() [Took: 0s] 
amarok:               BEGIN: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() 
amarok:                 BEGIN: void Playlist::PrettyListView::scrollToActiveTrack() 
amarok:                 END__: void Playlist::PrettyListView::scrollToActiveTrack() [Took: 0s] 
amarok:               END__: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() [Took: 0s] 
amarok:             END__: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) [Took: 0.001s] 
amarok:             BEGIN: void TimecodeObserver::trackPlaying(Meta::TrackPtr) 
amarok:             END__: void TimecodeObserver::trackPlaying(Meta::TrackPtr) [Took: 0s] 
amarok:             BEGIN: void ProgressWidget::trackLengthChanged(qint64) 
amarok:               new length:  -1 
amarok:               slider enabled! 
amarok:               BEGIN: void ProgressWidget::redrawBookmarks(const QString*) 
amarok:               END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] 
amarok:             END__: void ProgressWidget::trackLengthChanged(qint64) [Took: 0s] 
amarok:             BEGIN: void OSDWidget::show(const QString&, QImage) 
amarok:             END__: void OSDWidget::show(const QString&, QImage) [Took: 0s] 
amarok:           END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0.011s] 
amarok:           [EngineController] track pos after play:  0 
amarok:         END__: void EngineController::playUrl(const KUrl&, uint) [Took: 0.012s] 
amarok:       END__: void EngineController::play(Meta::TrackPtr, uint) [Took: 0.013s] 
amarok:     END__: void Playlist::Actions::play(quint64, bool) [Took: 0.013s] 
amarok:   END__: void Playlist::Actions::play(const QModelIndex&) [Took: 0.013s] 
amarok: END__: void Playlist::PrettyListView::trackActivated(const QModelIndex&) [Took: 0.013s] 
amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) 
amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] 
amarok: BEGIN: void EngineController::slotTrackLengthChanged(qint64) 
amarok:   BEGIN: void ProgressWidget::trackLengthChanged(qint64) 
amarok:     new length:  0 
amarok:     slider enabled! 
amarok:     BEGIN: void ProgressWidget::redrawBookmarks(const QString*) 
amarok:     END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] 
amarok:   END__: void ProgressWidget::trackLengthChanged(qint64) [Took: 0s] 
amarok: END__: void EngineController::slotTrackLengthChanged(qint64) [Took: 0s] 
amarok: BEGIN: void EngineController::slotMetaDataChanged() 
amarok:   [EngineController] Artist     :  ("") 
amarok:   [EngineController] Album      :  ("p s y r a d i o * f m - psychannel") 
amarok:   [EngineController] Title      :  ("p s y r a d i o * f m - psychannel") 
amarok:   [EngineController] Genre      :  ("psytrance techno dark") 
amarok:   [EngineController] Tracknumber:  ("") 
amarok:   [EngineController] Length     :  () 
amarok:   [EngineController] Track changed:  true current: 0x90db1f0 url "http://streamer.psyradio.org:8030/" 
amarok:   [EngineController] no spam 
amarok:   BEGIN: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) 
amarok:   END__: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) [Took: 0s] 
amarok:   BEGIN: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) 
amarok:   END__: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) [Took: 0s] 
amarok:   BEGIN: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) 
amarok:   END__: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) [Took: 0s] 
amarok:   BEGIN: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) 
amarok:     BEGIN: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) 
amarok:       Applying new Metadata. 
amarok:       BEGIN: void MetaStream::Track::Private::notify() const 
amarok:         Notifying observer:  0x8db0d00 
amarok:         BEGIN: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) 
amarok:           BEGIN: void StatusBar::updateTotalPlaylistLength() 
amarok:           END__: void StatusBar::updateTotalPlaylistLength() [Took: 0.003s] 
amarok:           [Playlist::Model] Metadata updated for track "psychannel" 
amarok:         END__: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) [Took: 0.004s] 
amarok:         Notifying observer:  0x86c9cd8 
amarok:         BEGIN: void OSDWidget::show(const QString&, QImage) 
amarok:         END__: void OSDWidget::show(const QString&, QImage) [Took: 0s] 
amarok:         BEGIN: void Context::ContextView::slotMetadataChanged(Meta::TrackPtr) 
amarok:           BEGIN: bool EngineController::isStream() 
amarok:           END__: bool EngineController::isStream() [Took: 0s] 
amarok:         END__: void Context::ContextView::slotMetadataChanged(Meta::TrackPtr) [Took: 0s] 
amarok:       END__: void MetaStream::Track::Private::notify() const [Took: 0.01s] 
amarok:     END__: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) [Took: 0.011s] 
amarok:   END__: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) [Took: 0.011s] 
amarok:   BEGIN: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) 
amarok:   END__: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) [Took: 0s] 
amarok:   BEGIN: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) 
amarok:   END__: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) [Took: 0s] 
amarok:   BEGIN: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) 
amarok:   END__: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) [Took: 0s] 
amarok:   BEGIN: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) 
amarok:     BEGIN: void MetaStream::Track::Private::currentMetadataChanged(QVariantMap) 
amarok:       Applying new Metadata. 
amarok:       BEGIN: void MetaStream::Track::Private::notify() const 
amarok:         Notifying observer:  0x8e38d00 
Cannot lock down memory area (Cannot allocate memory)


More information about the Amarok-devel mailing list