AudioTube in KDEReview

David Hurka david.hurka at mailbox.org
Wed Jun 30 00:07:15 BST 2021


> Hi everyone!
> 
> I would like to move AudioTube to KDEReview. [...]

Hi again!

It crashes every time I try to search when the network is disconnected.

> [...]
> Thread 8 (Thread 0x7fd22f7fe700 (LWP 48286)):
> [KCrash Handler]
> #4  __new_sem_wait_fast (definitive_result=0, sem=0x0)
> at sem_waitcommon.c:137
> #5  __new_sem_wait (sem=0x0) at sem_wait.c:39
> #6  0x00007fd24ceea3b7 in PyThread_acquire_lock_timed ()
> at /lib/x86_64-linux-gnu/libpython3.8.so.1.0
> [...]
> #14 0x000055ad5dcf5d45 in AsyncYTMusic::internalSearch(QString const&)
> (this=0x55ad5ddb8030 <YTMusicThread::instance()::thread+16>, query=...)
> at ../src/asyncytmusic.cpp:66
> [...]

And when the network is connected, it often has trouble with playing the music 
without interruptions. If a track played for 5 minutes, it starts to pause for 
some seconds every 20 seconds. youtube-dl is not limiting here. If invoked 
manually, it downloads the whole video in a few seconds.

Cheers, David
-------------- next part --------------
Application: AudioTube (audiotube), signal: Segmentation fault

[New LWP 48280]
[New LWP 48281]
[New LWP 48282]
[New LWP 48283]
[New LWP 48284]
[New LWP 48285]
[New LWP 48286]
[New LWP 48289]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55ad5eb62884) at ../sysdeps/nptl/futex-internal.h:183
[Current thread is 1 (Thread 0x7fd249301cc0 (LWP 48278))]

