Bug 211026 - Random "too many open files" crashes
Summary: Random "too many open files" crashes
Status: RESOLVED NOT A BUG
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.2.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 212006 213026 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-10-19 00:03 UTC by Mark J Hewitt
Modified: 2009-11-04 06:46 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Amarok backtrace (10.74 KB, application/octet-stream)
2009-10-22 00:30 UTC, Mark J Hewitt
Details
And the debug log at the time of the crash (105.35 KB, application/x-gzip)
2009-10-22 00:34 UTC, Mark J Hewitt
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark J Hewitt 2009-10-19 00:03:08 UTC
Version:           2.2.0-2.fc11 (using KDE 4.3.1)
Compiler:          gcc 4.4.1 
OS:                Linux
Installed from:    Fedora RPMs

After a little while (a few hours; not always the same time) I get crashes like this:
...
...
QWidget::setMinimumSize: (Playlist dock/QDockWidget) Negative sizes (230,-1) are not possible
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x500eb3f
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x500eb3f
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x500eb3f
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x500da5c
couldn't lock local file 

GLib-ERROR **: Cannot create pipe main loop wake-up: Too many open files

aborting...
QSocketNotifier: Invalid socket 751 and type 'Read', disabling...
KCrash: Application 'amarok' crashing...
sock_file=/home/mjh/.kde/socket-tardis.hewitt.home/kdeinit4__0
Assertion 'pa_close(fds[0]) == 0' failed at pulsecore/core-util.c:2144, function pa_close_pipe(). Aborting.
Unable to start Dr. Konqi

