Skip to content

Draft: scheduler: Remove blocking dbus call as we start jobs

Aleix Pol Gonzalez requested to merge work/apol/unblock-start into master

Removes a blocking dbus call to org.kde.KPAC.ProxyScout.proxiesForUrl. This was detected because for some reason this call times out on my work laptop and it would freeze any process for 25 seconds (to me and all my colleagues).

Draft because it unveils a crash:

#9  0x00007ffff5ea838f in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at /lhome/apolgon/kde/src/qtbase/src/corelib/global/qassert.cpp:68
#10 0x00007ffff4a8404b in KCoreDirListerCache::slotEntries (this=0x555555af7860, job=0x555555bb3210, entries=...) at /lhome/apolgon/kde/src/frameworks/kio/src/core/kcoredirlister.cpp:1147
#11 0x00007ffff4ac4066 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<KIO::Job*, QList<KIO::UDSEntry> const&>, void, void (KCoreDirListerCache::*)(KIO::Job*, QList<KIO::UDSEntry> const&)>::call (
    f=(void (KCoreDirListerCache::*)(KCoreDirListerCache * const, KIO::Job *, const QList<KIO::UDSEntry> &)) 0x7ffff4a83cc8 <KCoreDirListerCache::slotEntries(KIO::Job*, QList<KIO::UDSEntry> const&)>, o=0x555555af7860, 
    arg=0x7fffffffb910) at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:145
#12 0x00007ffff4abd65e in QtPrivate::FunctionPointer<void (KCoreDirListerCache::*)(KIO::Job*, QList<KIO::UDSEntry> const&)>::call<QtPrivate::List<KIO::Job*, QList<KIO::UDSEntry> const&>, void> (
    f=(void (KCoreDirListerCache::*)(KCoreDirListerCache * const, KIO::Job *, const QList<KIO::UDSEntry> &)) 0x7ffff4a83cc8 <KCoreDirListerCache::slotEntries(KIO::Job*, QList<KIO::UDSEntry> const&)>, o=0x555555af7860, 
    arg=0x7fffffffb910) at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:182
#13 0x00007ffff4ab43db in QtPrivate::QCallableObject<void (KCoreDirListerCache::*)(KIO::Job*, QList<KIO::UDSEntry> const&), QtPrivate::List<KIO::Job*, QList<KIO::UDSEntry> const&>, void>::impl (which=1, this_=0x555555dbfc80, 
    r=0x555555af7860, a=0x7fffffffb910, ret=0x0) at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:520
#14 0x00007ffff5f8ff39 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffb910, r=0x555555af7860, this=<optimized out>) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:433
#15 doActivate<false> (sender=0x555555bb3210, signal_index=19, argv=0x7fffffffb910) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qobject.cpp:4021
#16 0x00007ffff4a0530a in KIO::ListJob::entries (this=0x555555bb3210, _t1=0x555555bb3210, _t2=...) at /lhome/apolgon/kde/build/frameworks/kio/src/core/KF6KIOCore_autogen/include/moc_listjob.cpp:320
#17 0x00007ffff4a03e2b in KIO::ListJobPrivate::slotListEntries (this=0x555555a481b0, list=...) at /lhome/apolgon/kde/src/frameworks/kio/src/core/listjob.cpp:141
#18 0x00007ffff4a048ce in operator() (__closure=0x55555619a5a0, list=...) at /lhome/apolgon/kde/src/frameworks/kio/src/core/listjob.cpp:266
#19 0x00007ffff4a0663e in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QList<KIO::UDSEntry>&>, void, KIO::ListJobPrivate::start(KIO::Worker*)::<lambda(const UDSEntryList&)> >::call(struct {...} &, void **) (
    f=..., arg=0x7fffffffbc80) at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:137
#20 0x00007ffff4a064a7 in QtPrivate::Functor<KIO::ListJobPrivate::start(KIO::Worker*)::<lambda(const UDSEntryList&)>, 1>::call<QtPrivate::List<QList<KIO::UDSEntry> const&>, void>(struct {...} &, void *, void **) (f=..., 
    arg=0x7fffffffbc80) at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:339
#21 0x00007ffff4a062b8 in QtPrivate::QCallableObject<KIO::ListJobPrivate::start(KIO::Worker*)::<lambda(const UDSEntryList&)>, QtPrivate::List<const QList<KIO::UDSEntry>&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x55555619a590, r=0x555555bb3210, a=0x7fffffffbc80, ret=0x0) at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:522
#22 0x00007ffff5f8ff39 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffbc80, r=0x555555bb3210, this=<optimized out>) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:433
#23 doActivate<false> (sender=0x555555c0b730, signal_index=9, argv=0x7fffffffbc80) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qobject.cpp:4021
#24 0x00007ffff4add848 in KIO::WorkerInterface::listEntries (this=0x555555c0b730, _t1=...) at /lhome/apolgon/kde/build/frameworks/kio/src/core/KF6KIOCore_autogen/include/moc_workerinterface_p.cpp:653
#25 0x00007ffff4adb294 in KIO::WorkerInterface::dispatch (this=0x555555c0b730, _cmd=106, rawdata=...) at /lhome/apolgon/kde/src/frameworks/kio/src/core/workerinterface.cpp:146
#26 0x00007ffff4adae1f in KIO::WorkerInterface::dispatch (this=0x555555c0b730) at /lhome/apolgon/kde/src/frameworks/kio/src/core/workerinterface.cpp:60
#27 0x00007ffff4ad88ca in KIO::Worker::gotInput (this=0x555555c0b730) at /lhome/apolgon/kde/src/frameworks/kio/src/core/worker.cpp:263
#28 0x00007ffff4adaa03 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KIO::Worker::*)()>::call(void (KIO::Worker::*)(), KIO::Worker*, void**) (
    f=(void (KIO::Worker::*)(KIO::Worker * const)) 0x7ffff4ad8874 <KIO::Worker::gotInput()>, o=0x555555c0b730, arg=0x7fffffffc048) at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:145
#29 0x00007ffff4ada976 in QtPrivate::FunctionPointer<void (KIO::Worker::*)()>::call<QtPrivate::List<>, void>(void (KIO::Worker::*)(), KIO::Worker*, void**) (
    f=(void (KIO::Worker::*)(KIO::Worker * const)) 0x7ffff4ad8874 <KIO::Worker::gotInput()>, o=0x555555c0b730, arg=0x7fffffffc048) at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:182
#30 0x00007ffff4ada8bd in QtPrivate::QCallableObject<void (KIO::Worker::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555555cc3310, r=0x555555c0b730, 
    a=0x7fffffffc048, ret=0x0) at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:520
#31 0x00007ffff5f8ff39 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffc048, r=0x555555c0b730, this=<optimized out>) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:433
#32 doActivate<false> (sender=0x555555c4a1a0, signal_index=3, argv=0x7fffffffc048) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qobject.cpp:4021
#33 0x00007ffff4933ca7 in KIO::Connection::readyRead (this=0x555555c4a1a0) at /lhome/apolgon/kde/build/frameworks/kio/src/core/KF6KIOCore_autogen/include/moc_connection_p.cpp:160
--Type <RET> for more, q to quit, c to continue without paging--
#34 0x00007ffff4932c54 in KIO::ConnectionPrivate::dequeue (this=0x555555bb8830) at /lhome/apolgon/kde/src/frameworks/kio/src/core/connection.cpp:31
#35 0x00007ffff4932c89 in operator() (__closure=0x555555c014a0) at /lhome/apolgon/kde/src/frameworks/kio/src/core/connection.cpp:40
#36 0x00007ffff493472d in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KIO::ConnectionPrivate::commandReceived(const KIO::Task&)::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x55555619b828)
    at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:137
#37 0x00007ffff493461f in QtPrivate::Functor<KIO::ConnectionPrivate::commandReceived(const KIO::Task&)::<lambda()>, 0>::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x55555619b828)
    at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:339
#38 0x00007ffff493435c in QtPrivate::QCallableObject<KIO::ConnectionPrivate::commandReceived(const KIO::Task&)::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, 
    this_=0x555555c01490, r=0x555555c4a1a0, a=0x55555619b828, ret=0x0) at /lhome/apolgon/kde6/usr/include/QtCore/qobjectdefs_impl.h:522
#39 0x00007ffff5f7fa32 in QObject::event (this=0x555555c4a1a0, e=0x55555619b7e0) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qobject.cpp:1437
#40 0x00007ffff70e3aa6 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555c4a1a0, e=0x55555619b7e0) at /lhome/apolgon/kde/src/qtbase/src/widgets/kernel/qapplication.cpp:3295
#41 0x00007ffff5f2a70a in QCoreApplication::notifyInternal2 (receiver=0x555555c4a1a0, event=event@entry=0x55555619b7e0) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1121
#42 0x00007ffff5f2a8bd in QCoreApplication::sendEvent (receiver=<optimized out>, event=event@entry=0x55555619b7e0) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1539
#43 0x00007ffff5f2e241 in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x55555558c140) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1901
#44 0x00007ffff5f2e550 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1760
#45 0x00007ffff620f677 in postEventSourceDispatch (s=0x5555555fa410) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
#46 0x00007ffff3b1bd3b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007ffff3b71258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007ffff3b193e3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007ffff620ef6e in QEventDispatcherGlib::processEvents (this=0x55555558f620, flags=...) at /lhome/apolgon/kde/src/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#50 0x00007ffff5f37b1b in QEventLoop::exec (this=this@entry=0x7fffffffc5c0, flags=..., flags@entry=...) at /lhome/apolgon/kde/src/qtbase/src/corelib/global/qflags.h:34
#51 0x00007ffff7352775 in QDialog::exec (this=0x555555de2e60) at /lhome/apolgon/kde/src/qtbase/src/corelib/global/qflags.h:74
#52 0x00007fffefa50a79 in KDEPlatformFileDialogHelper::exec (this=0x555555c7f410) at /lhome/apolgon/kde/src/kde/workspace/plasma-integration/qt6/src/platformtheme/kdeplatformfiledialoghelper.cpp:344
#53 0x00007ffff7352651 in QDialog::exec (this=this@entry=0x7fffffffc6f0) at /lhome/apolgon/kde/src/qtbase/src/widgets/dialogs/qdialog.cpp:561
Edited by Aleix Pol Gonzalez

Merge request reports