Bug 275771 - Crash after splitting views + detaching tabs + closing remaining view
Summary: Crash after splitting views + detaching tabs + closing remaining view
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: split-view (show other bugs)
Version: 2.6.3
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
: 175574 319594 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-06-16 00:02 UTC by Eduardo Habkost
Modified: 2013-08-15 21:43 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.12


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eduardo Habkost 2011-06-16 00:02:01 UTC
Application: konsole (2.6.3)
KDE Platform Version: 4.6.3 (4.6.3)
Qt Version: 4.7.2
Operating System: Linux 2.6.38.7-30.fc15.x86_64 x86_64
Distribution: "Fedora release 15 (Lovelock)"

-- Information about the crash:
- What I was doing when the application crashed:

1. start konsole
2. crate new tab (so you now have 2 shell tabs)
3. split view left/right
3. right-click at first tab in the left view, detach tab.

- now you have two windows:
  window A) one view, one tab: shell 1
  window B) two views:
     view B1) one tab: shell 2
     view B2) two tabs: shell 1; shell 2

4. drag the tab on view B1 to window A
5. focus on view B2
6. Menu: View / Split View / Close Active

- You'll get an empty Konsole window with no tabs or terminals

7. Menu: View / Split View / Split Left/Right

The crash can be reproduced every time.

-- Backtrace:
Application: Konsole (konsole), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fa710cca840 (LWP 3417))]

Thread 2 (Thread 0x7fa709a82700 (LWP 3418)):
#0  0x000000378ccd7343 in poll () from /lib64/libc.so.6
#1  0x00000038b9042d24 in ?? () from /lib64/libglib-2.0.so.0
#2  0x00000038b904360d in g_main_loop_run () from /lib64/libglib-2.0.so.0
#3  0x00007fa709fab564 in ?? () from /lib64/libgio-2.0.so.0
#4  0x00000038b90683a6 in ?? () from /lib64/libglib-2.0.so.0
#5  0x000000378d007af1 in start_thread () from /lib64/libpthread.so.0
#6  0x000000378ccdfc2d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fa710cca840 (LWP 3417)):
[KCrash Handler]
#6  0x00000038bf4baeaf in ?? () from /usr/lib64/libkonsoleprivate.so
#7  0x00000038bf4b7557 in Konsole::ViewManager::splitView(Qt::Orientation) () from /usr/lib64/libkonsoleprivate.so
#8  0x00000038bf4b7cbd in Konsole::ViewManager::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkonsoleprivate.so
#9  0x00000038ba96ceca in QMetaObject::activate (sender=0x2644da0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff640e4ca0) at kernel/qobject.cpp:3278
#10 0x00000038bc1b1082 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#11 0x00000038bc1b126f in QAction::activate (this=0x2644da0, event=<optimized out>) at kernel/qaction.cpp:1257
#12 0x00000038bc5dfad9 in QMenuPrivate::activateCausedStack (this=0x2667630, causedStack=..., action=0x2644da0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:993
#13 0x00000038bc5e5712 in QMenuPrivate::activateAction (this=0x2667630, action=0x2644da0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1085
#14 0x00000038bd908d3d in KMenu::mouseReleaseEvent (this=0x2662630, e=<optimized out>) at /usr/src/debug/kdelibs-4.6.3/kdeui/widgets/kmenu.cpp:458
#15 0x00000038bc207a94 in QWidget::event (this=0x2662630, event=0x7fff640e5860) at kernel/qwidget.cpp:8259
#16 0x00000038bc5e6c7b in QMenu::event (this=0x2662630, e=0x7fff640e5860) at widgets/qmenu.cpp:2415
#17 0x00000038bc1b73d4 in notify_helper (e=0x7fff640e5860, receiver=0x2662630, this=0x251f600) at kernel/qapplication.cpp:4462
#18 QApplicationPrivate::notify_helper (this=0x251f600, receiver=0x2662630, e=0x7fff640e5860) at kernel/qapplication.cpp:4434
#19 0x00000038bc1bcb5b in QApplication::notify (this=<optimized out>, receiver=0x2662630, e=0x7fff640e5860) at kernel/qapplication.cpp:4023
#20 0x00000038bd841806 in KApplication::notify (this=0x7fff640e6560, receiver=0x2662630, event=0x7fff640e5860) at /usr/src/debug/kdelibs-4.6.3/kdeui/kernel/kapplication.cpp:311
#21 0x00000038ba95a1bc in QCoreApplication::notifyInternal (this=0x7fff640e6560, receiver=0x2662630, event=0x7fff640e5860) at kernel/qcoreapplication.cpp:731
#22 0x00000038bc1b83a2 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:215
#23 QApplicationPrivate::sendMouseEvent (receiver=0x2662630, event=0x7fff640e5860, alienWidget=0x0, nativeWidget=0x2662630, buttonDown=0x0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3122
#24 0x00000038bc234691 in QETWidget::translateMouseEvent (this=0x2662630, event=<optimized out>) at kernel/qapplication_x11.cpp:4395
#25 0x00000038bc232eba in QApplication::x11ProcessEvent (this=0x7fff640e6560, event=0x7fff640e6120) at kernel/qapplication_x11.cpp:3587
#26 0x00000038bc25a23c in x11EventSourceDispatch (s=0x2527d60, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#27 0x00000038b90427ed in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#28 0x00000038b9042fc8 in ?? () from /lib64/libglib-2.0.so.0
#29 0x00000038b904325c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#30 0x00000038ba984d1f in QEventDispatcherGlib::processEvents (this=0x24f4a00, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#31 0x00000038bc259f2e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:207
#32 0x00000038ba9596d2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#33 0x00000038ba9598cf in QEventLoop::exec (this=0x7fff640e64f0, flags=...) at kernel/qeventloop.cpp:201
#34 0x00000038ba95da17 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#35 0x00000038bf81335a in kdemain () from /usr/lib64/libkdeinit4_konsole.so
#36 0x000000378cc2139d in __libc_start_main () from /lib64/libc.so.6
#37 0x00000000004007a1 in _start ()

Possible duplicates by query: bug 233793.

Reported using DrKonqi
Comment 1 Kurt Hindenburg 2011-06-18 16:29:16 UTC
Yes, after step 4, you'll get a blank gray area on that side.

After 6, the whole konsole is blank gray.

No surprise it crashes when you try to split it again.
Comment 2 Jekyll Wu 2011-07-29 14:43:02 UTC
looks like a duplicate of #170418, or vice versa.
Comment 3 Jekyll Wu 2011-07-29 14:45:20 UTC
opps, typo. Should be duplicate of #175574, or vice versa.
Comment 4 Kurt Hindenburg 2011-07-29 15:04:43 UTC
*** Bug 175574 has been marked as a duplicate of this bug. ***
Comment 5 Jekyll Wu 2012-04-25 06:37:00 UTC
FYI:  this crash does not happen any more on master branch since commit 56f3805a(well, an unexpected but good side effect ). 

However,  I think the blank area after step 4 and the blank window after step 6 are still strange and should be avoided. 

After step 4, when B1 becomes empty, it should be closed automatically.
Comment 6 Francesco Cecconi 2012-04-25 09:04:46 UTC
Hi Jekyll,

i have created a path [1] for automatically close empty area.

[1]: https://git.reviewboard.kde.org/r/104717/
Comment 7 Kurt Hindenburg 2013-05-10 20:03:42 UTC
*** Bug 319594 has been marked as a duplicate of this bug. ***