Review Request 128838: Fix startup freeze
Kurt Hindenburg
kurt.hindenburg at gmail.com
Fri Oct 7 22:40:37 UTC 2016
> On Sept. 9, 2016, 4:38 a.m., Martin Tobias Holmedahl Sandsmark wrote:
> > the actual issue is in kpty and is fixed by this: https://git.reviewboard.kde.org/r/128790/
That's fine - this was a good time to look at the code and fix some issues about invalid initial dirs - Andreas, I fixed this in Session.cpp so both the Part and normal Konsole will benefit.
- Kurt
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128838/#review99011
-----------------------------------------------------------
On Sept. 5, 2016, 3:10 p.m., Andreas Cord-Landwehr wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128838/
> -----------------------------------------------------------
>
> (Updated Sept. 5, 2016, 3:10 p.m.)
>
>
> Review request for Konsole, Kurt Hindenburg and Martin Tobias Holmedahl Sandsmark.
>
>
> Repository: konsole
>
>
> Description
> -------
>
> If the startup folder does not exist, the QProcess starting /bin/bash
> within the startprocess of the embedded Konsole part does not correctly
> return; in particular, there is not even a correct return after the
> specified timeout. See the following stacktrace:
>
> 0 0x00007ffff027817d in read () at ../sysdeps/unix/syscall-template.S:84
> 1 0x00007ffff0fecc0c in forkfd_wait(int, forkfd_info*, rusage*) (ffd=<optimized out>, info=info at entry=0x7fffffffc780, rusage=rusage at entry=0x0) at io/../../3rdparty/forkfd/forkfd.c:818
> 2 0x00007ffff0fe948a in QProcessPrivate::waitForDeadChild() (this=this at entry=0xf71b20) at io/qprocess_unix.cpp:899
> 3 0x00007ffff0f8def3 in QProcessPrivate::_q_startupNotification() (this=this at entry=0xf71b20) at io/qprocess.cpp:1234
> 4 0x00007ffff0fe8bc8 in QProcessPrivate::waitForStarted(int) (this=0xf71b20, msecs=<optimized out>) at io/qprocess_unix.cpp:736
> 5 0x00007fffcb8e95cc in Konsole::Pty::start(QString const&, QStringList const&, QStringList const&) (this=0xf75820, programName=..., programArguments=..., environmentList=...) at /opt/kde/src/kde/applications/konsole/src/Pty.cpp:260
> 6 0x00007fffcb8f6f89 in Konsole::Session::run() (this=0xf72d40) at /opt/kde/src/kde/applications/konsole/src/Session.cpp:487
> 7 0x00007fffcbbe32e9 in Konsole::Part::showShellInDir(QString const&) (this=0xf667f0, dir=...) at /opt/kde/src/kde/applications/konsole/src/Part.cpp:145
> 8 0x00007ffff7b7aebc in TerminalPanel::showEvent(QShowEvent*) (this=0x831910, event=0x7fffffffd070) at /opt/kde/src/kde/applications/dolphin/src/panels/terminal/terminalpanel.cpp:121
> 9 0x00007ffff1c41b38 in QWidget::event(QEvent*) (this=0x831910, event=0x7fffffffd070) at kernel/qwidget.cpp:9141
> 10 0x00007ffff1bfdf8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x831910, e=0x7fffffffd070) at kernel/qapplication.cpp:3799
> 11 0x00007ffff1c05476 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffd370, receiver=0x831910, e=0x7fffffffd070) at kernel/qapplication.cpp:3556
> 12 0x00007ffff104ec58 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver at entry=0x831910, event=event at entry=0x7fffffffd070) at kernel/qcoreapplication.cpp:988
> 13 0x00007ffff1c3ebc3 in QWidgetPrivate::show_helper() (event=0x7fffffffd070, receiver=0x831910) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
> 14 0x00007ffff1c3ebc3 in QWidgetPrivate::show_helper() (this=0x8319a0) at kernel/qwidget.cpp:7909
> 15 0x00007ffff1c3e946 in QWidgetPrivate::show_recursive() (this=<optimized out>) at kernel/qwidget.cpp:7780
> 16 0x00007ffff1c3ea47 in QWidgetPrivate::showChildren(bool) (this=this at entry=0x82e300, spontaneous=spontaneous at entry=false) at kernel/qwidget.cpp:8286
> 17 0x00007ffff1c3eabf in QWidgetPrivate::show_helper() (this=0x82e300) at kernel/qwidget.cpp:7856
> 18 0x00007ffff1c3e946 in QWidgetPrivate::show_recursive() (this=<optimized out>) at kernel/qwidget.cpp:7780
> 19 0x00007ffff1c3ea47 in QWidgetPrivate::showChildren(bool) (this=this at entry=0x6ec6e0, spontaneous=spontaneous at entry=false) at kernel/qwidget.cpp:8286
> 20 0x00007ffff1c3eabf in QWidgetPrivate::show_helper() (this=this at entry=0x6ec6e0) at kernel/qwidget.cpp:7856
> 21 0x00007ffff1c415fd in QWidget::setVisible(bool) (this=0x6c38c0, visible=<optimized out>) at kernel/qwidget.cpp:8205
> 22 0x00007ffff7b29546 in kdemain(int, char**) (argc=1, argv=0x7fffffffdb28) at /opt/kde/src/kde/applications/dolphin/src/main.cpp:139
> 23 0x0000000000400b78 in main(int, char**) (argc=1, argv=0x7fffffffdb28) at /opt/kde/build/kde/applications/dolphin/src/dolphin_dummy.cpp:3
>
>
> Diffs
> -----
>
> src/Part.cpp 07f8cf7b3f599494d4dbecb2ed6facc3da26d0eb
>
> Diff: https://git.reviewboard.kde.org/r/128838/diff/
>
>
> Testing
> -------
>
> manual testing
>
>
> Thanks,
>
> Andreas Cord-Landwehr
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/konsole-devel/attachments/20161007/b9939938/attachment.html>
More information about the konsole-devel
mailing list