I have not yet seen this in debug mode - but I'm still trying to collect that.
Comment 1 Myriam Schweingruber 2009-10-19 01:47:19 UTC
If you can reproduce this, we would need a full backtrace
Comment 2 Mark J Hewitt 2009-10-19 11:38:01 UTC
Not yet a backtrace, but debug output.

 
amarok:   BEGIN: virtual void ProgressWidget::enginePlaybackEnded(int, int, EngineObserver::PlaybackEndedReason) 
amarok:   END__: virtual void ProgressWidget::enginePlaybackEnded(int, int, EngineObserver::PlaybackEndedReason) - Took 0.00012s 
amarok: END__: void EngineController::slotQueueEnded() - Took 0.0018s 
amarok:  collapsing applet to... 40 
amarok: BEGIN: void Playlist::Controller::clear() 
amarok:   BEGIN: void Playlist::Controller::removeRows(int, int) 
amarok:     BEGIN: void Playlist::Controller::removeRows(QList<int>&) 
amarok:       [Playlist::Controller] Removing row  0 
amarok:       [Playlist::Controller] Removing row  1 
amarok:       [Playlist::Controller] Removing row  2 
amarok:       [Playlist::Controller] Removing row  3 
amarok:       [Playlist::Controller] Removing row  4 
amarok:       [Playlist::Controller] Removing row  5 
amarok:       BEGIN: void Playlist::Model::removeTracksCommand(const Playlist::RemoveCmdList&) 
amarok:       END__: void Playlist::Model::removeTracksCommand(const Playlist::RemoveCmdList&) - Took 0.00023s 
amarok:     END__: void Playlist::Controller::removeRows(QList<int>&) - Took 0.00098s 
amarok:   END__: void Playlist::Controller::removeRows(int, int) - Took 0.0012s 
amarok: END__: void Playlist::Controller::clear() - Took 0.0016s 
amarok:  SCRIPT "Random Album" :  "Loading album 225" 
amarok:  SCRIPT "Random Album" :  "New random album, 48 tracks." 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/01 - Purcell,_Henry___Music_for_a_While.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00095s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.0013s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/02 - Purcell,_Henry___I_Attempt_from_Love_s_Sickness_to_Fly.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.0007s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00083s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/03 - Purcell,_Henry___Ah__How_Sweet_It_Is_to_Love.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00063s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00076s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/04 - Purcell,_Henry___Lord,_What_Is_Man.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00065s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00078s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/05 - Purcell,_Henry___Hark__How_All_Things.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00071s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00085s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/06 - Bach___Cantata_BWV_199,_Mein_Herze_schwimmt_im_Blut__Recitativo.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00064s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00076s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/07 - Bach___Cantata_BWV_199,_Mein_Herze_schwimmt_im_Blut__Aria.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00065s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00077s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/08 - Bach___Cantata_BWV_199,_Mein_Herze_schwimmt_im_Blut__Recitativo.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00063s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00075s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/09 - Bach___Cantata_BWV_199,_Mein_Herze_schwimmt_im_Blut__Aria.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00095s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.0013s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/10 - Bach___Cantata_BWV_199,_Mein_Herze_schwimmt_im_Blut__Recitativo.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00087s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.0012s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/11 - Bach___Cantata_BWV_199,_Mein_Herze_schwimmt_im_Blut__Chorale.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00079s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.0011s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/12 - Bach___Cantata_BWV_199,_Mein_Herze_schwimmt_im_Blut__Recitativo.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00066s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00083s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/13 - Bach___Cantata_BWV_199,_Mein_Herze_schwimmt_im_Blut__Aria.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00064s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00076s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/14 - Purcell,_Henry___If_Music_Be_the_Food_of_Love.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00065s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00077s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/15 - Purcell,_Henry___The_Blessed_Virgin_s_Expostulation.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00064s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00075s 
amarok:  SCRIPT "Random Album" :  "Loading track file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/16 - Purcell,_Henry___An_Evening_Hymn.ogg" 
amarok: BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) 
amarok:   BEGIN: void Playlist::Controller::insertOptioned(Meta::TrackList, int) 
amarok:     [Playlist::Controller] engine state:  1 
amarok:   END__: void Playlist::Controller::insertOptioned(Meta::TrackList, int) - Took 0.00062s 
amarok: END__: void Playlist::Controller::insertOptioned(Meta::TrackPtr, int) - Took 0.00073s 
amarok: BEGIN: void Playlist::Actions::play(quint64, bool) 
amarok:   BEGIN: void EngineController::play(const Meta::TrackPtr&, uint) 
amarok:     [EngineController] Just a normal, boring track... :-P 
amarok:     BEGIN: void EngineController::playUrl(const KUrl&, uint) 
amarok:       [EngineController] URL:  "file:///music/collection/early/Dawn_Upshaw=Angels_Hide_Their_Faces/01%20-%20Purcell,_Henry___Music_for_a_While.ogg" 
amarok:       BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) 
amarok:         [EngineController] Using gain of 0 with relative peak of 0 
amarok:          returning bookmarkcurrenttrack action 
amarok:         BEGIN: virtual void ProgressWidget::engineNewTrackPlaying() 
amarok:           BEGIN: virtual void ProgressWidget::engineTrackLengthChanged(long int) 
amarok:              new length:  202 
amarok:              slider enabled! 
amarok:             BEGIN: void ProgressWidget::redrawBookmarks() 
amarok:                found  0  timecodes on this track 
amarok:             END__: void ProgressWidget::redrawBookmarks() - Took 0.0015s 
amarok:           END__: virtual void ProgressWidget::engineTrackLengthChanged(long int) - Took 0.0018s 
amarok:         END__: virtual void ProgressWidget::engineNewTrackPlaying() - Took 0.002s 
amarok:         BEGIN: void Playlist::PrettyListView::scrollToActiveTrack() 
amarok:           [Playlist::PrettyListView] skipping scroll? false 
amarok:         END__: void Playlist::PrettyListView::scrollToActiveTrack() - Took 5.5e-05s 
amarok:         BEGIN: virtual void TimecodeObserver::engineNewTrackPlaying() 
amarok:            curent track name:  "Music for a While" 
amarok:            Track timecodeable 
amarok:         END__: virtual void TimecodeObserver::engineNewTrackPlaying() - Took 6.1e-05s 
amarok:         BEGIN: virtual void Context::ContextView::engineNewTrackPlaying() 
amarok:           BEGIN: void WikipediaEngine::update() 
amarok:             BEGIN: bool EngineController::isStream() 
amarok:             END__: bool EngineController::isStream() - Took 3.5e-05s 
amarok:              wiki url:  "http://en.wikipedia.org/w/index.php?title=Henry%20Purcell%20%28band%29&useskin=monobook" 
amarok:           END__: void WikipediaEngine::update() - Took 0.00035s 
amarok:           BEGIN: virtual void LyricsEngine::message(const Context::ContextState&) 
amarok:             BEGIN: void ScriptManager::notifyFetchLyrics(const QString&, const QString&) 
amarok:               BEGIN: static QScriptValue Downloader::init(QScriptContext*, QScriptEngine*, bool) 
amarok:               END__: static QScriptValue Downloader::init(QScriptContext*, QScriptEngine*, bool) - Took 0.00048s 
amarok:             END__: void ScriptManager::notifyFetchLyrics(const QString&, const QString&) - Took 0.023s 
amarok:           END__: virtual void LyricsEngine::message(const Context::ContextState&) - Took 0.024s 
amarok:         END__: virtual void Context::ContextView::engineNewTrackPlaying() - Took 0.024s 
amarok:         BEGIN: virtual void ProgressWidget::engineNewTrackPlaying() 
amarok:           BEGIN: virtual void ProgressWidget::engineTrackLengthChanged(long int) 
amarok:              new length:  202 
amarok:              slider enabled! 
amarok:             BEGIN: void ProgressWidget::redrawBookmarks() 
amarok:                found  0  timecodes on this track 
amarok:             END__: void ProgressWidget::redrawBookmarks() - Took 0.00095s 
amarok:           END__: virtual void ProgressWidget::engineTrackLengthChanged(long int) - Took 0.0012s 
amarok:         END__: virtual void ProgressWidget::engineNewTrackPlaying() - Took 0.0013s 
amarok:       END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) - Took 0.089s 
amarok:     END__: void EngineController::playUrl(const KUrl&, uint) - Took 0.09s 
amarok:   END__: void EngineController::play(const Meta::TrackPtr&, uint) - Took 0.09s 
amarok: END__: void Playlist::Actions::play(quint64, bool) - Took 0.09s 
amarok: BEGIN: void EngineController::slotTrackLengthChanged(qint64) 
amarok:   BEGIN: virtual void ProgressWidget::engineTrackLengthChanged(long int) 
amarok:      new length:  202 
amarok:      slider enabled! 
amarok:     BEGIN: void ProgressWidget::redrawBookmarks() 
amarok:        found  0  timecodes on this track 
amarok:     END__: void ProgressWidget::redrawBookmarks() - Took 0.0011s 
amarok:   END__: virtual void ProgressWidget::engineTrackLengthChanged(long int) - Took 0.0014s 
amarok:   BEGIN: virtual void ProgressWidget::engineTrackLengthChanged(long int) 
amarok:      new length:  202 
amarok:      slider enabled! 
amarok:     BEGIN: void ProgressWidget::redrawBookmarks() 
amarok:        found  0  timecodes on this track 
amarok:     END__: void ProgressWidget::redrawBookmarks() - Took 0.0055s 
amarok:   END__: virtual void ProgressWidget::engineTrackLengthChanged(long int) - Took 0.0057s 
amarok: END__: void EngineController::slotTrackLengthChanged(qint64) - Took 0.0076s 
amarok: BEGIN: void EngineController::slotMetaDataChanged() 
amarok:   [EngineController] Artist     :  ("Henry Purcell") 
amarok:   [EngineController] Album      :  ("Angels Hide Their Faces (Dawn Upshaw)") 
amarok:   [EngineController] Title      :  ("Music for a While") 
amarok:   [EngineController] Genre      :  ("Classical") 
amarok:   [EngineController] Tracknumber:  ("01") 
amarok:   [EngineController] Length     :  () 
amarok:   [EngineController] Track changed:  true 
amarok:   BEGIN: void EngineSubject::newMetaDataNotify(const QHash<long long int, QString>&, bool) 
amarok:      returning bookmarkcurrenttrack action 
amarok:     BEGIN: virtual void Context::ContextView::engineNewMetaData(const QHash<long long int, QString>&, bool) 
amarok:     END__: virtual void Context::ContextView::engineNewMetaData(const QHash<long long int, QString>&, bool) - Took 9.2e-05s 
amarok:      returning bookmarkcurrenttrack action 
amarok:   END__: void EngineSubject::newMetaDataNotify(const QHash<long long int, QString>&, bool) - Took 0.01s 
amarok: END__: void EngineController::slotMetaDataChanged() - Took 0.011s 
amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) 
amarok:   BEGIN: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) 
amarok:     BEGIN: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) 
amarok:       [MainWindow] Phonon state:  3 
amarok:     END__: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) - Took 9.8e-05s 
amarok:     BEGIN: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) 
amarok:     END__: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) - Took 5.6e-05s 
amarok:     BEGIN: virtual void SqlPodcastProvider::engineStateChanged(Phonon::State, Phonon::State) 
amarok:        NEWSTATE:  3 OLDSTATE:  1 
amarok:     END__: virtual void SqlPodcastProvider::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00025s 
amarok:     BEGIN: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) 
amarok:     END__: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) - Took 5.6e-05s 
amarok:      returning bookmarkcurrenttrack action 
amarok:     BEGIN: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) 
amarok:     END__: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00013s 
amarok:     BEGIN: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) 
amarok:        NEWSTATE:  3 OLDSTATE:  1 
amarok:     END__: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00011s 
amarok:      returning bookmarkcurrenttrack action 
amarok:     BEGIN: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) 
amarok:     END__: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) - Took 6.6e-05s 
amarok:   END__: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) - Took 0.014s 
amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) - Took 0.014s 
amarok:  lyrics small sizehint height: 192 
amarok: BEGIN: void EngineController::slotTrackLengthChanged(qint64) 
amarok:   BEGIN: virtual void ProgressWidget::engineTrackLengthChanged(long int) 
amarok:      new length:  202 
amarok:      slider enabled! 
amarok:     BEGIN: void ProgressWidget::redrawBookmarks() 
amarok:        found  0  timecodes on this track 
amarok:     END__: void ProgressWidget::redrawBookmarks() - Took 0.00077s 
amarok:   END__: virtual void ProgressWidget::engineTrackLengthChanged(long int) - Took 0.00086s 
amarok:   BEGIN: virtual void ProgressWidget::engineTrackLengthChanged(long int) 
amarok:      new length:  202 
amarok:      slider enabled! 
amarok:     BEGIN: void ProgressWidget::redrawBookmarks() 
amarok:        found  0  timecodes on this track 
amarok:     END__: void ProgressWidget::redrawBookmarks() - Took 0.00045s 
amarok:   END__: virtual void ProgressWidget::engineTrackLengthChanged(long int) - Took 0.00053s 
amarok: END__: void EngineController::slotTrackLengthChanged(qint64) - Took 0.0015s 
amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) 
amarok:   BEGIN: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) 
amarok:     BEGIN: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) 
amarok:       [MainWindow] Phonon state:  2 
amarok:     END__: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00018s 
amarok:     BEGIN: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) 
amarok:       BEGIN: void OSDWidget::show(const QString&, QImage) 
amarok:       END__: void OSDWidget::show(const QString&, QImage) - Took 9.1e-05s 
amarok:     END__: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00088s 
amarok:      returning bookmarkcurrenttrack action 
amarok:     BEGIN: virtual void SqlPodcastProvider::engineStateChanged(Phonon::State, Phonon::State) 
amarok:        NEWSTATE:  2 OLDSTATE:  3 
amarok:     END__: virtual void SqlPodcastProvider::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00018s 
amarok:     BEGIN: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) 
amarok:     END__: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) - Took 8.3e-05s 
amarok:      returning bookmarkcurrenttrack action 
amarok:     BEGIN: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) 
amarok:        PlayingState: clear text 
amarok:     END__: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00084s 
amarok:     BEGIN: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) 
amarok:        NEWSTATE:  2 OLDSTATE:  3 
amarok:     END__: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00012s 
amarok:      returning bookmarkcurrenttrack action 
amarok:     BEGIN: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) 
amarok:     END__: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) - Took 6.6e-05s 
amarok:   END__: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) - Took 0.012s 
amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) - Took 0.012s 
amarok: BEGIN: void WikipediaEngine::wikiResult(KJob*) 
amarok:    Article not found. Retrying with refinements. 
amarok:   BEGIN: void WikipediaEngine::reloadWikipedia() 
amarok:      wiki url:  "http://en.wikipedia.org/w/index.php?title=Henry%20Purcell%20%28musician%29&useskin=monobook" 
amarok:   END__: void WikipediaEngine::reloadWikipedia() - Took 0.00029s 
amarok: END__: void WikipediaEngine::wikiResult(KJob*) - Took 0.00095s 
amarok: BEGIN: void WikipediaEngine::wikiResult(KJob*) 
amarok:    Article not found. Retrying with refinements. 
amarok:   BEGIN: void WikipediaEngine::reloadWikipedia() 
amarok:      wiki url:  "http://en.wikipedia.org/w/index.php?title=Henry%20Purcell%20%28singer%29&useskin=monobook" 
amarok:   END__: void WikipediaEngine::reloadWikipedia() - Took 0.0003s 
amarok: END__: void WikipediaEngine::wikiResult(KJob*) - Took 0.00094s 
amarok: BEGIN: void WikipediaEngine::wikiResult(KJob*) 
amarok:    Article not found. Retrying with refinements. 
amarok:   BEGIN: void WikipediaEngine::reloadWikipedia() 
amarok:      wiki url:  "http://en.wikipedia.org/w/index.php?title=Henry%20Purcell&useskin=monobook" 
amarok:   END__: void WikipediaEngine::reloadWikipedia() - Took 0.00022s 
amarok: END__: void WikipediaEngine::wikiResult(KJob*) - Took 0.00074s 
amarok: BEGIN: void WikipediaEngine::wikiResult(KJob*) 
amarok: END__: void WikipediaEngine::wikiResult(KJob*) - Took 0.023s 

