View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001790 | Sketcher | Bug | public | 2014-10-20 13:03 | 2014-12-15 10:06 |
Reporter | sponssi | Assigned To | wmayer | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | 64 bit | OS | Kubuntu 14.04.1 | ||
Product Version | 0.14 | ||||
Summary | 0001790: Crash on undo/redo with a selection | ||||
Description | FreeCAD crashes on linux when doing undo/redo in sketcher while having some items selected. A sure way to reproduce this is detailed below. Selecting+undo/redoing with different items in a different order produce different backtraces. On windows 7 64 bit, with FreeCAD 0.14.3700 64bit, there is no crash, but uncaught exceptions are reported in the report view. After this the gui gets messed up, e.g. Model/Task-tabs and exit sketch-button stop working properly. | ||||
Steps To Reproduce | 1. Create a new document 2. Create a new sketch 3. Draw a line 4a. Select the line endpoint 4b. Box select the line and endpoints 5. Undo 6. Redo => crash | ||||
Additional Information | OS: Ubuntu 14.04.1 LTS Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.15.4114 (Git) Branch: master Hash: 8711bdd78f910b3016c8dbcac25af94a65966a8b Python version: 2.7.6 Qt version: 4.8.6 Coin version: 4.0.0a OCC version: 6.7.0 | ||||
Tags | undo | ||||
FreeCAD Information | |||||
|
backtrace.txt (14,336 bytes)
*** Error in `/home/sponssi/devel/freecad/build/bin/FreeCAD': free(): invalid next size (fast): 0x000000000251fb90 *** Program received signal SIGABRT, Aborted. 0x00007ffff43eabb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 0x00007ffff43eabb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007ffff43edfc8 in __GI_abort () at abort.c:89 #2 0x00007ffff4427e14 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7ffff4536668 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007ffff44340ee in malloc_printerr (ptr=<optimized out>, str=0x7ffff4536808 "free(): invalid next size (fast)", action=1) at malloc.c:4996 #4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840 #5 0x00007ffff3bde434 in SoMFColor::allocValues(int) () from /usr/lib/x86_64-linux-gnu/libCoin.so.80 #6 0x00007ffff3bfa56f in SoMField::insertSpace(int, int) () from /usr/lib/x86_64-linux-gnu/libCoin.so.80 #7 0x00007fffca8cd1ea in SketcherGui::ViewProviderSketch::draw (this=0x24cb7e0, temp=true) at /home/sponssi/devel/freecad/source/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp:2801 #8 0x00007fffca8d689a in SketcherGui::ViewProviderSketch::updateData (this=0x24cb7e0, prop=0x24bd270) at /home/sponssi/devel/freecad/source/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp:3615 #9 0x00007ffff769a620 in Gui::ViewProvider::update (this=0x24cb7e0, prop=0x24bd270) at /home/sponssi/devel/freecad/source/src/Gui/ViewProvider.cpp:218 #10 0x00007ffff74310ef in Gui::Document::slotChangedObject (this=0x218b6b0, Obj=..., Prop=...) at /home/sponssi/devel/freecad/source/src/Gui/Document.cpp:450 #11 0x00007ffff7442284 in boost::_mfi::mf2<void, Gui::Document, App::DocumentObject const&, App::Property const&>::operator() (this=0x20b0a60, p=0x218b6b0, a1=..., a2=...) at /usr/include/boost/bind/mem_fn_template.hpp:280 #12 0x00007ffff74416c6 in boost::_bi::list3<boost::_bi::value<Gui::Document*>, boost::arg<1>, boost::arg<2> >::operator()<boost::_mfi::mf2<void, Gui::Document, App::DocumentObject const&, App::Property const&>, boost::_bi::list2<App::DocumentObject const&, App::Property const&> > (this=0x20b0a70, f=..., a=...) at /usr/include/boost/bind/bind.hpp:392 #13 0x00007ffff74409fe in boost::_bi::bind_t<void, boost::_mfi::mf2<void, Gui::Document, App::DocumentObject const&, App::Property const&>, boost::_bi::list3<boost::_bi::value<Gui::Document*>, boost::arg<1>, boost::arg<2> > >::operator()<App::DocumentObject, App::Property> (this=0x20b0a60, a1=..., a2=...) at /usr/include/boost/bind/bind_template.hpp:102 #14 0x00007ffff743f18c in boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, Gui::Document, App::DocumentObject const&, App::Property const&>, boost::_bi::list3<boost::_bi::value<Gui::Document*>, boost::arg<1>, boost::arg<2> > >, void, App::DocumentObject const&, App::Property const&>::invoke ( function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/function/function_template.hpp:153 #15 0x00007ffff6c14376 in boost::function2<void, App::DocumentObject const&, App::Property const&>::operator() ( this=0x20b0a58, a0=..., a1=...) at /usr/include/boost/function/function_template.hpp:767 #16 0x00007ffff6c11361 in boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >::operator()<boost::signals::detail::connection_slot_pair>(boost::signals::detail::connection_slot_pair const&) const (this=0x7fffffffb5f0, slot=...) at /usr/include/boost/signals/signal_template.hpp:119 #17 0x00007ffff6c0decc in boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator>::dereference() const (this=0x7fffffffb5b0) at /usr/include/boost/signals/detail/slot_call_iterator.hpp:61 #18 0x00007ffff6c0ab60 in boost::iterator_core_access::dereference<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator> >(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator> const&) (f=...) at /usr/include/boost/iterator/iterator_facade.hpp:514 #19 0x00007ffff6c06f4c in boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long>::operator*() const ( this=0x7fffffffb5b0) at /usr/include/boost/iterator/iterator_facade.hpp:639 #20 0x00007ffff6c026a6 in boost::detail::postfix_increment_proxy<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator> >::postfix_increment_proxy(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator> const&) (this=0x7fffffffb46f, x=...) at /usr/include/boost/iterator/iterator_facade.hpp:145 #21 0x00007ffff6bfc926 in boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long>(boost::iterator_facade<boost::signal---Type <return> to continue, or q <return> to quit--- s::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long>&, int) (i=...) at /usr/include/boost/iterator/iterator_facade.hpp:728 #22 0x00007ffff6bf7447 in boost::last_value<void>::operator()<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator> >(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<App::DocumentObject const&, App::Property const&, boost::function<void (App::DocumentObject const&, App::Property const&)> >, boost::signals::detail::named_slot_map_iterator>) const (this=0xe75698, first=..., last=...) at /usr/include/boost/last_value.hpp:49 #23 0x00007ffff6bf3070 in boost::signal2<void, App::DocumentObject const&, App::Property const&, boost::last_value<void>, int, std::less<int>, boost::function<void (App::DocumentObject const&, App::Property const&)> >::operator()(App::DocumentObject const&, App::Property const&) (this=0x219e5b0, a1=..., a2=...) at /usr/include/boost/signals/signal_template.hpp:354 #24 0x00007ffff6be5083 in App::Document::onChangedProperty (this=0x219e320, Who=0x24bd150, What=0x24bd270) at /home/sponssi/devel/freecad/source/src/App/Document.cpp:524 #25 0x00007ffff6c2de90 in App::DocumentObject::onChanged (this=0x24bd150, prop=0x24bd270) at /home/sponssi/devel/freecad/source/src/App/DocumentObject.cpp:193 #26 0x00007fffd14a184a in Part::Feature::onChanged (this=0x24bd150, prop=0x24bd270) at /home/sponssi/devel/freecad/source/src/Mod/Part/App/PartFeature.cpp:142 #27 0x00007fffcb8f1bd5 in Sketcher::SketchObject::onChanged (this=0x24bd150, prop=0x24bd270) at /home/sponssi/devel/freecad/source/src/Mod/Sketcher/App/SketchObject.cpp:1608 #28 0x00007ffff6c61255 in App::Property::hasSetValue (this=0x24bd270) at /home/sponssi/devel/freecad/source/src/App/Property.cpp:94 #29 0x00007fffd14c4da9 in Part::PropertyGeometryList::setValues (this=0x24bd270, lValue=...) at /home/sponssi/devel/freecad/source/src/Mod/Part/App/PropertyGeometryList.cpp:103 #30 0x00007fffd14c56b6 in Part::PropertyGeometryList::Paste (this=0x24bd270, from=...) at /home/sponssi/devel/freecad/source/src/Mod/Part/App/PropertyGeometryList.cpp:195 #31 0x00007ffff6c57550 in App::TransactionObject::applyChn (this=0xc262f0, Forward=true) at /home/sponssi/devel/freecad/source/src/App/Transactions.cpp:253 #32 0x00007ffff6c56b90 in App::Transaction::apply (this=0xb50a00, Doc=..., forward=true) at /home/sponssi/devel/freecad/source/src/App/Transactions.cpp:126 #33 0x00007ffff6be436c in App::Document::redo (this=0x219e320) at /home/sponssi/devel/freecad/source/src/App/Document.cpp:297 #34 0x00007ffff74357ba in Gui::Document::redo (this=0x218b6b0, iSteps=1) at /home/sponssi/devel/freecad/source/src/Gui/Document.cpp:1229 #35 0x00007ffff766d456 in Gui::View3DInventor::onMsg (this=0x21a4ef0, pMsg=0x7ffff79d790c "Redo", ppReturn=0x0) at /home/sponssi/devel/freecad/source/src/Gui/View3DInventor.cpp:675 #36 0x00007ffff7407b9d in Gui::Application::sendMsgToActiveView (this=0x7fffffffd540, pMsg=0x7ffff79d790c "Redo", ppReturn=0x0) at /home/sponssi/devel/freecad/source/src/Gui/Application.cpp:741 #37 0x00007ffff748db66 in StdCmdRedo::activated (this=0x992290, iMsg=0) at /home/sponssi/devel/freecad/source/src/Gui/CommandDoc.cpp:757 #38 0x00007ffff748210f in Gui::Command::invoke (this=0x992290, i=0) at /home/sponssi/devel/freecad/source/src/Gui/Command.cpp:288 #39 0x00007ffff7478e57 in Gui::Action::onActivated (this=0x1cb8600) at /home/sponssi/devel/freecad/source/src/Gui/Action.cpp:92 #40 0x00007ffff747e0a7 in Gui::Action::qt_static_metacall (_o=0x1cb8600, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffbd00) at /home/sponssi/devel/freecad/build/src/Gui/moc_Action.cpp:49 #41 0x00007ffff4e2587a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #42 0x00007ffff5581a62 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #43 0x00007ffff5583433 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #44 0x00007ffff558358c in QAction::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #45 0x00007ffff5587e2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #46 0x00007ffff558e4a0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #47 0x00007ffff7412503 in Gui::GUIApplication::notify (this=0x7fffffffd390, receiver=0x1cb5640, event=0x7fffffffc190) at /home/sponssi/devel/freecad/source/src/Gui/Application.cpp:1537 #48 0x00007ffff4e114dd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 ---Type <return> to continue, or q <return> to quit--- #49 0x00007ffff55b92a6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #50 0x00007ffff55b93dc in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #51 0x00007ffff558f773 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #52 0x00007ffff7412503 in Gui::GUIApplication::notify (this=0x7fffffffd390, receiver=0x21a6330, event=0x7fffffffc680) at /home/sponssi/devel/freecad/source/src/Gui/Application.cpp:1537 #53 0x00007ffff4e114dd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #54 0x00007ffff5626ff7 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #55 0x00007ffff5627399 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #56 0x00007ffff56013f7 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #57 0x00007ffff5629b02 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #58 0x00007fffee5b7e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #59 0x00007fffee5b8048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #60 0x00007fffee5b80ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #61 0x00007ffff4e3e7a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #62 0x00007ffff5629bb6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #63 0x00007ffff4e100af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #64 0x00007ffff4e103a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #65 0x00007ffff4e15b79 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #66 0x00007ffff740db31 in Gui::Application::runApplication () at /home/sponssi/devel/freecad/source/src/Gui/Application.cpp:1807 #67 0x0000000000408512 in main (argc=1, argv=0x7fffffffdd28) at /home/sponssi/devel/freecad/source/src/Main/MainGui.cpp:332 |
|
No immediate crash or exception report on win7 after the first redo, must do subsequent redos or fiddle around with the program for a while before it crashes. OS: Windows 7 Word size: 64-bit Version: 0.14.3700 (Git) Branch: releases/FreeCAD-0-14 Hash: 32f5aae0a64333ec8d5d160dbc46e690510c8fe1 Python version: 2.7.6 Qt version: 4.8.5 Coin version: 4.0.0a SoQt version: 1.6.0a OCC version: 6.6.0 Examples of the errors in report view: Init: Processing command line files Active view is Unnamed : 1 Sel : Clear selection Sel : Add Selection "Unnamed.Sketch.Vertex1(0.000000,0.000000,0.000000)" Sel : Add Selection "Unnamed.Sketch.Vertex2(0.000000,0.000000,0.000000)" Sel : Add Selection "Unnamed.Sketch.Edge1(0.000000,0.000000,0.000000)" Unhandled unknown exception caught in GUIApplication::notify. The event type 12 was sent to QComboBox Object tree: QComboBox (comboBoxFilter) is child of QWidget (SketcherGui__TaskSketcherConstrains) is child of iisTaskGroup is child of SketcherGui::TaskSketcherConstrains is child of QWidget is child of QWidget (qt_scrollarea_viewport) is child of Gui::TaskView::TaskView is child of QStackedWidget (qt_tabwidget_stackedwidget) is child of QTabWidget (combiTab) is child of Gui::DockWnd::CombiView (Combo View) is child of QDockWidget (Combo View) is child of Gui::MainWindowUnhandled unknown exception caught in GUIApplication::notify. The event type 12 was sent to QComboBox Object tree: QComboBox (comboBoxFilter) is child of QWidget (SketcherGui__TaskSketcherConstrains) is child of iisTaskGroup is child of SketcherGui::TaskSketcherConstrains is child of QWidget is child of QWidget (qt_scrollarea_viewport) is child of Gui::TaskView::TaskView is child of QStackedWidget (qt_tabwidget_stackedwidget) is child of QTabWidget (combiTab) is child of Gui::DockWnd::CombiView (Combo View) is child of QDockWidget (Combo View) is child of Gui::MainWindowUnhandled unknown exception caught in GUIApplication::notify. The event type 12 was sent to QComboBox Object tree: QComboBox (comboBoxFilter) is child of QWidget (SketcherGui__TaskSketcherConstrains) is child of iisTaskGroup is child of SketcherGui::TaskSketcherConstrains is child of QWidget is child of QWidget (qt_scrollarea_viewport) is child of Gui::TaskView::TaskView is child of QStackedWidget (qt_tabwidget_stackedwidget) is child of QTabWidget (combiTab) is child of Gui::DockWnd::CombiView (Combo View) is child of QDockWidget (Combo View) is child of Gui::MainWindowUnhandled unknown exception caught in GUIApplication::notify. The event type 12 was sent to QComboBox Object tree: QComboBox (comboBoxFilter) is child of QWidget (SketcherGui__TaskSketcherConstrains) is child of iisTaskGroup is child of SketcherGui::TaskSketcherConstrains is child of QWidget is child of QWidget (qt_scrollarea_viewport) is child of Gui::TaskView::TaskView is child of QStackedWidget (qt_tabwidget_stackedwidget) is child of QTabWidget (combiTab) is child of Gui::DockWnd::CombiView (Combo View) is child of QDockWidget (Combo View) is child of Gui::MainWindowUnhandled unknown exception caught in GUIApplication::notify. The event type 12 was sent to QComboBox Object tree: QComboBox (comboBoxFilter) is child of QWidget (SketcherGui__TaskSketcherConstrains) is child of iisTaskGroup is child of SketcherGui::TaskSketcherConstrains is child of QWidget is child of QWidget (qt_scrollarea_viewport) is child of Gui::TaskView::TaskView is child of QStackedWidget (qt_tabwidget_stackedwidget) is child of QTabWidget (combiTab) is child of Gui::DockWnd::CombiView (Combo View) is child of QDockWidget (Combo View) is child of Gui::MainWindowSel : Rmv Selection "Unnamed.Sketch.(null)" Sel : Rmv Selection "Unnamed.Sketch.(null)" Sel : Rmv Selection "Unnamed.Sketch.(null)" Sel : Clear selection Sel : Add Selection "Unnamed.Sketch.(null)(0.000000,0.000000,0.000000)" Gui::Command::activated(0): Unknown C++ exception thrownUnhandled unknown exception caught in GUIApplication::notify. The event type 77 was sent to Gui::MainWindow Object tree: Gui::MainWindow |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-10-20 13:03 | sponssi | New Issue | |
2014-10-20 13:03 | sponssi | File Added: backtrace.txt | |
2014-10-20 13:14 | sponssi | Note Added: 0005243 | |
2014-10-20 13:15 | sponssi | Note Edited: 0005243 | |
2014-12-03 23:38 | wmayer | Status | new => confirmed |
2014-12-13 23:32 | wmayer | Changeset attached | => FreeCAD Master master 78f07f87 |
2014-12-13 23:32 | wmayer | Assigned To | => wmayer |
2014-12-13 23:32 | wmayer | Status | confirmed => closed |
2014-12-13 23:32 | wmayer | Resolution | open => fixed |
2014-12-15 10:06 | shoogen | Tag Attached: undo |