https://bugs.kde.org/show_bug.cgi?id=487581

            Bug ID: 487581
           Summary: LabPlot crashes when creating a new spreadsheet from
                    the "Import Data from File" dialog and the UI language
                    is Simplified Chinese (zh_CN)
    Classification: Applications
           Product: LabPlot2
           Version: 2.10.0
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: frontend
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

SUMMARY

LabPlot crashes when creating a new spreadsheet from the "Import Data from
File" dialog and the UI language is Simplified Chinese (zh_CN). I cannot
reproduce the crash when LabPlot is set to other languages.

STEPS TO REPRODUCE
1. Set the UI language of LabPlot to Simplified Chinese (zh_CN)
2. Go to "文件 (File) → 导入数据 (Import Data) → From File..."
3. Click on the "New" button next to "Data container" and select "新建数据表 (New
Spreadsheet)"

OBSERVED RESULT

LabPlot crashes

EXPECTED RESULT

A dialog that asks you to input the name of the new spreadsheet should appear

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 6.9.1-arch1-2
KDE Plasma Version: 6.0.5
KDE Frameworks Version: 6.2.0/5.116.0
Qt Version: 6.7.1/5.15.13

ADDITIONAL INFORMATION

Only "New Spreadsheet" is translated into Simplified Chinese (zh_CN). "New
Workbook" and "New Matrix" are untranslated, and they work fine. I have also
tried Traditional Chinese (zh_TW), Japanese (ja), Greek (el) and French (fr),
and all of them work fine. "New Spreadsheet" is only translated into French.

When LabPlot crashes, the following is printed to the terminal:

void ImportDialog::newDataContainer(QAction*)
22 -- exe=/usr/bin/labplot2
17 -- platform=wayland
17 -- appname=labplot2
17 -- apppath=/usr/bin
10 -- signal=11
10 -- pid=15653
18 -- appversion=2.10.0
20 -- programname=LabPlot
31 -- [email protected]
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = labplot2 path = /usr/bin pid = 15653
KCrash: Arguments: /usr/bin/labplot2 
The Wayland connection experienced a fatal error: 错误的文件描述符

where "错误的文件描述符" means "wrong file descriptor".

If I enable debuginfod and trigger the crash, LabPlot and GDB seem to freeze
permanently. Even after I killed LabPlot, GDB is still not responding for a
long time. Then the following backtrace can be obtained:

Thread 1 "labplot2" received signal SIGSEGV, Segmentation fault.
QString::QString (other=..., this=<optimized out>, this=<optimized out>,
other=...)
    at /usr/include/qt/QtCore/qstring.h:1091
warning: Source file is more recent than executable.
1091    { Q_ASSERT(&other != this); d->ref.ref(); }
(gdb) backtrace 
#0  QString::QString
    (other=<error reading variable: Cannot access memory at address
0x555556ac9518>, this=0x7fffffffae98, this=<optimized out>, other=<optimized
out>) at /usr/include/qt/QtCore/qstring.h:1091
#1  ImportDialog::newDataContainer (this=0x7fffe8013b30, action=0x55555685bfb0)
    at
/usr/src/debug/labplot/labplot-2.10.1/src/kdefrontend/datasources/ImportDialog.cpp:138

If debuginfod is disabled, then GDB will not freeze and the following backtrace
can be obtained immediately:
#0  0x00005555556b4f51 in ??? ()
#1  0x00007ffff52df99e in ??? () at /usr/lib/libQt5Core.so.5
#2  0x00007ffff60def05 in QMenu::triggered(QAction*) () at
/usr/lib/libQt5Widgets.so.5
#3  0x00007ffff60e6d92 in ??? () at /usr/lib/libQt5Widgets.so.5
#4  0x00007ffff52df962 in ??? () at /usr/lib/libQt5Core.so.5
#5  0x00007ffff5f492e5 in QAction::triggered(bool) () at
/usr/lib/libQt5Widgets.so.5
#6  0x00007ffff5f4ef70 in QAction::activate(QAction::ActionEvent) () at
/usr/lib/libQt5Widgets.so.5
#7  0x00007ffff60df7ab in ??? () at /usr/lib/libQt5Widgets.so.5
#8  0x00007ffff60df8d4 in ??? () at /usr/lib/libQt5Widgets.so.5
#9  0x00007ffff5f8f7c6 in QWidget::event(QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#10 0x00007ffff5f56331 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
    at /usr/lib/libQt5Widgets.so.5
#11 0x00007ffff5f5c0d1 in QApplication::notify(QObject*, QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#12 0x00007ffff52ab968 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
    at /usr/lib/libQt5Core.so.5
#13 0x00007ffff5f59df5 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
at /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff5fa9525 in ??? () at /usr/lib/libQt5Widgets.so.5
#15 0x00007ffff5faacc7 in ??? () at /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff5f56331 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
    at /usr/lib/libQt5Widgets.so.5
#17 0x00007ffff52ab968 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
    at /usr/lib/libQt5Core.so.5