Thread 9 (Thread 0x7fd22e94c700 (LWP 48289)):
#0  0x00007fd24ca92aff in __GI___poll (fds=0x7fd22e94ac88, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fd24b558c1a in  () at /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fd24b55aa02 in xcb_wait_for_special_event () at /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fd236e01096 in glPrimitiveBoundingBox () at /lib/x86_64-linux-gnu/libGLX_mesa.so.0
#4  0x00007fd236e0141a in glPrimitiveBoundingBox () at /lib/x86_64-linux-gnu/libGLX_mesa.so.0
#5  0x00007fd236e025ae in glPrimitiveBoundingBox () at /lib/x86_64-linux-gnu/libGLX_mesa.so.0
#6  0x00007fd236e0365c in glPrimitiveBoundingBox () at /lib/x86_64-linux-gnu/libGLX_mesa.so.0
#7  0x00007fd235e0fa4c in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#8  0x00007fd235e101d9 in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#9  0x00007fd235e0c697 in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#10 0x00007fd24696cb0a in QSGBatchRenderer::Renderer::renderBatches() () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#11 0x00007fd24696d22a in QSGBatchRenderer::Renderer::render() () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#12 0x00007fd246950de4 in QSGRenderer::renderScene(QSGBindable const&) () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#13 0x00007fd2469512b3 in QSGRenderer::renderScene(unsigned int) () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#14 0x00007fd2469bffa7 in QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#15 0x00007fd246a2d8f9 in QQuickWindowPrivate::renderSceneGraph(QSize const&, QSize const&) () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#16 0x00007fd2469cdae9 in  () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#17 0x00007fd2469d1f77 in  () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#18 0x00007fd24d391d4c in QThreadPrivate::start(void*) (arg=0x55ad5fe5a2d0) at thread/qthread_unix.cpp:329
#19 0x00007fd24bf33609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#20 0x00007fd24ca9f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fd22f7fe700 (LWP 48286)):
[KCrash Handler]
#4  __new_sem_wait_fast (definitive_result=0, sem=0x0) at sem_waitcommon.c:137
#5  __new_sem_wait (sem=0x0) at sem_wait.c:39
#6  0x00007fd24ceea3b7 in PyThread_acquire_lock_timed () at /lib/x86_64-linux-gnu/libpython3.8.so.1.0
#7  0x00007fd24cefb7f9 in PyThreadState_New () at /lib/x86_64-linux-gnu/libpython3.8.so.1.0
#8  0x00007fd24cefb8b4 in PyGILState_Ensure () at /lib/x86_64-linux-gnu/libpython3.8.so.1.0
#9  0x000055ad5dd325fd in pybind11::detail::get_internals()::gil_scoped_acquire_local::gil_scoped_acquire_local() (this=0x7fd22f7fd554) at /usr/include/pybind11/detail/internals.h:240
#10 0x000055ad5dd33139 in pybind11::detail::get_internals() () at /usr/include/pybind11/detail/internals.h:243
#11 0x000055ad5dd3ab62 in pybind11::gil_scoped_acquire::gil_scoped_acquire() (this=0x7fd22f7fd640) at /usr/include/pybind11/pybind11.h:1896
#12 0x000055ad5dd3adbb in pybind11::error_already_set::~error_already_set() (this=0x7fd2202ce490, __in_chrg=<optimized out>) at /usr/include/pybind11/pybind11.h:2016
#13 0x00007fd24cc345f3 in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
#14 0x000055ad5dcf5d45 in AsyncYTMusic::internalSearch(QString const&) (this=0x55ad5ddb8030 <YTMusicThread::instance()::thread+16>, query=...) at ../src/asyncytmusic.cpp:66
#15 0x000055ad5dcfadb3 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (AsyncYTMusic::*)(QString const&)>::call(void (AsyncYTMusic::*)(QString const&), AsyncYTMusic*, void**) (f=(void (AsyncYTMusic::*)(class AsyncYTMusic * const, const class QString &)) 0x55ad5dcf5bb2 <AsyncYTMusic::internalSearch(QString const&)>, o=0x55ad5ddb8030 <YTMusicThread::instance()::thread+16>, arg=0x7fd214009088) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#16 0x000055ad5dcfa72d in QtPrivate::FunctionPointer<void (AsyncYTMusic::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (AsyncYTMusic::*)(QString const&), AsyncYTMusic*, void**) (f=(void (AsyncYTMusic::*)(class AsyncYTMusic * const, const class QString &)) 0x55ad5dcf5bb2 <AsyncYTMusic::internalSearch(QString const&)>, o=0x55ad5ddb8030 <YTMusicThread::instance()::thread+16>, arg=0x7fd214009088) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#17 0x000055ad5dcf9e75 in QtPrivate::QSlotObject<void (AsyncYTMusic::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55ad5e7d96c0, r=0x55ad5ddb8030 <YTMusicThread::instance()::thread+16>, a=0x7fd214009088, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418
#18 0x00007fd24d5a6289 in QObject::event(QEvent*) (this=0x55ad5ddb8030 <YTMusicThread::instance()::thread+16>, e=0x7fd214009040) at kernel/qobject.cpp:1314
#19 0x00007fd24da3fdc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this at entry=0x55ad5e3ac860, receiver=receiver at entry=0x55ad5ddb8030 <YTMusicThread::instance()::thread+16>, e=e at entry=0x7fd214009040) at kernel/qapplication.cpp:3632
#20 0x00007fd24da48bb8 in QApplication::notify(QObject*, QEvent*) (this=0x7ffd05685200, receiver=0x55ad5ddb8030 <YTMusicThread::instance()::thread+16>, e=0x7fd214009040) at kernel/qapplication.cpp:3156
#21 0x00007fd24d5786ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55ad5ddb8030 <YTMusicThread::instance()::thread+16>, event=0x7fd214009040) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#22 0x00007fd24d57aff1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55ad5e7d9300) at kernel/qcoreapplication.cpp:1821
#23 0x00007fd24d5d38e7 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x7fd220004bb0) at kernel/qeventdispatcher_glib.cpp:277
#24 0x00007fd24b5fe17d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007fd24b5fe400 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fd24b5fe4a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007fd24d5d2f42 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fd220000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#28 0x00007fd24d5771eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this at entry=0x7fd22f7fdd60, flags=..., flags at entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#29 0x00007fd24d390bb2 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#30 0x00007fd24d391d4c in QThreadPrivate::start(void*) (arg=0x55ad5ddb8020 <YTMusicThread::instance()::thread>) at thread/qthread_unix.cpp:329
#31 0x00007fd24bf33609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#32 0x00007fd24ca9f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fd22ffff700 (LWP 48285)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55ad5e565588) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ad5e565538, cond=0x55ad5e565560) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55ad5e565560, mutex=0x55ad5e565538) at pthread_cond_wait.c:638
#3  0x00007fd23624ae6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fd23624aa6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fd24bf33609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fd24ca9f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fd234b41700 (LWP 48284)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55ad5e565588) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ad5e565538, cond=0x55ad5e565560) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55ad5e565560, mutex=0x55ad5e565538) at pthread_cond_wait.c:638
#3  0x00007fd23624ae6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fd23624aa6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fd24bf33609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fd24ca9f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fd235342700 (LWP 48283)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55ad5e565588) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ad5e565538, cond=0x55ad5e565560) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55ad5e565560, mutex=0x55ad5e565538) at pthread_cond_wait.c:638
#3  0x00007fd23624ae6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fd23624aa6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fd24bf33609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fd24ca9f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fd235b43700 (LWP 48282)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55ad5e565588) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ad5e565538, cond=0x55ad5e565560) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55ad5e565560, mutex=0x55ad5e565538) at pthread_cond_wait.c:638
#3  0x00007fd23624ae6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fd23624aa6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fd24bf33609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fd24ca9f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fd244bef700 (LWP 48281)):
#0  0x00007fd24ca92aff in __GI___poll (fds=0x7fd23c004a60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fd24b5fe36e in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd24b5fe4a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd24d5d2f5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fd23c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007fd24d5771eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this at entry=0x7fd244beed30, flags=..., flags at entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007fd24d390bb2 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007fd248aaef4b in  () at /lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007fd24d391d4c in QThreadPrivate::start(void*) (arg=0x7fd248b32d80) at thread/qthread_unix.cpp:329
#8  0x00007fd24bf33609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007fd24ca9f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fd2461e5700 (LWP 48280)):
#0  0x00007fd24ca92aff in __GI___poll (fds=0x7fd238004e60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fd24b5fe36e in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd24b5fe4a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd24d5d2f5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fd238000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007fd24d5771eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this at entry=0x7fd2461e4d40, flags=..., flags at entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007fd24d390bb2 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007fd24e2e0559 in  () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007fd24d391d4c in QThreadPrivate::start(void*) (arg=0x55ad5e4895a0) at thread/qthread_unix.cpp:329
#8  0x00007fd24bf33609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007fd24ca9f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fd249301cc0 (LWP 48278)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55ad5eb62884) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ad5eb62830, cond=0x55ad5eb62858) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55ad5eb62858, mutex=0x55ad5eb62830) at pthread_cond_wait.c:638
#3  0x00007fd24d397ebb in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x55ad5eb62830) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x55ad5fe5a328, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007fd2469d0137 in  () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007fd2469d0d14 in  () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007fd246a3be67 in QQuickWindow::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Quick.so.5
#8  0x00007fd24da3fdc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this at entry=0x55ad5e3ac860, receiver=receiver at entry=0x55ad5e48c6b0, e=e at entry=0x7ffd05684c90) at kernel/qapplication.cpp:3632
#9  0x00007fd24da48bb8 in QApplication::notify(QObject*, QEvent*) (this=0x7ffd05685200, receiver=0x55ad5e48c6b0, e=0x7ffd05684c90) at kernel/qapplication.cpp:3156
#10 0x00007fd24d5786ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55ad5e48c6b0, event=0x7ffd05684c90) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#11 0x00007fd24c247d64 in QPlatformWindow::deliverUpdateRequest() (this=<optimized out>) at kernel/qplatformwindow.cpp:789
#12 QPlatformWindow::windowEvent(QEvent*) (this=<optimized out>, event=<optimized out>) at kernel/qplatformwindow.cpp:476
#13 0x00007fd24da48a83 in QApplication::notify(QObject*, QEvent*) (this=0x7ffd05685200, receiver=0x55ad5e48c6b0, e=0x7ffd05684f20) at kernel/qapplication.cpp:2874
#14 0x00007fd24d5786ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55ad5e48c6b0, event=0x7ffd05684f20) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#15 0x00007fd24d5d2290 in QTimerInfoList::activateTimers() (this=0x55ad5e474280) at kernel/qtimerinfo_unix.cpp:643
#16 0x00007fd24d5d2bc4 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
#17 idleTimerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:230
#18 0x00007fd24b5fe17d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007fd24b5fe400 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007fd24b5fe4a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fd24d5d2f42 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55ad5e477a30, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#22 0x00007fd24d5771eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this at entry=0x7ffd05685160, flags=..., flags at entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#23 0x00007fd24d57f3a4 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#24 0x000055ad5dcef3f0 in main(int, char**) (argc=1, argv=0x7ffd05685338) at ../src/main.cpp:62
[Inferior 1 (process 48278) detached]


More information about the kde-devel mailing list