GLib-ERROR **: Cannot create pipe main loop wake-up: Too many open files

aborting...
KCrash: Application 'amarok' crashing...
amarok: Fatal IO error: client killed
Assertion 'pa_close(fds[0]) == 0' failed at pulsecore/core-util.c:2144, function pa_close_pipe(). Aborting.
sock_file=/home/mjh/.kde/socket-tardis.hewitt.home/kdeinit4__0
Unable to start Dr. Konqi
Comment 3 Myriam Schweingruber 2009-10-19 12:03:10 UTC
What puzzles me is that there is a mention of pulsecore and "skin=monobook"

Do you use any particular skin or theme for Amarok or KDE?

I also suspect this to be a crash not so much in Amarok but in pulseaudio...

Please make sure to have all debugging packages installed, as well as Dr. Konqi.
Comment 4 Mark J Hewitt 2009-10-19 13:30:38 UTC
I am running "amarok" under Gnome, though all the kde 4 libraries and runtime are installed.
I have installed all the debug symbols using the process documented for Fedora 11, but still cannot produce a stacktrace.  

I thought drkonqi was part of kde3, at least as a command line tool?

Anyway, I'll try running this with gdb since clearly bug-buddy and drkonqi are not helping.
Comment 5 Myriam Schweingruber 2009-10-19 14:06:20 UTC
You should run a marok from a terminal with --debug --nofork, that should give you a correct backtrace. Make sure to install all the debugging packages for the running apps, especially for amarok, phonon and pulseaudio.
Comment 6 Mark J Hewitt 2009-10-22 00:30:33 UTC
Created attachment 37722 [details]
Amarok backtrace