#18 0x00007ffff573ba60 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() at /usr/lib/libQt5Gui.so.5
#19 0x00007ffff571cddd in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() at /usr/lib/libQt5Gui.so.5
#20 0x00007ffff0cd5cf5 in ??? () at /usr/lib/libQt5WaylandClient.so.5
#21 0x00007ffff2b14a89 in ??? () at /usr/lib/libglib-2.0.so.0
#22 0x00007ffff2b769b7 in ??? () at /usr/lib/libglib-2.0.so.0
#23 0x00007ffff2b13f95 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#24 0x00007ffff52fa27f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/libQt5Core.so.5
#25 0x00007ffff52a372c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/libQt5Core.so.5
#26 0x00007ffff60e7311 in ??? () at /usr/lib/libQt5Widgets.so.5
#27 0x00007ffff60e7436 in QMenu::exec(QPoint const&, QAction*) () at
/usr/lib/libQt5Widgets.so.5
#28 0x00005555556ac846 in ??? ()
#29 0x00007ffff52df99e in ??? () at /usr/lib/libQt5Core.so.5
#30 0x00007ffff60441a5 in QAbstractButton::clicked(bool) () at
/usr/lib/libQt5Widgets.so.5
#31 0x00007ffff6046b73 in ??? () at /usr/lib/libQt5Widgets.so.5
#32 0x00007ffff6048101 in ??? () at /usr/lib/libQt5Widgets.so.5
#33 0x00007ffff60482d2 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
    at /usr/lib/libQt5Widgets.so.5
#34 0x00007ffff6144197 in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
    at /usr/lib/libQt5Widgets.so.5
#35 0x00007ffff5f8f7c6 in QWidget::event(QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#36 0x00007ffff5f56331 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
    at /usr/lib/libQt5Widgets.so.5
#37 0x00007ffff5f5c0d1 in QApplication::notify(QObject*, QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#38 0x00007ffff52ab968 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
    at /usr/lib/libQt5Core.so.5
#39 0x00007ffff5f59df5 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
at /usr/lib/libQt5Widgets.so.5
#40 0x00007ffff5fa8c8a in ??? () at /usr/lib/libQt5Widgets.so.5
#41 0x00007ffff5faacc7 in ??? () at /usr/lib/libQt5Widgets.so.5
#42 0x00007ffff5f56331 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
    at /usr/lib/libQt5Widgets.so.5
#43 0x00007ffff52ab968 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
    at /usr/lib/libQt5Core.so.5
#44 0x00007ffff573ba60 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() at /usr/lib/libQt5Gui.so.5
#45 0x00007ffff571cddd in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() at /usr/lib/libQt5Gui.so.5
#46 0x00007ffff0cd5cf5 in ??? () at /usr/lib/libQt5WaylandClient.so.5
#47 0x00007ffff2b14a89 in ??? () at /usr/lib/libglib-2.0.so.0
#48 0x00007ffff2b769b7 in ??? () at /usr/lib/libglib-2.0.so.0
#49 0x00007ffff2b13f95 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#50 0x00007ffff52fa27f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/libQt5Core.so.5
#51 0x00007ffff52a372c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/libQt5Core.so.5
#52 0x00007ffff6162b6f in QDialog::exec() () at /usr/lib/libQt5Widgets.so.5
#53 0x00005555556992af in ??? ()
#54 0x000055555569a223 in ??? ()
#55 0x00007ffff52df99e in ??? () at /usr/lib/libQt5Core.so.5
#56 0x00007ffff5f492e5 in QAction::triggered(bool) () at
/usr/lib/libQt5Widgets.so.5
#57 0x00007ffff5f4ef70 in QAction::activate(QAction::ActionEvent) () at
/usr/lib/libQt5Widgets.so.5
#58 0x00007ffff60df7ab in ??? () at /usr/lib/libQt5Widgets.so.5
#59 0x00007ffff60df8d4 in ??? () at /usr/lib/libQt5Widgets.so.5
#60 0x00007ffff5f8f7c6 in QWidget::event(QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#61 0x00007ffff5f56331 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
    at /usr/lib/libQt5Widgets.so.5
#62 0x00007ffff5f5c0d1 in QApplication::notify(QObject*, QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#63 0x00007ffff52ab968 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
    at /usr/lib/libQt5Core.so.5
#64 0x00007ffff5f59df5 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
at /usr/lib/libQt5Widgets.so.5
#65 0x00007ffff5fa9525 in ??? () at /usr/lib/libQt5Widgets.so.5
#66 0x00007ffff5faacc7 in ??? () at /usr/lib/libQt5Widgets.so.5
#67 0x00007ffff5f56331 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
    at /usr/lib/libQt5Widgets.so.5
#68 0x00007ffff52ab968 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
    at /usr/lib/libQt5Core.so.5
#69 0x00007ffff573ba60 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() at /usr/lib/libQt5Gui.so.5
#70 0x00007ffff571cddd in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() at /usr/lib/libQt5Gui.so.5
#71 0x00007ffff0cd5cf5 in ??? () at /usr/lib/libQt5WaylandClient.so.5
#72 0x00007ffff2b14a89 in ??? () at /usr/lib/libglib-2.0.so.0
#73 0x00007ffff2b769b7 in ??? () at /usr/lib/libglib-2.0.so.0
#74 0x00007ffff2b13f95 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#75 0x00007ffff52fa27f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/libQt5Core.so.5
#76 0x00007ffff52a372c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/libQt5Core.so.5
#77 0x00007ffff52afafd in QCoreApplication::exec() () at
/usr/lib/libQt5Core.so.5
#78 0x0000555555681f24 in ??? ()
#79 0x00007ffff4a39c88 in ??? () at /usr/lib/libc.so.6
#80 0x00007ffff4a39d4c in __libc_start_main () at /usr/lib/libc.so.6
#81 0x0000555555683375 in ??? ()

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to