Bug 465153

Summary: Segfault
Product: [Applications] audiotube Reporter: Justin Zobel <justin.zobel>
Component: generalAssignee: Jonah Brüchert <jbb>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
See Also: https://bugzilla.redhat.com/show_bug.cgi?id=2124951
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Justin Zobel 2023-02-02 03:23:51 UTC
From downstream report https://bugzilla.redhat.com/show_bug.cgi?id=2124951


Description of problem:
audiotube occasionally segfaults

Version-Release number of selected component (if applicable):
audiotube-22.06-1.fc37.x86_64

How reproducible:
infrequently

Steps to Reproduce:
1. use audiotube for a while
2. I think last I switched to play an album in shuffle mode while a song was still running.

Actual results:
exits with SIGSEGV sometimes

Expected results:
Keeps working

Additional info:

Thread 1 "audiotube" received signal SIGSEGV, Segmentation fault.
0x00005555555bba84 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) [clone .isra.0] ()
(gdb) bt
#0  0x00005555555bba84 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) [clone .isra.0] ()
#1  0x00005555555c28a1 in watch::Playlist::Track::operator=(watch::Playlist::Track&&) [clone .isra.0] ()
#2  0x00005555555a9175 in void std::shuffle<__gnu_cxx::__normal_iterator<watch::Playlist::Track*, std::vector<watch::Playlist::Track, std::allocator<watch::Playlist::Track> > >, QRandomGenerator&>(__gnu_cxx::__normal_iterator<watch::Playlist::Track*, std::vector<watch::Playlist::Track, std::allocator<watch::Playlist::Track> > >, __gnu_cxx::__normal_iterator<watch::Playlist::Track*, std::vector<watch::Playlist::Track, std::allocator<watch::Playlist::Track> > >, QRandomGenerator&) ()
#3  0x00005555555a9621 in UserPlaylistModel::shufflePlaylist() ()
#4  0x00005555555aac48 in QtPrivate::QFunctorSlotObject<connectFuture<watch::Playlist, UserPlaylistModel, UserPlaylistModel::UserPlaylistModel(QObject*)::{lambda(watch::Playlist const&)#1}>(QFuture<watch::Playlist> const&, UserPlaylistModel*, UserPlaylistModel::UserPlaylistModel(QObject*)::{lambda(watch::Playlist const&)#1} const&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) ()
#5  0x00007ffff66db8b6 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#6  0x00007ffff64f2155 in QFutureWatcherBase::event(QEvent*) () at /lib64/libQt5Core.so.5
#7  0x00007ffff71aed22 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#8  0x00007ffff66a8218 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#9  0x00007ffff66ab584 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#10 0x00007ffff66f9457 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#11 0x00007ffff4867c3f in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#12 0x00007ffff48bd4c8 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#13 0x00007ffff4864ec0 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#14 0x00007ffff66f8f4a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#15 0x00007ffff66a6c6a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#16 0x00007ffff66aed32 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#17 0x0000555555576c12 in main ()

Please let me know when you need additional data, I'll try to keep gdb open for a bit ...
Comment 1 Jonah Brüchert 2023-02-21 22:55:45 UTC
Git commit 59990c20296fda3b78dcbf57a7b61a4b49c81df7 by Jonah Brüchert.
Committed on 21/02/2023 at 22:55.
Pushed by jbbgameich into branch 'master'.

Fix crash on playing an album in shuffle mode while a track is playing

M  +1    -2    src/userplaylistmodel.cpp

https://invent.kde.org/multimedia/audiotube/commit/59990c20296fda3b78dcbf57a7b61a4b49c81df7