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