Finally, a stacktrace :-)
Comment 7 Mark J Hewitt 2009-10-22 00:34:14 UTC
Created attachment 37723 [details]
And the debug log at the time of the crash

Console output of "amarok --nofork --debug" at the time of the crash
Comment 8 Myriam Schweingruber 2009-10-22 01:12:46 UTC
(In reply to comment #6)
> Created an attachment (id=37722) [details]
> Amarok backtrace

Please paste backtraces in line, it spares us some time (you didn't set the attached file to be a text file, impossible to read it without downloading...):

Application: Amarok (amarok), signal: Aborted
[Current thread is 1 (Thread 0x7f226c171860 (LWP 22133))]

Thread 12 (Thread 0x7f225eb58910 (LWP 22135)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220
#1  0x00007f22647f05c1 in ?? () from /usr/lib64/libxine.so.1
#2  0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#3  0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f225ce66910 (LWP 22136)):
#0  0x00000030ac8d50d3 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=88) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00000030af43aecc in g_main_context_poll (n_fds=<value optimized out>, fds=<value optimized out>, priority=<value optimized out>, timeout=<value optimized out>, context=<value optimized out>)
    at gmain.c:2768
#2  g_main_context_iterate (n_fds=<value optimized out>, fds=<value optimized out>, priority=<value optimized out>, timeout=<value optimized out>, context=<value optimized out>) at gmain.c:2450
#3  0x00000030af43b20a in IA__g_main_context_iteration (context=0x7f2258000990, may_block=1) at gmain.c:2518
#4  0x00000030b816798e in QEventDispatcherGlib::processEvents (this=0x7f22580008c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#5  0x00000030b813ded2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 36}) at kernel/qeventloop.cpp:149
#6  0x00000030b813e2a4 in QEventLoop::exec (this=0x7f225ce65ef0, flags={i = 0}) at kernel/qeventloop.cpp:201
#7  0x00000030b8056f8b in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#8  0x00007f2264a49b3e in Phonon::Xine::XineThread::run (this=0x2874930) at /usr/src/debug/phonon-4.3.1/xine/xinethread.cpp:143
#9  0x00000030b8059d45 in QThreadPrivate::start (arg=0x2874930) at thread/qthread_unix.cpp:188
#10 0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#11 0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f2253ffe910 (LWP 22142)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f2264801493 in ?? () from /usr/lib64/libxine.so.1
#2  0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#3  0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f2257df9910 (LWP 22143)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f2264801493 in ?? () from /usr/lib64/libxine.so.1
#2  0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#3  0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f22573f8910 (LWP 22146)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00000030b805adfb in QWaitConditionPrivate::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00000030c7e0aaf6 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x32db3e0, th=0x32dbd00) at /usr/src/debug/kdelibs-4.3.1/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00000030c7e0cbfb in ThreadWeaver::WorkingHardState::applyForWork (this=0x32a99e0, th=0x32dbd00) at /usr/src/debug/kdelibs-4.3.1/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00000030c7e0b21f in ThreadWeaver::ThreadRunHelper::run (this=0x7f22573f7f40, parent=0x32db3e0, th=0x32dbd00) at /usr/src/debug/kdelibs-4.3.1/threadweaver/Weaver/Thread.cpp:87
#6  0x00000030c7e0b658 in ThreadWeaver::Thread::run (this=0x32dbd00) at /usr/src/debug/kdelibs-4.3.1/threadweaver/Weaver/Thread.cpp:142
#7  0x00000030b8059d45 in QThreadPrivate::start (arg=0x32dbd00) at thread/qthread_unix.cpp:188
#8  0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#9  0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f22482fe910 (LWP 22147)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00000030b805adfb in QWaitConditionPrivate::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00000030c7e0aaf6 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x32db3e0, th=0x32dc970) at /usr/src/debug/kdelibs-4.3.1/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00000030c7e0cbfb in ThreadWeaver::WorkingHardState::applyForWork (this=0x32a99e0, th=0x32dc970) at /usr/src/debug/kdelibs-4.3.1/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00000030c7e0b21f in ThreadWeaver::ThreadRunHelper::run (this=0x7f22482fdf40, parent=0x32db3e0, th=0x32dc970) at /usr/src/debug/kdelibs-4.3.1/threadweaver/Weaver/Thread.cpp:87
#6  0x00000030c7e0b658 in ThreadWeaver::Thread::run (this=0x32dc970) at /usr/src/debug/kdelibs-4.3.1/threadweaver/Weaver/Thread.cpp:142
#7  0x00000030b8059d45 in QThreadPrivate::start (arg=0x32dc970) at thread/qthread_unix.cpp:188
#8  0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#9  0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f222afc8910 (LWP 22153)):
#0  0x00000030ac8d7102 in select () from /lib64/libc.so.6
#1  0x00007f2264818a85 in xine_usec_sleep () from /usr/lib64/libxine.so.1
#2  0x00007f22647fe289 in ?? () from /usr/lib64/libxine.so.1
#3  0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#4  0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f222a1de910 (LWP 22154)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f22647f3f0b in ?? () from /usr/lib64/libxine.so.1
#2  0x00007f22647f9f0d in ?? () from /usr/lib64/libxine.so.1
#3  0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#4  0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f2229610910 (LWP 22155)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f22647f3f0b in ?? () from /usr/lib64/libxine.so.1
#2  0x00007f22647faf8d in ?? () from /usr/lib64/libxine.so.1
#3  0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#4  0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f2228c0f910 (LWP 22156)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f22648045bb in xine_event_wait () from /usr/lib64/libxine.so.1
#2  0x00007f226480462e in ?? () from /usr/lib64/libxine.so.1
#3  0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#4  0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f220ef74910 (LWP 20986)):
[KCrash Handler]
#5  0x00000030ac8332f5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00000030ac834b20 in *__GI_abort () at abort.c:88
#7  0x00000030af441b27 in IA__g_logv (log_domain=<value optimized out>, log_level=<value optimized out>, format=<value optimized out>, args1=0x7f220ef73db0) at gmessages.c:506
#8  0x00000030af441bb3 in IA__g_log (log_domain=0x5675 <Address 0x5675 out of bounds>, log_level=20986, format=0x6 <Address 0x6 out of bounds>) at gmessages.c:526
#9  0x00000030af438490 in g_main_context_init_pipe (context=0x7f2218003300) at gmain.c:415
#10 0x00000030af438545 in IA__g_main_context_new () at gmain.c:510
#11 0x00000030b816888d in QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate (this=0x7f2218001b50, context=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:242
#12 0x00000030b8168af0 in QEventDispatcherGlib::QEventDispatcherGlib(struct QObject *) (this=0x7f22180032e0, parent=0x0) at kernel/qeventdispatcher_glib.cpp:270
#13 0x00000030b8059bbf in QThreadPrivate::createEventDispatcher (data=0xd82dcc0) at thread/qthread_unix.cpp:159
#14 0x00000030b8059d25 in QThreadPrivate::start (arg=0xd83f9e0) at thread/qthread_unix.cpp:183
#15 0x00000030ad40686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#16 0x00000030ac8de3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#17 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f226c171860 (LWP 22133)):
#0  0x00000030ae408822 in ?? () from /usr/lib64/libxcb.so.1
#1  0x00000030ae408d67 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00000030ae409015 in xcb_writev () from /usr/lib64/libxcb.so.1
#3  0x00000030ae04c8aa in _XSend (dpy=0x26d6950, data=0x0, size=<value optimized out>) at xcb_io.c:332
#4  0x00000030ae04cdd1 in _XEventsQueued (dpy=0x26f7bc8, mode=<value optimized out>) at xcb_io.c:253
#5  0x00000030ae035c7b in XEventsQueued (dpy=0x26d6950, mode=2) at Pending.c:44
#6  0x00000030b9a221b7 in x11EventSourcePrepare (s=0x26d4c10, timeout=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:79
#7  0x00000030af43a90a in IA__g_main_context_prepare (context=0x26f1120, priority=<value optimized out>) at gmain.c:2144
#8  0x00000030af43ace1 in g_main_context_iterate (context=0x26f1120, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2435
#9  0x00000030af43b20a in IA__g_main_context_iteration (context=0x26f1120, may_block=1) at gmain.c:2518
#10 0x00000030b8167936 in QEventDispatcherGlib::processEvents (this=0x25c4c30, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#11 0x00000030b9a21f8e in QGuiEventDispatcherGlib::processEvents (this=0x26f7bc8, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#12 0x00000030b813ded2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 36}) at kernel/qeventloop.cpp:149
#13 0x00000030b813e2a4 in QEventLoop::exec (this=0x7fffbaa56ae0, flags={i = 0}) at kernel/qeventloop.cpp:201
#14 0x00000030b8140439 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#15 0x0000000000409d26 in main (argc=<value optimized out>, argv=0x7fffbaa588f8) at /usr/src/debug/amarok-2.2.0/src/main.cpp:225
Comment 9 Myriam Schweingruber 2009-10-22 01:15:31 UTC
This is not a crash in Amarok, it looks more like a problem with Qt.
Comment 10 Myriam Schweingruber 2009-10-22 01:20:16 UTC
Pasting the relevant part of the console output (after downloading and extracting the gz archive):

amarok: BEGIN: void EngineController::slotTrackLengthChanged(qint64) 
amarok:   BEGIN: virtual void ProgressWidget::engineTrackLengthChanged(long int) 
amarok:      new length:  931 
amarok:      slider enabled! 
amarok:     BEGIN: void ProgressWidget::redrawBookmarks() 
amarok:        found  0  timecodes on this track 
amarok:     END__: void ProgressWidget::redrawBookmarks() - Took 0.00098s 
amarok:   END__: virtual void ProgressWidget::engineTrackLengthChanged(long int) - Took 0.0014s 
amarok:   BEGIN: virtual void ProgressWidget::engineTrackLengthChanged(long int) 
amarok:      new length:  931 
amarok:      slider enabled! 
amarok:     BEGIN: void ProgressWidget::redrawBookmarks() 
amarok:        found  0  timecodes on this track 
amarok:     END__: void ProgressWidget::redrawBookmarks() - Took 0.00072s 
amarok:   END__: virtual void ProgressWidget::engineTrackLengthChanged(long int) - Took 0.0011s 
amarok: END__: void EngineController::slotTrackLengthChanged(qint64) - Took 0.0028s 
amarok: BEGIN: void EngineController::slotMetaDataChanged() 
amarok:   [EngineController] Artist     :  ("Mike Rutherford") 
amarok:   [EngineController] Album      :  ("Smallcreep's day") 
amarok:   [EngineController] Title      :  ("Cats and rats") 
amarok:   [EngineController] Genre      :  ("Rock") 
amarok:   [EngineController] Tracknumber:  ("04") 
amarok:   [EngineController] Length     :  () 
amarok:   [EngineController] Track changed:  true 
amarok:   BEGIN: void EngineSubject::newMetaDataNotify(const QHash<long long int, QString>&, bool) 
amarok:      returning bookmarkcurrenttrack action 
amarok:     BEGIN: virtual void Context::ContextView::engineNewMetaData(const QHash<long long int, QString>&, bool) 
amarok:     END__: virtual void Context::ContextView::engineNewMetaData(const QHash<long long int, QString>&, bool) - Took 0.00013s 
amarok:      returning bookmarkcurrenttrack action 
amarok:   END__: void EngineSubject::newMetaDataNotify(const QHash<long long int, QString>&, bool) - Took 0.014s 
amarok: END__: void EngineController::slotMetaDataChanged() - Took 0.014s 
amarok:  lyrics small sizehint height: 192 
amarok:  collapsing applet to... 80 
amarok: BEGIN: void AmarokDownloadHelper::resultData(KJob*) 
amarok:   BEGIN: static QScriptValue Downloader::init(QScriptContext*, QScriptEngine*, bool) 
amarok:   END__: static QScriptValue Downloader::init(QScriptContext*, QScriptEngine*, bool) - Took 0.00036s 
amarok: END__: void AmarokDownloadHelper::resultData(KJob*) - Took 0.04s 

GLib-ERROR **: Cannot create pipe main loop wake-up: Too many open files

aborting...
system call fstat: Bad file descriptor
system call fstat: Bad file descriptor
KCrash: Application 'amarok' crashing...
system call fstat: Bad file descriptor
Comment 11 Myriam Schweingruber 2009-10-22 01:22:43 UTC
Could this be a problem with the Script engine? See also backtrace in Comment #8
Comment 12 Mark J Hewitt 2009-10-27 00:30:21 UTC
*** Bug 212006 has been marked as a duplicate of this bug. ***
Comment 13 Myriam Schweingruber 2009-10-27 08:05:31 UTC
Mark, after checking both backtraces, it really doesn't look like a crash in Amarok at all. Maybe a configuration or distro problem, could be in Qt. Please check with your distribution if they have ever heard of it.
Comment 14 Mark J Hewitt 2009-10-28 08:56:43 UTC
Just in case another user sees this issue, I will record here the cause.
It was certainly true that at the time of the crash amarok has 1024 file descriptors open.  That number increased pretty steadily over a 12 hour period.  On further investigation, over 900 of those file descriptors were to cache files used by the "ultimate lyrics" plugin.

I am currently testing a fix to submit back to the author.

Under normal operation, I discover that Amarok has a steady-state usages of 34 file descriptors in my configuration.
Comment 15 Mark Kretschmann 2009-10-28 09:12:08 UTC
The 1024 max open files issue has bitten me on Kubuntu too. In my case, I wasn't able to build Qt from source due to that. Changing the value to something bigger (10,000 or so) fixed it.

I really don't get why distros are doing this now...
Comment 16 Mark J Hewitt 2009-10-28 09:45:11 UTC
In this case, the third-party plugin has a resource leak, so ultimately (pun intended) the fd pool would be exhausted at any limit, unless something else was consumed first.

But I do agree that modern software practice is much less frugal with resources than previously, leading to limits being approached more often.

But a bug ticket is not a place for best practice discussions.
Comment 17 Mark Kretschmann 2009-10-28 09:50:23 UTC
You're right. Anyway, I've taken this issue to Kubuntu (knowing some of the core devs personally). Maybe they'll change it eventually.
Comment 18 Mark Kretschmann 2009-11-04 06:46:54 UTC
*** Bug 213026 has been marked as a duplicate of this bug. ***