"Unlimited History" segfaults when scrolling up after too many lines are present
correabuscar opened this issue · comments
Expected Behavior
no segfault
Current Behavior
qterminal segfaults(in libqtermwidget5.so.1.1.0) when scrolling up to the beginning, if too many lines are present in history!
Sometimes (but don't know how to reproduce this variant), just one Shift+PageUp from where I am is enough to show empty(black or zeroed) previous scrollback pages!
Possible Solution
Maybe limit the maximum number of lines ? or use a bigger type than 'int' when computing things like lines*columns otherwise the result will wrap around?
Steps to Reproduce (for bugs)
- start
qterminal
and resize to 162x52 (columns x rows) and make sure Preferences->Behavior->Unlimited history is selected. - run this inside it, in bash:
printf '%s\n' {1..15000000}
this will print a number for each line up until 15 million. (will take 1 minute to run) - hold left mouse button on the scrollbar and scroll back up, not too fast, until the beginning.
qterminal should crash when you're at under 2milion lines while still scrolling up.
Context
Sometimes the history (scrollback buffer) is empty when I do a shift+PageUp, sometimes like here it crashes the window and thus looses my shell.
In the real world I encounter this when compiling things... but the shift+PageUp showing empty previous screens is what I encounter most!
System Information
- Distribution & Version: Gentoo ~amd64
- Kernel: 5.18.19-gentoo-r1-x86_64
- Qt Version: Qt version 5.15.5.
- lxqt-build-tools Version: I don't know how to get this?
- Package version: x11-terms/qterminal-1.1.0::gentoo x11-libs/qtermwidget-1.1.0::gentoo
qtermwidget/lib/ScreenWindow.cpp
Lines 59 to 63 in 41bd8de
At first glance, 15 million lines of 163 rows seems to overflow
int size
there.15000000*163 = 2_445_000_000
> 2^31 = 2_147_483_648
But there are other int
places:
qtermwidget/lib/ScreenWindow.cpp
Lines 91 to 94 in 41bd8de
gdb backtrace? (click me to expand)
/coredumps
$ gdb `which qterminal` `ls -tr . | tail -1`
GNU gdb (Gentoo 12.1 vanilla) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
State of pagination is off.
Reading symbols from /usr/bin/qterminal...
Reading symbols from /usr/lib/debug//usr/bin/qterminal.debug...
warning: Can't open file /tmp/#67 (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:xorg (deleted) during file-backed mapping note processing
warning: Can't open file anon_inode:i915.gem which was expanded to anon_inode:i915.gem during file-backed mapping note processing
warning: Can't open file anon_inode:i915.gem which was expanded to anon_inode:i915.gem during file-backed mapping note processing
[New LWP 21071]
[New LWP 21086]
[New LWP 21091]
[New LWP 21073]
[New LWP 21072]
[New LWP 21085]
[New LWP 21090]
[New LWP 21082]
[New LWP 21083]
[New LWP 21089]
[New LWP 21087]
[New LWP 21084]
[New LWP 21088]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/qterminal'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000728c6f2970b3 in Konsole::Screen::fillWithDefaultChar (dest=<optimized out>, count=2147341558) at /usr/src/debug/x11-libs/qtermwidget-1.1.0/qtermwidget-1.1.0/lib/Screen.cpp:1418
1418 dest[i] = defaultChar;
[Current thread is 1 (Thread 0x728c6ad8c840 (LWP 21071))]
(gdb) bt4
executing: 'bt -full -frame-info source-and-location -past-entry on -entry-values both -frame-arguments all -past-main on'
#0 0x0000728c6f2970b3 in Konsole::Screen::fillWithDefaultChar (dest=<optimized out>, dest@entry=<optimized out>, count=2147341558, count@entry=<optimized out>) at /usr/src/debug/x11-libs/qtermwidget-1.1.0/qtermwidget-1.1.0/lib/Screen.cpp:1418
1418 dest[i] = defaultChar;
i = <optimized out>
#1 0x0000728c6f299686 in Konsole::ScreenWindow::fillUnusedArea (this=0x615a1371bc90, this@entry=0x615a1371bc90) at /usr/src/debug/x11-libs/qtermwidget-1.1.0/qtermwidget-1.1.0/lib/ScreenWindow.cpp:94
94 Screen::fillWithDefaultChar(_windowBuffer + _windowBufferSize - charsToFill,charsToFill);
screenEndLine = <optimized out>
windowEndLine = <optimized out>
unusedLines = <optimized out>
charsToFill = <optimized out>
#2 0x0000728c6f299838 in Konsole::ScreenWindow::getImage (this=0x615a1371bc90, this@entry=<optimized out>) at /usr/src/debug/x11-libs/qtermwidget-1.1.0/qtermwidget-1.1.0/lib/ScreenWindow.cpp:80
80 fillUnusedArea();
size = 8424
#3 0x0000728c6f2a7096 in Konsole::TerminalDisplay::processFilters (this=0x615a136457d0, this@entry=<optimized out>) at /usr/src/debug/x11-libs/qtermwidget-1.1.0/qtermwidget-1.1.0/lib/TerminalDisplay.cpp:1069
1069 _filterChain->setImage( _screenWindow->getImage(),
preUpdateHotSpots = {d = 0x728c6e93a5a0 <QRegion::shared_empty>}
postUpdateHotSpots = {d = 0x8}
#4 0x0000728c6e0d944c in doActivate<false> (sender=0x615a1371bc90, sender@entry=<optimized out>, signal_index=4, signal_index@entry=<optimized out>, argv=0x7fff1d2bd0d0, argv@entry=<optimized out>) at /usr/src/debug/dev-qt/qtcore-5.15.5-r3/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qobject.cpp:3898
3898 callFunction(receiver, QMetaObject::InvokeMetaMethod, method_relative, argv);
method_relative = <optimized out>
callFunction = <optimized out>
methodIndex = 0
receiver = 0x615a136457d0
td = <optimized out>
receiverInSameThread = true
senderData = {previous = 0x7fff1d2bd1a0, receiver = 0x615a136457d0, sender = 0x615a1371bc90, signal = 4}
c = 0x615a1364d430
connections = {d = 0x615a13728510}
list = <optimized out>
inSenderThread = true
highestConnectionId = 6
signalVector = 0x615a13697f80
currentThreadId = 0x728c6ad8c840
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#5 0x0000728c6e0d2ef1 in QMetaObject::activate (sender=0x615a1371bc90, sender@entry=0x615a1371bc90, m=0x728c6f2d7380 <Konsole::ScreenWindow::staticMetaObject>, m@entry=0x728c6f2d7380 <Konsole::ScreenWindow::staticMetaObject>, local_signal_index=1, local_signal_index@entry=1, argv=0x7fff1d2bd0d0, argv@entry=0x7fff1d2bd0d0) at /usr/src/debug/dev-qt/qtcore-5.15.5-r3/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qobject.cpp:3946
3946 doActivate<false>(sender, signal_index, argv);
signal_index = <optimized out>
#6 0x0000728c6f2bb9df in Konsole::ScreenWindow::scrolled (this=0x615a1371bc90, this@entry=0x615a1371bc90, _t1=<optimized out>, _t1@entry=<optimized out>) at /usr/src/debug/x11-libs/qtermwidget-1.1.0/qtermwidget-1.1.0_build/lib/moc_ScreenWindow.cpp:189
189 QMetaObject::activate(this, &staticMetaObject, 1, _a);
_a = {0x0, 0x7fff1d2bd0cc}
#7 0x0000728c6f299f28 in Konsole::ScreenWindow::scrollTo (this=0x615a1371bc90, this@entry=0x615a1371bc90, line=<optimized out>, line@entry=<optimized out>) at /usr/src/debug/x11-libs/qtermwidget-1.1.0/qtermwidget-1.1.0/lib/ScreenWindow.cpp:233
233 emit scrolled(_currentLine);
maxCurrentLineNumber = <optimized out>
delta = <optimized out>
#8 0x0000728c6f2ad0e5 in Konsole::TerminalDisplay::scrollBarPositionChanged (this=0x615a136457d0, this@entry=<optimized out>) at /usr/src/debug/x11-libs/qtermwidget-1.1.0/qtermwidget-1.1.0/lib/TerminalDisplay.cpp:1895
1895 _screenWindow->scrollTo( _scrollBar->value() );
atEndOfOutput = <optimized out>
#9 0x0000728c6e0d944c in doActivate<false> (sender=0x615a13849090, sender@entry=<optimized out>, signal_index=7, signal_index@entry=<optimized out>, argv=0x7fff1d2bd220, argv@entry=<optimized out>) at /usr/src/debug/dev-qt/qtcore-5.15.5-r3/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qobject.cpp:3898
3898 callFunction(receiver, QMetaObject::InvokeMetaMethod, method_relative, argv);
method_relative = <optimized out>
callFunction = <optimized out>
methodIndex = 0
receiver = 0x615a136457d0
td = <optimized out>
receiverInSameThread = true
senderData = {previous = 0x0, receiver = 0x615a136457d0, sender = 0x615a13849090, signal = 7}
c = 0x728c64005a50
connections = {d = 0x615a13732500}
list = <optimized out>
inSenderThread = true
highestConnectionId = 1376
signalVector = 0x615a13900200
currentThreadId = 0x728c6ad8c840
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#10 0x0000728c6e0d2ef1 in QMetaObject::activate (sender=0x615a13849090, sender@entry=0x615a13849090, m=0x728c6f03c460 <QAbstractSlider::staticMetaObject>, m@entry=0x728c6f03c460 <QAbstractSlider::staticMetaObject>, local_signal_index=0, local_signal_index@entry=0, argv=0x7fff1d2bd220, argv@entry=0x7fff1d2bd220) at /usr/src/debug/dev-qt/qtcore-5.15.5-r3/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qobject.cpp:3946
3946 doActivate<false>(sender, signal_index, argv);
signal_index = <optimized out>
#11 0x0000728c6ebcb35c in QAbstractSlider::valueChanged (this=0x615a13849090, this@entry=0x615a13849090, _t1=<optimized out>, _t1@entry=1743012) at .moc/moc_qabstractslider.cpp:309
309 QMetaObject::activate(this, &staticMetaObject, 0, _a);
_a = {0x0, 0x7fff1d2bd21c}
#12 0x0000728c6ebcbf0a in QAbstractSlider::setValue (this=0x615a13849090, this@entry=0x615a13849090, value=1743012, value@entry=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/widgets/qabstractslider.cpp:548
548 emit valueChanged(value);
d = <optimized out>
event = {<QAccessibleEvent> = {_vptr.QAccessibleEvent = 0x728c6e93b548 <vtable for QAccessibleValueChangeEvent+16>, m_type = QAccessible::ValueChanged, m_object = 0x615a13849090, {m_child = -1, m_uniqueId = 4294967295}}, m_value = {d = {data = {c = -92 '\244', uc = 164 '\244', s = -26460, sc = -92 '\244', us = 39076, i = 1743012, u = 1743012, l = 1743012, ul = 1743012, b = 164, d = 8.6116234948904282e-318, f = 2.44248004e-39, real = 8.6116234948904282e-318, ll = 1743012, ull = 1743012, o = 0x1a98a4, ptr = 0x1a98a4, shared = 0x1a98a4}, type = 2, is_shared = 0, is_null = 0}}}
#13 0x0000728c6ebcc2a3 in QAbstractSlider::triggerAction (this=0x615a13849090, this@entry=0x615a13849090, action=QAbstractSlider::SliderMove, action@entry=QAbstractSlider::SliderMove) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/widgets/qabstractslider.cpp:637
637 setValue(d->position);
d = <optimized out>
#14 0x0000728c6ebcc475 in QAbstractSlider::setSliderPosition (this=0x615a13849090, this@entry=0x615a13849090, position=<optimized out>, position@entry=1743012) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/widgets/qabstractslider.cpp:504
504 triggerAction(SliderMove);
d = <optimized out>
#15 0x0000728c6ec8d410 in QScrollBar::mouseMoveEvent (this=0x615a13849090, this@entry=<optimized out>, e=0x7fff1d2bd8b0, e@entry=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/widgets/qscrollbar.cpp:649
649 setSliderPosition(newPosition);
click = <optimized out>
newPosition = 1743012
m = <optimized out>
d = 0x615a137f8c00
opt = {<QStyleOptionComplex> = {<QStyleOption> = {version = 1, type = 983041, state = {i = 73729}, direction = Qt::LeftToRight, rect = {x1 = 0, y1 = 0, x2 = 13, y2 = 948}, fontMetrics = {d = {d = 0x615a13848f10}}, palette = {d = 0x615a137c42e0, {data = {current_group = 0, resolve_mask = 0}, for_faster_swapping_dont_use = 0}}, styleObject = 0x615a13849090}, subControls = {i = 0}, activeSubControls = {i = 0}}, orientation = Qt::Vertical, minimum = 0, maximum = 14999961, tickPosition = QSlider::NoTicks, tickInterval = 0, upsideDown = false, sliderPosition = 1759772, sliderValue = 1759772, singleStep = 1, pageStep = 52, notchTarget = 0, dialWrapping = false}
#16 0x0000728c6eb04cc8 in QWidget::event (this=0x615a13849090, this@entry=<optimized out>, event=0x7fff1d2bd8b0, event@entry=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/kernel/qwidget.cpp:9033
9033 actionEvent((QActionEvent*)event);
d = <optimized out>
#17 0x0000728c6eab9c98 in QApplicationPrivate::notify_helper (this=0x615a13522400, this@entry=0x615a13522400, receiver=0x615a13849090, receiver@entry=0x615a13849090, e=0x7fff1d2bd8b0, e@entry=0x7fff1d2bd8b0) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/kernel/qapplication.cpp:3637
3637 consumed = receiver->event(e);
consumed = false
filtered = false
#18 0x0000728c6eac2d2a in QApplication::notify (this=<optimized out>, this@entry=<optimized out>, receiver=<optimized out>, receiver@entry=<optimized out>, e=<optimized out>, e@entry=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/kernel/qapplication.cpp:3081
3081 res = d->notify_helper(w, w == receiver ? mouse : &me);
me = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x728c6e93d1a0 <vtable for QMouseEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e263b60 <qt_meta_stringdata_QEvent>, data = 0x728c6e2635a0 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 5, posted = 0, spont = 1, m_accept = 1, reserved = 933}, modState = {i = 0}, ts = 6667540}, l = {xp = 21, yp = 134}, w = {xp = 23, yp = 136}, s = {xp = 2376, yp = 1307}, b = Qt::NoButton, mouseState = {i = 1}, caps = 0, velocity = {v = {0, 0}}}
w = 0x615a13849090
mouse = <optimized out>
eventAccepted = <optimized out>
relpos = {xp = 21, yp = 134}
pw = <optimized out>
d = <optimized out>
res = false
#19 0x0000728c6e0a04a8 in QCoreApplication::notifyInternal2 (receiver=0x615a13849090, receiver@entry=<optimized out>, event=0x7fff1d2bd8b0, event@entry=<optimized out>) at /usr/src/debug/dev-qt/qtcore-5.15.5-r3/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qcoreapplication.cpp:1064
1064 return self->notify(receiver, event);
selfRequired = true
result = false
cbdata = {0x615a13849090, 0x7fff1d2bd8b0, 0x7fff1d2bd68f}
d = <optimized out>
threadData = 0x615a13519be0
scopeLevelCounter = {threadData = 0x615a13519be0}
#20 0x0000728c6eac0b08 in QApplicationPrivate::sendMouseEvent (receiver=0x615a13849090, receiver@entry=0x615a13849090, event=0x7fff1d2bd8b0, event@entry=0x7fff1d2bd8b0, alienWidget=<optimized out>, alienWidget@entry=<optimized out>, nativeWidget=0x728c64003e00, nativeWidget@entry=<optimized out>, buttonDown=0x728c6f0659f0 <qt_button_down>, buttonDown@entry=0x728c6f0659f0 <qt_button_down>, lastMouseReceiver=@0x728c6f0659d0: {wp = {d = 0x615a13848fb0, value = 0x615a13849090}}, lastMouseReceiver@entry=<optimized out>, spontaneous=<optimized out>, spontaneous@entry=<optimized out>, onlyDispatchEnterLeave=<optimized out>, onlyDispatchEnterLeave@entry=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/kernel/qapplication.cpp:2619
2619 result = QApplication::sendSpontaneousEvent(receiver, event);
receiverGuard = <optimized out>
nativeGuard = <optimized out>
alienGuard = <optimized out>
activePopupWidget = <optimized out>
graphicsWidget = false
widgetUnderMouse = <optimized out>
wasLeaveAfterRelease = <optimized out>
result = true
#21 0x0000728c6eb21ef2 in QWidgetWindow::handleMouseEvent (this=0x615a1366bfd0, this@entry=0x615a1366bfd0, event=0x7fff1d2bdba0, event@entry=0x7fff1d2bdba0) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/kernel/qwidgetwindow.cpp:683
683 QApplicationPrivate::sendMouseEvent(receiver, &translated, widget, m_widget,
translated = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x728c6e93d1a0 <vtable for QMouseEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e263b60 <qt_meta_stringdata_QEvent>, data = 0x728c6e2635a0 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 5, posted = 0, spont = 1, m_accept = 1, reserved = 933}, modState = {i = 0}, ts = 6667540}, l = {xp = 21, yp = 134}, w = {xp = 23, yp = 136}, s = {xp = 2376, yp = 1307}, b = Qt::NoButton, mouseState = {i = 1}, caps = 0, velocity = {v = {0, 0}}}
contextMenuTrigger = QEvent::MouseButtonPress
widget = <optimized out>
mapped = {xp = 21, yp = 134}
initialPress = <optimized out>
receiver = 0x615a13849090
#22 0x0000728c6eb256e1 in QWidgetWindow::event (this=0x615a1366bfd0, this@entry=<optimized out>, event=0x7fff1d2bdba0, event@entry=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/kernel/qwidgetwindow.cpp:300
300 handleMouseEvent(static_cast<QMouseEvent *>(event));
No locals.
#23 0x0000728c6eab9c98 in QApplicationPrivate::notify_helper (this=<optimized out>, this@entry=<optimized out>, receiver=0x615a1366bfd0, receiver@entry=<optimized out>, e=0x7fff1d2bdba0, e@entry=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/kernel/qapplication.cpp:3637
3637 consumed = receiver->event(e);
consumed = false
filtered = false
#24 0x0000728c6e0a04a8 in QCoreApplication::notifyInternal2 (receiver=0x615a1366bfd0, receiver@entry=<optimized out>, event=0x7fff1d2bdba0, event@entry=<optimized out>) at /usr/src/debug/dev-qt/qtcore-5.15.5-r3/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qcoreapplication.cpp:1064
1064 return self->notify(receiver, event);
selfRequired = true
result = false
cbdata = {0x615a1366bfd0, 0x7fff1d2bdba0, 0x7fff1d2bda2f}
d = <optimized out>
threadData = 0x615a13519be0
scopeLevelCounter = {threadData = 0x615a13519be0}
#25 0x0000728c6e4a40c7 in QGuiApplicationPrivate::processMouseEvent (e=0x615a138270f0, e@entry=<optimized out>) at /usr/src/debug/dev-qt/qtgui-5.15.5-r2/qtbase-everywhere-src-5.15.5/src/gui/kernel/qguiapplication.cpp:2282
2282 QGuiApplication::sendSpontaneousEvent(window, &ev);
type = QEvent::MouseMove
button = Qt::NoButton
window = 0x615a1366bfd0
positionChanged = <optimized out>
mouseMove = <optimized out>
mousePress = <optimized out>
localPoint = {xp = 23, yp = 136}
globalPoint = {xp = 2376, yp = 1307}
doubleClick = false
ev = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x728c6e93d1a0 <vtable for QMouseEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e263b60 <qt_meta_stringdata_QEvent>, data = 0x728c6e2635a0 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 5, posted = 0, spont = 1, m_accept = 1, reserved = 933}, modState = {i = 0}, ts = 6667540}, l = {xp = 23, yp = 136}, w = {xp = 23, yp = 136}, s = {xp = 2376, yp = 1307}, b = Qt::NoButton, mouseState = {i = 1}, caps = 0, velocity = {v = {0, 0}}}
#26 0x0000728c6e47dd0b in QWindowSystemInterface::sendWindowSystemEvents (flags={i = 36}, flags@entry={i = 36}) at /usr/src/debug/dev-qt/qtgui-5.15.5-r2/qtbase-everywhere-src-5.15.5/src/gui/kernel/qwindowsysteminterface.cpp:1169
1169 QGuiApplicationPrivate::processWindowSystemEvent(event);
event = 0x615a138270f0
nevents = 1
#27 0x0000728c6a95a40f in xcbSourceDispatch (source=<optimized out>, source@entry=<optimized out>) at /usr/src/debug/dev-qt/qtgui-5.15.5-r2/qtbase-everywhere-src-5.15.5/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
105 QWindowSystemInterface::sendWindowSystemEvents(flags);
xcbEventSource = <optimized out>
flags = {i = 36}
#28 0x0000728c6cf72e2d in g_main_dispatch (context=0x728c64005010, context@entry=<optimized out>) at ../glib-2.74.0/glib/gmain.c:3444
3444 need_destroy = !(* dispatch) (source, callback, user_data);
dispatch = 0x728c6a95a3e0 <xcbSourceDispatch(GSource*, GSourceFunc, gpointer)>
prev_source = 0x0
begin_time_nsec = 0
was_in_call = 0
user_data = 0x0
callback = 0x0
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
source = 0x615a1363eed0
current = 0x615a13907300
i = 1
__func__ = "g_main_dispatch"
#29 g_main_context_dispatch (context=0x728c64005010, context@entry=0x728c64005010) at ../glib-2.74.0/glib/gmain.c:4162
4162 g_main_dispatch (context);
No locals.
#30 0x0000728c6cf730d8 in g_main_context_iterate (context=0x728c64005010, context@entry=0x728c64005010, block=1, block@entry=1, dispatch=1, dispatch@entry=1, self=<optimized out>, self@entry=<optimized out>) at ../glib-2.74.0/glib/gmain.c:4238
4238 g_main_context_dispatch (context);
max_priority = 2147483647
timeout = 29468
some_ready = 1
nfds = <optimized out>
allocated_nfds = 7
fds = 0x615a13731a60
begin_time_nsec = 0
#31 0x0000728c6cf731b2 in g_main_context_iteration (context=0x728c64005010, context@entry=<optimized out>, may_block=1, may_block@entry=<optimized out>) at ../glib-2.74.0/glib/gmain.c:4303
4303 retval = g_main_context_iterate (context, may_block, TRUE, G_THREAD_SELF);
retval = <optimized out>
#32 0x0000728c6e0facd7 in QEventDispatcherGlib::processEvents (this=0x615a135e57a0, this@entry=<optimized out>, flags=<optimized out>, flags@entry=<optimized out>) at /usr/src/debug/dev-qt/qtcore-5.15.5-r3/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qeventdispatcher_glib.cpp:423
423 bool result = g_main_context_iteration(d->mainContext, canWait);
d = 0x615a135b05b0
canWait = true
savedFlags = {i = 0}
result = <optimized out>
#33 0x0000728c6e09e91b in QEventLoop::exec (this=0x7fff1d2bdf40, this@entry=0x7fff1d2bdf40, flags={i = 36}, flags@entry={i = 0}) at /usr/src/debug/dev-qt/qtcore-5.15.5-r3/qtbase-everywhere-src-5.15.5/include/QtCore/../../src/corelib/global/qflags.h:69
69 Q_DECL_CONSTEXPR inline operator uint() const noexcept { return uint(i); }
d = 0x615a13722db0
threadData = <optimized out>
locker = {val = 107039499098648}
ref = <optimized out>
app = <optimized out>
#34 0x0000728c6e0a7894 in QCoreApplication::exec () at /usr/src/debug/dev-qt/qtcore-5.15.5-r3/qtbase-everywhere-src-5.15.5/include/QtCore/../../src/corelib/global/qflags.h:121
121 Q_DECL_CONSTEXPR inline QFlags(Enum flags) noexcept : i(Int(flags)) {}
threadData = 0x615a13519be0
eventLoop = {<QObject> = {_vptr.QObject = 0x728c6e37b8e8 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e268220 <qt_meta_stringdata_QObject>, data = 0x728c6e268100 <qt_meta_data_QObject>, static_metacall = 0x728c6e0d7760 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x615a13722db0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e26b1c0 <qt_meta_stringdata_Qt>, data = 0x728c6e268340 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x728c6e373160 <QObject::staticMetaObject>}, stringdata = 0x728c6e262a00 <qt_meta_stringdata_QEventLoop>, data = 0x728c6e2629a0 <qt_meta_data_QEventLoop>, static_metacall = 0x728c6e09e540 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
returnCode = <optimized out>
#35 0x0000728c6e498129 in QGuiApplication::exec () at /usr/src/debug/dev-qt/qtgui-5.15.5-r2/qtbase-everywhere-src-5.15.5/src/gui/kernel/qguiapplication.cpp:1867
1867 return QCoreApplication::exec();
No locals.
#36 0x0000728c6eab9bec in QApplication::exec () at /usr/src/debug/dev-qt/qtwidgets-5.15.5-r1/qtbase-everywhere-src-5.15.5/src/widgets/kernel/qapplication.cpp:2829
2829 return QGuiApplication::exec();
No locals.
#37 0x0000615a11b8939d in main (argc=<optimized out>, argc@entry=1, argv=0x7fff1d2be1f8, argv@entry=0x7fff1d2be1f8) at /usr/src/debug/x11-terms/qterminal-1.1.0/qterminal-1.1.0/src/main.cpp:204
204 int ret = app->exec();
app = 0x615a1351ce40
workdir = {d = 0x615a13640ae0}
shell_command = {d = 0x728c6e184a60 <QArrayData::shared_null>}
dropMode = false
settings = {<QObject> = {_vptr.QObject = 0x728c6e379ed0 <vtable for QSettings+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e268220 <qt_meta_stringdata_QObject>, data = 0x728c6e268100 <qt_meta_data_QObject>, static_metacall = 0x728c6e0d7760 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x728c64001a00}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e26b1c0 <qt_meta_stringdata_Qt>, data = 0x728c6e268340 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x728c6e373160 <QObject::staticMetaObject>}, stringdata = 0x728c6e25a300 <qt_meta_stringdata_QSettings>, data = 0x728c6e25a1c0 <qt_meta_data_QSettings>, static_metacall = 0x728c6e028c90 <QSettings::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
customStyle = {d_ptr = {d = 0x615a13524430}}
qtTranslator = {<QObject> = {_vptr.QObject = 0x728c6e37c3b0 <vtable for QTranslator+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e268220 <qt_meta_stringdata_QObject>, data = 0x728c6e268100 <qt_meta_data_QObject>, static_metacall = 0x728c6e0d7760 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x615a13631de0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e26b1c0 <qt_meta_stringdata_Qt>, data = 0x728c6e268340 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x728c6e373160 <QObject::staticMetaObject>}, stringdata = 0x728c6e277c20 <qt_meta_stringdata_QTranslator>, data = 0x728c6e277be0 <qt_meta_data_QTranslator>, static_metacall = 0x728c6e0df4d0 <QTranslator::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
translator = {<QObject> = {_vptr.QObject = 0x728c6e37c3b0 <vtable for QTranslator+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e268220 <qt_meta_stringdata_QObject>, data = 0x728c6e268100 <qt_meta_data_QObject>, static_metacall = 0x728c6e0d7760 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x615a135840b0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x728c6e26b1c0 <qt_meta_stringdata_Qt>, data = 0x728c6e268340 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x728c6e373160 <QObject::staticMetaObject>}, stringdata = 0x728c6e277c20 <qt_meta_stringdata_QTranslator>, data = 0x728c6e277be0 <qt_meta_data_QTranslator>, static_metacall = 0x728c6e0df4d0 <QTranslator::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
fname = {d = 0x615a13640c10}
initConfig = {m_currentDirectory = {d = 0x728c6e184a60 <QArrayData::shared_null>}, m_workingDirectory = {d = 0x615a13640ae0}, m_shell = {d = 0x728c6e184a60 <QArrayData::shared_null>}}
ret = <optimized out>
#38 0x0000728c6d9fc386 in __libc_start_call_main (main=0x615a11b88e90 <main(int, char**)>, main@entry=0x615a11b88e90 <main(int, char**)>, argc=1, argc@entry=1, argv=0x7fff1d2be1f8, argv@entry=0x7fff1d2be1f8) at ../sysdeps/nptl/libc_start_call_main.h:58
58 result = main (argc, argv, __environ MAIN_AUXVEC_PARAM);
self = <optimized out>
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140733682803192, 1782649141905959065, 1, 0, 107039472595224, 125947486564352, 1782649141887084697, 169971970746067097}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x1, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1}}}
not_first_call = <optimized out>
#39 0x0000728c6d9fc447 in __libc_start_main_impl (main=0x615a11b88e90 <main(int, char**)>, main@entry=<optimized out>, argc=1, argc@entry=<optimized out>, argv=0x7fff1d2be1f8, argv@entry=<optimized out>, init=<optimized out>, init@entry=<optimized out>, fini=<optimized out>, fini@entry=<optimized out>, rtld_fini=<optimized out>, rtld_fini@entry=<optimized out>, stack_end=<optimized out>, stack_end@entry=<optimized out>) at ../csu/libc-start.c:381
381 __libc_start_call_main (main, argc, argv MAIN_AUXVEC_PARAM);
No locals.
#40 0x0000615a11b898a1 in _start ()
No symbol table info available.