Menu

#92 Qt 4.7 assertion problem

pending-remind
nobody
None
5
2012-02-29
2010-12-05
Anonymous
No

System description
Chacrka linux
Kde 4.6
Qt 4.7

Several application (QtCreator 2.0.1, bespin [config] and much more) crash when perform action (like in bespin I choose a category) with this error:
"ASSERT: "uniformSpacer >= 0 || spacing >= 0" in file ../../include/QtGui/private/../../../src/gui/kernel/qlayoutengine_p.h, line 78
Abortited"

Discussion

  • Thomas Luebking

    Thomas Luebking - 2010-12-05

    can you create a complete backtrace?
    (eg. "gdb bespin"; "run"; [crash]; "bt"; [enter [enter [...]])

     
  • Martino Ferrari

    Martino Ferrari - 2010-12-06

    The crash:
    Qt: gdb: -nograb added to command-line options.
    Use the -dograb option to enforce grabbing.
    ASSERT: "uniformSpacer >= 0 || spacing >= 0" in file ../../include/QtGui/private/../../../src/gui/kernel/qlayoutengine_p.h, line 78

    Program received signal SIGABRT, Aborted.
    0xb7fe1424 in __kernel_vsyscall ()

    This is the backtrace:
    #0 0xb7fe1424 in __kernel_vsyscall ()
    #1 0xb6fbcde1 in raise () from /lib/libc.so.6
    #2 0xb6fbe66e in abort () from /lib/libc.so.6
    #3 0xb7d60962 in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4
    #4 0xb7d60b07 in qt_message(QtMsgType, char const*, char*) () from /usr/lib/libQtCore.so.4
    #5 0xb7d60c19 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
    #6 0xb7d60ca5 in qt_assert(char const*, char const*, int) () from /usr/lib/libQtCore.so.4
    #7 0xb7331210 in qGeomCalc(QVector<QLayoutStruct>&, int, int, int, int, int) () from /usr/lib/libQtGui.so.4
    #8 0xb732065d in QFormLayout::setGeometry(QRect const&) () from /usr/lib/libQtGui.so.4
    #9 0xb7327a37 in QGridLayoutPrivate::distribute(QRect, int, int) () from /usr/lib/libQtGui.so.4
    #10 0xb7327e2a in QGridLayout::setGeometry(QRect const&) () from /usr/lib/libQtGui.so.4
    #11 0xb732e2af in QLayoutPrivate::doResize(QSize const&) () from /usr/lib/libQtGui.so.4
    #12 0xb732fca2 in QLayout::activate() () from /usr/lib/libQtGui.so.4
    #13 0xb733006e in QLayout::widgetEvent(QEvent*) () from /usr/lib/libQtGui.so.4
    #14 0xb72faad7 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
    #15 0xb72ffe78 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
    #16 0xb7e7150b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
    #17 0xb7358121 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQtGui.so.4
    #18 0xb7358040 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQtGui.so.4
    #19 0xb7358040 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQtGui.so.4
    ---Type <return> to continue, or q <return> to quit---
    #20 0xb7358040 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQtGui.so.4
    #21 0xb7358040 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQtGui.so.4
    #22 0xb735a650 in QWidgetPrivate::prepareToRender(QRegion const&, QFlags<QWidget::RenderFlag>) () from /usr/lib/libQtGui.so.4
    #23 0xb735ad00 in QWidgetPrivate::render(QPaintDevice*, QPoint const&, QRegion const&, QFlags<QWidget::RenderFlag>, bool) () from /usr/lib/libQtGui.so.4
    #24 0xb735ae4c in QWidget::render(QPaintDevice*, QPoint const&, QRegion const&, QFlags<QWidget::RenderFlag>) () from /usr/lib/libQtGui.so.4
    #25 0xb56da67f in ?? () from /usr/lib/qt/plugins/styles/libbespin.so
    #26 0xb56db6b2 in ?? () from /usr/lib/qt/plugins/styles/libbespin.so
    #27 0xb56dbd3b in ?? () from /usr/lib/qt/plugins/styles/libbespin.so
    #28 0xb5726a4d in ?? () from /usr/lib/qt/plugins/styles/libbespin.so
    #29 0xb7e7855c in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
    #30 0xb7e893d7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #31 0xb7a871b3 in QStackedWidget::currentChanged(int) () from /usr/lib/libQtGui.so.4
    #32 0xb7a8738f in QStackedWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtGui.so.4
    #33 0xb7e7855c in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
    #34 0xb7e893d7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #35 0xb7a7b093 in QStackedLayout::currentChanged(int) () from /usr/lib/libQtGui.so.4
    #36 0xb733c4f5 in QStackedLayout::setCurrentIndex(int) () from /usr/lib/libQtGui.so.4
    #37 0xb77f702d in QStackedWidget::setCurrentIndex(int) () from /usr/lib/libQtGui.so.4
    #38 0xb7a87327 in QStackedWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtGui.so.4
    #39 0xb7e7855c in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
    ---Type <return> to continue, or q <return> to quit---
    #40 0xb7e893d7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #41 0xb7949a63 in QListWidget::currentRowChanged(int) () from /usr/lib/libQtGui.so.4
    #42 0xb7949df0 in QListWidgetPrivate::_q_emitCurrentItemChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/libQtGui.so.4
    #43 0xb794de54 in QListWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtGui.so.4
    #44 0xb7e7855c in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
    #45 0xb7e893d7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #46 0xb7935ba9 in QItemSelectionModel::currentChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/libQtGui.so.4
    #47 0xb7935ce2 in QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib/libQtGui.so.4
    #48 0xb78d6aa7 in QAbstractItemView::mousePressEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
    #49 0xb735c8f1 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
    #50 0xb778a8e3 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
    #51 0xb7825442 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
    #52 0xb78d449f in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
    #53 0xb7827f35 in QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
    #54 0xb7e716aa in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
    #55 0xb72faaea in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
    #56 0xb7300c82 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
    #57 0xb7e7150b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
    #58 0xb72fbfc0 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
    from /usr/lib/libQtGui.so.4
    ---Type <return> to continue, or q <return> to quit---
    #59 0xb738fad4 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib/libQtGui.so.4
    #60 0xb738e6c8 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
    #61 0xb73b99ea in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib/libQtGui.so.4
    #62 0xb6ec1b72 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #63 0xb6ec2350 in ?? () from /usr/lib/libglib-2.0.so.0
    #64 0xb6ec2604 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
    #65 0xb7ea23ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #66 0xb73b95c5 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtGui.so.4
    #67 0xb7e6feb9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #68 0xb7e7015a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #69 0xb7e75caf in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
    #70 0xb72f8947 in QApplication::exec() () from /usr/lib/libQtGui.so.4
    #71 0x08051f60 in _start ()

     
  • Thomas Luebking

    Thomas Luebking - 2010-12-06

    it's triggered by the animated tab changes, so deactivate them to stop crashing your desktop
    do you compile bespin from (svn) source?

    (in case: please create an unstripped (Debug) version and recreate a backtrace, currently the information in particular about bespin is of few use - and the stack seems one function too deep)

    also there's some commented code in animation/tab.cpp:132ff which you couold uncomment to check whether this "fixes" it

    (I'm btw using arch/Qt4.7.1 w/o any problems...)

     
  • Nobody/Anonymous

    Yes I used the last svn code ( i recompile it yesterday..) I'll try uncomment the lines.. now without animation it works fine but with qtcreator give me the same problem... here the error plus backtrace:

    ASSERT: "uniformSpacer >= 0 || spacing >= 0" in file ../../include/QtGui/private/../../../src/gui/kernel/qlayoutengine_p.h, line 78

    Program received signal SIGABRT, Aborted.
    0xb7fe1424 in __kernel_vsyscall ()

    #0 0xb7fe1424 in __kernel_vsyscall ()
    #1 0xb6d17de1 in raise () from /lib/libc.so.6
    #2 0xb6d1966e in abort () from /lib/libc.so.6
    #3 0xb6fda962 in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4
    #4 0xb6fdab07 in qt_message(QtMsgType, char const*, char*) () from /usr/lib/libQtCore.so.4
    #5 0xb6fdac19 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
    #6 0xb6fdaca5 in qt_assert(char const*, char const*, int) () from /usr/lib/libQtCore.so.4
    #7 0xb7584210 in qGeomCalc(QVector<QLayoutStruct>&, int, int, int, int, int) () from /usr/lib/libQtGui.so.4
    #8 0xb757365d in QFormLayout::setGeometry(QRect const&) () from /usr/lib/libQtGui.so.4
    #9 0xb757aa37 in QGridLayoutPrivate::distribute(QRect, int, int) () from /usr/lib/libQtGui.so.4
    #10 0xb757ae2a in QGridLayout::setGeometry(QRect const&) () from /usr/lib/libQtGui.so.4
    #11 0xb75812af in QLayoutPrivate::doResize(QSize const&) () from /usr/lib/libQtGui.so.4
    #12 0xb7582ca2 in QLayout::activate() () from /usr/lib/libQtGui.so.4
    #13 0xb75b4831 in QWidget::setVisible(bool) () from /usr/lib/libQtGui.so.4
    #14 0xb7b34200 in QAbstractItemView::setIndexWidget(QModelIndex const&, QWidget*) () from /usr/lib/libQtGui.so.4
    #15 0xb7b9d5d4 in QListWidget::setItemWidget(QListWidgetItem*, QWidget*) () from /usr/lib/libQtGui.so.4
    #16 0xb43885f0 in ?? () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #17 0xb438801e in ?? () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #18 0xb43a60d9 in ?? () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #19 0xb70f255c in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
    ---Type <return> to continue, or q <return> to quit---
    #20 0xb71033d7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #21 0xb439e50a in ProjectExplorer::SessionManager::projectAdded(ProjectExplorer::Project*) ()
    from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #22 0xb4310293 in ProjectExplorer::SessionManager::addProjects(QList<ProjectExplorer::Project*> const&) ()
    from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #23 0xb4310035 in ProjectExplorer::SessionManager::addProject(ProjectExplorer::Project*) () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #24 0xb42cdc3c in ProjectExplorer::ProjectExplorerPlugin::openProjects(QStringList const&) ()
    from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #25 0xb42cd8c1 in ProjectExplorer::ProjectExplorerPlugin::openProject(QString const&) () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #26 0xb439c968 in ?? () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #27 0xb439c6a9 in ProjectExplorer::ProjectExplorerPlugin::qt_metacall(QMetaObject::Call, int, void**) ()
    from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #28 0xb70f255c in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
    #29 0xb71033d7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #30 0xb43a5610 in ?? () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #31 0xb43a5592 in ?? () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #32 0xb70f255c in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
    #33 0xb71033d7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #34 0xb43a59b4 in ?? () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #35 0xb4381f50 in ?? () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    ---Type <return> to continue, or q <return> to quit---
    #36 0xb43a594f in ?? () from /usr/lib/qtcreator/plugins/Nokia/libProjectExplorer.so
    #37 0xb70f255c in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
    #38 0xb71033d7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #39 0xb513dcb0 in Utils::WelcomeModeTreeWidget::activated(QString const&) () from /usr/lib/qtcreator/plugins/Nokia/../../libUtils.so.1
    #40 0xb513db7e in Utils::WelcomeModeTreeWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/qtcreator/plugins/Nokia/../../libUtils.so.1
    #41 0xb70f255c in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
    #42 0xb71033d7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #43 0xb512dd42 in ?? () from /usr/lib/qtcreator/plugins/Nokia/../../libUtils.so.1
    #44 0xb512d612 in ?? () from /usr/lib/qtcreator/plugins/Nokia/../../libUtils.so.1
    #45 0xb75af8f1 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
    #46 0xb754db01 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
    #47 0xb7553c82 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
    #48 0xb70eb50b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
    #49 0xb754efc0 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
    from /usr/lib/libQtGui.so.4
    #50 0xb75e2ad4 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib/libQtGui.so.4
    #51 0xb75e16c8 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
    #52 0xb760c9ea in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib/libQtGui.so.4
    #53 0xb6c59b72 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #54 0xb6c5a350 in ?? () from /usr/lib/libglib-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #55 0xb6c5a604 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
    #56 0xb711c3ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #57 0xb760c5c5 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtGui.so.4
    #58 0xb70e9eb9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #59 0xb70ea15a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #60 0xb70efcaf in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
    #61 0xb754b947 in QApplication::exec() () from /usr/lib/libQtGui.so.4
    #62 0x080507ae in ?? ()
    #63 0xb6d03c76 in __libc_start_main () from /lib/libc.so.6
    #64 0x0804c7d1 in ?? ()

     
  • Thomas Luebking

    Thomas Luebking - 2010-12-09

    There's no reference to bespin code in the last trace, what makes me wonder if this is a general issue in Qt's layouting code (notably since qtcreator is apart the dialogs mostly ignoring the installed UI style)

    If the crash in QtCreator _only_ happens with the bespin UI style (and not eg. any other external one) it could just be related to specific margin values (found in pixelmetric.cpp, did the issue arise with late bespin updates?) but it's somehow irritating that you seem pretty alone on this issue (it's however too reproducable on your side to be some random memory corruption...)

     
    • Anonymous

      Anonymous - 2016-04-20
      Post awaiting moderation.
  • Thomas Luebking

    Thomas Luebking - 2012-02-29

    Any news on this?

     
  • Thomas Luebking

    Thomas Luebking - 2012-02-29
    • status: open --> pending-remind
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB