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 |
FreeCAD