Bug#691294: phonon-backend-vlc: Segfaults on program close; fixed in upstream a8cda824
Package: phonon-backend-vlc
Version: 0.6.0-1
Severity: normal
Hi,
I've been testing the Last.fm scrobbling client located here:
https://github.com/lastfm/lastfm-desktop
But if I use phonon's vlc backend, the client consistently segfaults on
exit. The relevant snippet from valgrind has this:
==9018== Invalid read of size 8
==9018== at 0x26653959: QList<Phonon::VLC::SinkNode*>::removeAll(Phonon::VLC::SinkNode* const&) (qlist.h:725)
==9018== by 0x26653332: Phonon::VLC::MediaObject::removeSink(Phonon::VLC::SinkNode*) (mediaobject.cpp:737)
==9018== by 0x26654C00: Phonon::VLC::SinkNode::disconnectFromMediaObject(Phonon::VLC::MediaObject*) (sinknode.cpp:66)
==9018== by 0x266391DB: Phonon::VLC::AudioOutput::~AudioOutput() (audiooutput.cpp:44)
==9018== by 0x26639218: Phonon::VLC::AudioOutput::~AudioOutput() (audiooutput.cpp:46)
==9018== by 0x7DE1433: Phonon::MediaNodePrivate::deleteBackendObject() (medianode.cpp:81)
==9018== by 0x7DCDCEF: Phonon::FactoryPrivate::~FactoryPrivate() (factory.cpp:236)
==9018== by 0x7DCDFD8: Phonon::FactoryPrivate::~FactoryPrivate() (factory.cpp:246)
==9018== by 0x988BEA7: qt_call_post_routines() (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.2)
==9018== by 0x88FC57D: QApplication::~QApplication() (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.2)
==9018== by 0x429F28: main (main.cpp:97)
==9018== Address 0x2526d5c8 is 168 bytes inside a block of size 208 free'd
==9018== at 0x4C279DC: operator delete(void*) (vg_replace_malloc.c:457)
==9018== by 0x7DE1433: Phonon::MediaNodePrivate::deleteBackendObject() (medianode.cpp:81)
==9018== by 0x7DCDCEF: Phonon::FactoryPrivate::~FactoryPrivate() (factory.cpp:236)
==9018== by 0x7DCDFD8: Phonon::FactoryPrivate::~FactoryPrivate() (factory.cpp:246)
==9018== by 0x988BEA7: qt_call_post_routines() (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.2)
==9018== by 0x88FC57D: QApplication::~QApplication() (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.2)
==9018== by 0x429F28: main (main.cpp:97)
The following upstream commit fixes it by guarding a pointer. No more
segfaults :)
https://projects.kde.org/projects/kdesupport/phonon/phonon-vlc/repository/revisions/a8cda824ae8a81059c75e97d8a82d571ba84e459/diff.diff
Regards,
John Stamp
Reply to: