https://bugs.kde.org/show_bug.cgi?id=387294

            Bug ID: 387294
           Summary: Crash in KDevelop::OutputExecuteJob
           Product: kdevelop
           Version: git master
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: kdevelop-bugs-n...@kde.org
          Reporter: fa...@kde.org
  Target Milestone: ---

1) KDevelop::OutputExecuteJob: maybe doKill should disconnect
childProcessStdout?

2) shutdownGracefully leads to a complete lockup when the malloc mutex is
held...

__lll_lock_wait_private () at
../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:95
95      2:      movl    %edx, %eax
(gdb) bt
#0  0x00007fca54b547db in __lll_lock_wait_private () at
../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:95
#1  0x00007fca54ad9b2a in __GI___libc_malloc (bytes=140506984086272) at
malloc.c:2909
#2  0x00007fca557aa064 in QListData::detach(int)
(this=this@entry=0x7ffed21e4d40, alloc=9556) at
/d/qt/5/kde/qtbase/src/corelib/tools/qlist.cpp:120
#3  0x00007fca566572e8 in QList<QWidget*>::detach_helper(int)
(this=this@entry=0x7ffed21e4d40, alloc=<optimized out>) at
../../include/QtCore/../../../../qtbase/src/corelib/tools/qlist.h:786
#4  0x00007fca5665736e in QList<QWidget*>::reserve(int)
(this=this@entry=0x7ffed21e4d40, alloc=<optimized out>) at
../../include/QtCore/../../../../qtbase/src/corelib/tools/qlist.h:572
#5  0x00007fca5665739d in QSet<QWidget*>::toList() const (this=0x1f326f0) at
../../include/QtCore/../../../../qtbase/src/corelib/tools/qset.h:371
#6  0x00007fca5664cbec in QApplication::allWidgets() () at
/d/qt/5/kde/qtbase/src/widgets/kernel/qapplication.cpp:1756
#7  0x00007fca5664cc1d in QApplication::topLevelWidgets() () at
/d/qt/5/kde/qtbase/src/widgets/kernel/qapplication.cpp:1730
#8  0x00007fca5664cd35 in
QApplicationPrivate::tryCloseAllWidgetWindows(QList<QWindow*>*)
(processedWindows=processedWindows@entry=0x7ffed21e4dc0) at
/d/qt/5/kde/qtbase/src/widgets/kernel/qapplication.cpp:1867
#9  0x00007fca5664ce98 in QApplication::closeAllWindows() () at
/d/qt/5/kde/qtbase/src/widgets/kernel/qapplication.cpp:1910
#10 0x00007fca5ccc4959 in (anonymous namespace)::shutdownGracefully(int)
(sig=15) at
/d/kde/src/5/extragear/kdevelop/kdevelop/kdevplatform/shell/core.cpp:67
#11 0x00007fca54a91cc0 in <signal handler called> () at /lib64/libc.so.6
#12 0x00007fca54ad6a6e in _int_free (av=0x7fca54dffb00 <main_arena>,
p=<optimized out>, have_lock=<optimized out>) at malloc.c:4093
#13 0x00007fca5575d597 in QArrayData::deallocate(QArrayData*, unsigned long,
unsigned long) (data=<optimized out>, objectSize=objectSize@entry=1,
alignment=alignment@entry=8) at
/d/qt/5/kde/qtbase/src/corelib/tools/qarraydata.cpp:167
#14 0x00007fca5575fd26 in QTypedArrayData<char>::deallocate(QArrayData*)
(data=<optimized out>) at
../../include/QtCore/../../../../qtbase/src/corelib/tools/qarraydata.h:237
#15 0x00007fca5575fd26 in QByteArray::resize(int) (this=this@entry=0xb75ca20,
size=<optimized out>, size@entry=0) at
/d/qt/5/kde/qtbase/src/corelib/tools/qbytearray.cpp:1684
#16 0x00007fca55761d6c in QByteArray::remove(int, int)
(this=this@entry=0xb75ca20, pos=pos@entry=0, len=len@entry=101) at
/d/qt/5/kde/qtbase/src/corelib/tools/qbytearray.cpp:2132
#17 0x00007fca5beefefc in
KDevelop::ProcessLineMakerPrivate::streamToStrings(QByteArray&)
(data="CMakeFiles/Makefile2:1493: recipe for target
'autotests/CMakeFiles/testrecurprevious.dir/all' failed\n" = {...}) at
/d/kde/src/5/extragear/kdevelop/kdevelop/kdevplatform/util/processlinemaker.cpp:58
#18 0x00007fca5beefefc in KDevelop::ProcessLineMakerPrivate::processStdOut()
(this=0xb75ca20) at
/d/kde/src/5/extragear/kdevelop/kdevelop/kdevplatform/util/processlinemaker.cpp:65
#19 0x00007fca5beefefc in
KDevelop::ProcessLineMaker::slotReceivedStdout(QByteArray const&)
(this=<optimized out>, buffer="CMakeFiles/Makefile2:1455: recipe for target
'autotests/CMakeFiles/readandwrite.dir/all' failed\nCMakeFiles/Makefile2:1607:
recipe for target 'autotests/CMakeFiles/testalarm.dir/all'
failed\nCMakeFiles/Makefile2:1493: recipe for target
'autotests/CMakeFiles/testrecurprevious.dir/all' failed\n" = {...}) at
/d/kde/src/5/extragear/kdevelop/kdevelop/kdevplatform/util/processlinemaker.cpp:103
#20 0x00007fca5c137f57 in
KDevelop::OutputExecuteJobPrivate::childProcessStdout() (this=0xa5f1060) at
/d/kde/src/5/extragear/kdevelop/kdevelop/kdevplatform/outputview/outputexecutejob.cpp:387
#21 0x00007fca5594c943 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=<optimized out>, r=0xb75d010, this=<optimized out>) at
../../include/QtCore/../../../../qtbase/src/corelib/kernel/qobject_impl.h:101
#22 0x00007fca5594c943 in QMetaObject::activate(QObject*, int, int, void**)
(sender=sender@entry=0xbfe7080, signalOffset=<optimized out>,
local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x7ffed21e5720)
at /d/qt/5/kde/qtbase/src/corelib/kernel/qobject.cpp:3749
#23 0x00007fca5594cdeb in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=sender@entry=0xbfe7080, m=m@entry=0x7fca55d92d40
<QProcess::staticMetaObject>, local_signal_index=local_signal_index@entry=6,
argv=argv@entry=0x7ffed21e5720) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qobject.cpp:3628
#24 0x00007fca558a369e in
QProcess::readyReadStandardOutput(QProcess::QPrivateSignal)
(this=this@entry=0xbfe7080, _t1=...) at .moc/moc_qprocess.cpp:362
#25 0x00007fca558a944e in
QProcessPrivate::tryReadFromChannel(QProcessPrivate::Channel*)
(this=this@entry=0xa5f10d0, channel=channel@entry=0xa5f11f8) at
/d/qt/5/kde/qtbase/src/corelib/io/qprocess.cpp:1074
#26 0x00007fca558a94ae in QProcessPrivate::_q_canReadStandardOutput()
(this=this@entry=0xa5f10d0) at
/d/qt/5/kde/qtbase/src/corelib/io/qprocess.cpp:1085
#27 0x00007fca558af526 in QProcessPrivate::waitForFinished(int)
(this=this@entry=0xa5f10d0, msecs=msecs@entry=1000) at
/d/qt/5/kde/qtbase/src/corelib/io/qprocess_unix.cpp:889
#28 0x00007fca558a3fe5 in QProcess::waitForFinished(int) (this=0xbfe7080,
msecs=msecs@entry=1000) at /d/qt/5/kde/qtbase/src/corelib/io/qprocess.cpp:1924
#29 0x00007fca5c137bab in KDevelop::OutputExecuteJob::doKill()
(this=this@entry=0xb75d010) at
/d/kde/src/5/extragear/kdevelop/kdevelop/kdevplatform/outputview/outputexecutejob.cpp:300
#30 0x00007fca5c138240 in KDevelop::OutputExecuteJob::~OutputExecuteJob()
(this=0xb75d010, __in_chrg=<optimized out>) at
/d/kde/src/5/extragear/kdevelop/kdevelop/kdevplatform/outputview/outputexecutejob.cpp:106
#31 0x00007fc9ee4cc099 in MakeJob::~MakeJob() (this=0xb75d010,
__in_chrg=<optimized out>) at
/d/kde/src/5/extragear/kdevelop/kdevelop/plugins/makebuilder/makejob.cpp:102
#32 0x00007fca55952830 in QObjectPrivate::deleteChildren()
(this=this@entry=0xbaf20b0) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qobject.cpp:1992
#33 0x00007fca5595398d in QObject::~QObject() (this=<optimized out>,
__in_chrg=<optimized out>) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qobject.cpp:1022
#34 0x00007fca56df71bd in KJob::~KJob() (this=0xabe1770, __in_chrg=<optimized
out>) at /d/kde/src/5/frameworks/kcoreaddons/src/lib/jobs/kjob.cpp:57
#35 0x00007fca56df4e42 in KCompositeJob::~KCompositeJob() (this=0xabe1770,
__in_chrg=<optimized out>) at
/d/kde/src/5/frameworks/kcoreaddons/src/lib/jobs/kcompositejob.cpp:41
#36 0x00007fca51a59f59 in KDevelop::BuilderJob::~BuilderJob() (this=0xabe1770,
__in_chrg=<optimized out>) at
/d/kde/src/5/extragear/kdevelop/kdevelop/kdevplatform/project/builderjob.h:37
#37 0x00007fca5594b5bd in qDeleteInEventHandler(QObject*) (o=o@entry=0xabe1770)
at /d/qt/5/kde/qtbase/src/corelib/kernel/qobject.cpp:4598
#38 0x00007fca5594d1dc in QObject::event(QEvent*) (this=0xabe1770, e=<optimized
out>) at /d/qt/5/kde/qtbase/src/corelib/kernel/qobject.cpp:1237
#39 0x00007fca5664ab10 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=this@entry=0x1b46ca0, receiver=receiver@entry=0xabe1770,
e=e@entry=0x8a16f20) at
/d/qt/5/kde/qtbase/src/widgets/kernel/qapplication.cpp:3722
#40 0x00007fca5665220f in QApplication::notify(QObject*, QEvent*)
(this=0x7ffed21e6280, receiver=0xabe1770, e=0x8a16f20) at
/d/qt/5/kde/qtbase/src/widgets/kernel/qapplication.cpp:3094
#41 0x00007fca5591eb59 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=receiver@entry=0xabe1770, event=event@entry=0x8a16f20) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qcoreapplication.cpp:1018
#42 0x00007fca55923d06 in QCoreApplication::sendEvent(QObject*, QEvent*)
(event=0x8a16f20, receiver=0xabe1770) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qcoreapplication.h:233
#43 0x00007fca55923d06 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0,
data=0x1b43180) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qcoreapplication.cpp:1678
#44 0x00007fca559240be in QCoreApplication::sendPostedEvents(QObject*, int)
(receiver=receiver@entry=0x0, event_type=event_type@entry=0) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qcoreapplication.cpp:1532
#45 0x00007fca55975f8a in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x1bbd580) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:276
#46 0x00007fca4c3f4134 in g_main_dispatch (context=0x7fca280016f0) at
gmain.c:3154
#47 0x00007fca4c3f4134 in g_main_context_dispatch
(context=context@entry=0x7fca280016f0) at gmain.c:3769
#48 0x00007fca4c3f4388 in g_main_context_iterate
(context=context@entry=0x7fca280016f0, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840
#49 0x00007fca4c3f442c in g_main_context_iteration (context=0x7fca280016f0,
may_block=may_block@entry=1) at gmain.c:3901
#50 0x00007fca55975971 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x1bdc350, flags=...) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#51 0x00007fca2f27d488 in
QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=<optimized out>, flags=...) at
/d/qt/5/kde/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:122
#52 0x00007fca5591caad in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffed21e6080, flags=..., flags@entry=...) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qeventloop.cpp:134
#53 0x00007fca5591cee4 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffed21e6080, flags=flags@entry=...) at
/d/qt/5/kde/qtbase/src/corelib/kernel/qeventloop.cpp:212
#54 0x00007fca559263ca in QCoreApplication::exec() () at
/d/qt/5/kde/qtbase/src/corelib/kernel/qcoreapplication.cpp:1291
#55 0x00007fca55ea81c8 in QGuiApplication::exec() () at
/d/qt/5/kde/qtbase/src/gui/kernel/qguiapplication.cpp:1679
#56 0x00007fca5664a9eb in QApplication::exec() () at
/d/qt/5/kde/qtbase/src/widgets/kernel/qapplication.cpp:2910
#57 0x000000000040c67f in main(int, char**) (argc=3, argv=<optimized out>) at
/d/kde/src/5/extragear/kdevelop/kdevelop/app/main.cpp:793

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to