简体   繁体   English

Linux Qt应用程序在Qt库中崩溃

[英]Linux Qt application crashed in Qt libraries

I have one Qt application on Linux crashed. 我在Linux上有一个Qt应用程序崩溃了。 The backstacks show nearly all in Qt libraries. 堆栈显示了Qt库中的几乎所有内容。 Is this a bug of Qt? 这是Qt的错误吗? How to handle this? 如何处理呢?

Program received signal SIGABRT, Aborted.
0x00007ffff5471d05 in raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
    in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
#0  0x00007ffff5471d05 in raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff5475ab6 in abort () at abort.c:92
#2  0x00007ffff54aad7b in __libc_message (do_abort=2, 
    fmt=0x7ffff5593400 "*** glibc detected *** %s: %s: 0x%s ***\n")
    at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#3  0x00007ffff54b5fb1 in malloc_printerr (av=0x7ffff57cd1c0) at malloc.c:6283
#4  malloc_consolidate (av=0x7ffff57cd1c0) at malloc.c:5161
#5  0x00007ffff54b7472 in _int_malloc (av=0x7ffff57cd1c0, bytes=45826560)
    at malloc.c:4373
#6  0x00007ffff54ba31e in __libc_malloc (bytes=45826560) at malloc.c:3660
#7  0x00007ffff62657b6 in QString::realloc(int) () from ./libQtCore.so.4
#8  0x00007ffff6ceeae7 in ?? () from ./libQtGui.so.4
#9  0x00007ffff6cefb88 in QPainter::drawText(QRect const&, int, QString const&, QRect*) () from ./libQtGui.so.4
#10 0x00007ffff6f41f23 in QCleanlooksStyle::drawItemText(QPainter*, QRect const&, int, QPalette const&, bool, QString const&, QPalette::ColorRole) const ()
   from ./libQtGui.so.4
#11 0x00007ffff6fc3ae3 in QLabel::paintEvent(QPaintEvent*) ()
   from ./libQtGui.so.4
#12 0x00007ffff6be6e9c in QWidget::event(QEvent*) () from ./libQtGui.so.4
---Type <return> to continue, or q <return> to quit---
#13 0x00007ffff6fbe17b in QFrame::event(QEvent*) () from ./libQtGui.so.4
#14 0x00007ffff6fc1cbb in QLabel::event(QEvent*) () from ./libQtGui.so.4
#15 0x00007ffff6b8b84f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from ./libQtGui.so.4
#16 0x00007ffff6b92e22 in QApplication::notify(QObject*, QEvent*) ()
   from ./libQtGui.so.4
#17 0x00007ffff6311b54 in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from ./libQtCore.so.4
#18 0x00007ffff6be4085 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from ./libQtGui.so.4
#19 0x00007ffff6be4a02 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from ./libQtGui.so.4
#20 0x00007ffff6be48c4 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from ./libQtGui.so.4
#21 0x00007ffff6be48c4 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from ./libQtGui.so.4
#22 0x00007ffff6be48c4 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, ---Type <return> to continue, or q <return> to quit---
QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from ./libQtGui.so.4
#23 0x00007ffff6be48c4 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from ./libQtGui.so.4
#24 0x00007ffff6be48c4 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from ./libQtGui.so.4
#25 0x00007ffff6be3c7a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from ./libQtGui.so.4
#26 0x00007ffff6db6665 in ?? () from ./libQtGui.so.4
#27 0x00007ffff6bdaef6 in QWidgetPrivate::syncBackingStore() ()
   from ./libQtGui.so.4
#28 0x00007ffff6be6fc6 in QWidget::event(QEvent*) () from ./libQtGui.so.4
#29 0x00007ffff6b8b84f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from ./libQtGui.so.4
#30 0x00007ffff6b92e22 in QApplication::notify(QObject*, QEvent*) ()
   from ./libQtGui.so.4
#31 0x00007ffff6311b54 in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from ./libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#32 0x00007ffff6312bb4 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from ./libQtCore.so.4
#33 0x00007ffff633e8c3 in ?? () from ./libQtCore.so.4
#34 0x00007ffff4d88bcd in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff4d893a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007ffff4d89639 in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007ffff633eb35 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from ./libQtCore.so.4
#38 0x00007ffff6c3be3f in ?? () from ./libQtGui.so.4
#39 0x00007ffff6310ef5 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from ./libQtCore.so.4
#40 0x00007ffff631115d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from ./libQtCore.so.4
#41 0x00007ffff6312f04 in QCoreApplication::exec() () from ./libQtCore.so.4
#42 0x000000000041b74a in main (argc=2, argv=0x7fffffffe1f8) at CCC.cpp:549
(gdb) 

Read the stacktrace: 阅读堆栈跟踪:

__libc_malloc (bytes=45826560)
QPainter::drawText(...)
QLabel::paintEvent(QPaintEvent*) ()

It looks like you are passing an invalid string to Qt to render in a QLabel. 似乎您正在向Qt传递无效的字符串以在QLabel中呈现。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM