Details
-
Bug
-
Resolution: Cannot Reproduce
-
Not Evaluated
-
None
-
4.8.5, 4.8.7
-
None
-
RHEL 6.10 x86_64, gcc 4.8.5
Description
When creating a QDateTimeEdit with its date-time being in the month of January and display format set to "MMM", editing the month with user input will / can cause a segmentation fault.
Steps to reproduce :
- Set OS date-time to January
- With QDateTimeEdit displaying "MMM" as "Jan", place mouse cursor after 'n'.
- Press Backspace twice
>> Observe only "J" is now displayed - Press 'U' once, as if attempting to complete the field with "Jun"
>> Observe segmentation fault
Sample code to reproduce :
1 #include <QApplication> 2 #include <QDateTimeEdit> 3 4 int main(int argc, char** argv) 5 { 6 QApplication app(argc, argv); 7 8 QDateTimeEdit dte(QDateTime::currentDateTime(), nullptr); 9 dte.setDisplayFormat("MMM"); 10 dte.show(); 11 12 return app.exec(); 13 }
qmake project :
###################################################################### # Automatically generated by qmake (2.01a) Tue Jan 15 10:16:26 2019 ######################################################################TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += .# Input HEADERS += SOURCES += main.cpp CONFIG += c++11 debug QMAKE_CXXFLAGS += -std=c++1
Segmentation fault back trace :
Program received signal SIGSEGV, Segmentation fault. 0x00000030e16896d1 in memcpy () from /lib64/libc.so.6 Missing separate debuginfos, use: debuginfo-install expat-2.0.1-13.el6_8.x86_64 fontconfig-2.8.0-5.el6.x86_64 freetype-2.3.11-17.el6.x86_64 glib2-2.28.8-9.el6.x86_64 glibc-2.12-1.212.el6.x86_64 libICE-1.0.6-1.el6.x86_64 libSM-1.2.1-2.el6.x86_64 libX11-1.6.4-3.el6.x86_64 libXau-1.0.6-4.el6.x86_64 libXcursor-1.1.14-2.1.el6.x86_64 libXext-1.3.3-1.el6.x86_64 libXfixes-devel-5.0.3-1.el6.x86_64 libXi-devel-1.7.8-1.el6.x86_64 libXinerama-1.1.3-2.1.el6.x86_64 libXrandr-1.5.1-1.el6.x86_64 libXrender-0.9.10-1.el6.x86_64 libgcc-4.4.7-18.el6.x86_64 libpng-1.2.49-2.el6_7.x86_64 libstdc++-4.4.7-18.el6.x86_64 libuuid-2.17.2-12.28.el6_9.2.x86_64 libxcb-1.12-4.el6.x86_64 zlib-1.2.3-29.el6.x86_64 (gdb) bt #0 0x00000030e16896d1 in memcpy () from /lib64/libc.so.6 #1 0x00007ffff6ef1a8c in QString::insert(int, QChar const*, int) () from /usr/local/qt-4.8.7/lib/libQtCore.so.4 #2 0x00007ffff7914afd in QLineControl::internalInsert(QString const&) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #3 0x00007ffff7915760 in QLineControl::insert(QString const&) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #4 0x00007ffff79171f0 in QLineControl::processKeyEvent(QKeyEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #5 0x00007ffff790c57a in QLineEdit::keyPressEvent(QKeyEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #6 0x00007ffff7569564 in QWidget::event(QEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #7 0x00007ffff79118b1 in QLineEdit::event(QEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #8 0x00007ffff78ca4b9 in QAbstractSpinBox::keyPressEvent(QKeyEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #9 0x00007ffff78e7bc7 in QDateTimeEdit::keyPressEvent(QKeyEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #10 0x00007ffff7569564 in QWidget::event(QEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #11 0x00007ffff78e795f in QDateTimeEdit::event(QEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #12 0x00007ffff751703c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #13 0x00007ffff751e821 in QApplication::notify(QObject*, QEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #14 0x00007ffff6fa834d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/local/qt-4.8.7/lib/libQtCore.so.4 #15 0x00007ffff75b40c7 in ?? () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #16 0x00007ffff75b4448 in ?? () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #17 0x00007ffff759087f in QApplication::x11ProcessEvent(_XEvent*) () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #18 0x00007ffff75b6bd2 in ?? () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #19 0x00000030e2e40552 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #20 0x00000030e2e44d08 in ?? () from /lib64/libglib-2.0.so.0 #21 0x00000030e2e44ec2 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #22 0x00007ffff6fd4eb5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/qt-4.8.7/lib/libQtCore.so.4 #23 0x00007ffff75b6c66 in ?? () from /usr/local/qt-4.8.7/lib/libQtGui.so.4 #24 0x00007ffff6fa6f0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/qt-4.8.7/lib/libQtCore.so.4 #25 0x00007ffff6fa7205 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/qt-4.8.7/lib/libQtCore.so.4 #26 0x00007ffff6fac489 in QCoreApplication::exec() () from /usr/local/qt-4.8.7/lib/libQtCore.so.4 #27 0x0000000000402bf2 in main () at main.cpp:12