View Issue Details

IDProjectCategoryView StatusLast Update
0001328SketcherBugpublic2014-12-21 15:12
Reporterjmankiewicz Assigned Toabdullah  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86_64OSLinuxOS Version3.11.6-4
Product Versiontrunk 
Fixed in Version0.15 
Summary0001328: Ellipses not availible in Sketcher / Crash on adding non-supportet geometry (ellipse) to Sketch
DescriptionCurrently there is no possibility for adding an ellipse to a sketch (I have to design a part with ellipsoid holes). When one tries to add an ellipse by python, FraaCAD will crash to desktop instead of catching and reporting the error to the user.

Todo:

- Gracefully handle the exception caused by adding an ellipse or other not supported geometry to a sketch.
- Consider addding ellipses to the sketcher module to make design of ellipsiod parts possible.
Steps To ReproduceCrash:

When entered: App.ActiveDocument.Sketch.addGeometry(Part.Ellipse(App.Vector(0.000000,0.000000,0),App.Vector(0,0,1),App.Vector(1,0,0)))

FreeCAD: /home/xxx/free-cad-code/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp:2001: void SketcherGui::ViewProviderSketch::draw(bool): Assertion `int(geomlist->size()) == extGeoCount + intGeoCount' failed.

#0 0x00007fffee6c0849 in raise () from /lib64/libc.so.6
#1 0x00007fffee6c1cd8 in abort () from /lib64/libc.so.6
0000002 0x00007fffee6b9616 in __assert_fail_base () from /lib64/libc.so.6
0000003 0x00007fffee6b96c2 in __assert_fail () from /lib64/libc.so.6
0000004 0x00007fff854a7d48 in SketcherGui::ViewProviderSketch::draw(bool) () from /usr/lib/SketcherGui.so
0000005 0x00007fff854b210d in SketcherGui::ViewProviderSketch::updateData(App::Property const*) () from /usr/lib/SketcherGui.so
0000006 0x00007ffff76e2f4c in Gui::ViewProvider::update(App::Property const*) () from /usr//lib/libFreeCADGui.so
0000007 0x00007ffff74884db in Gui::Document::slotChangedObject(App::DocumentObject const&, App::Property const&) () from /usr//lib/libFreeCADGui.so
0000008 0x00007ffff7498938 in boost::_mfi::mf2<void, Gui::Document, App::DocumentObject const&, App::Property const&>::operator()(Gui::Document*, App::DocumentObject const&, App::Property const&) const () from /usr//lib/libFreeCADGui.so
0000009 0x00007ffff7497d58 in void 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&> >(boost::_bi::type<void>, boost::_mfi::mf2<void, Gui::Document, App::DocumentObject const&, App::Property const&>&, boost::_bi::list2<App::DocumentObject const&, App::Property const&>&, int) () from /usr//lib/libFreeCADGui.so
0000010 0x00007ffff749700a in void 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>(App::DocumentObject const&, App::Property const&) ()
   from /usr//lib/libFreeCADGui.so
0000011 0x00007ffff74958d2 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(boost::detail::function::function_buffer&, App::DocumentObject const&, App::Property const&) () from /usr//lib/libFreeCADGui.so
0000012 0x00007ffff6c70a58 in boost::function2<void, App::DocumentObject const&, App::Property const&>::operator()(App::DocumentObject const&, App::Property const&) const ()
from /usr//lib/libFreeCADApp.so
0000013 0x00007ffff6c6d9b9 in boost::signals::detail::unusable 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 ()
   from /usr//lib/libFreeCADApp.so
0000014 0x00007ffff6c6a600 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 () from /usr//lib/libFreeCADApp.so
0000015 0x00007ffff6c67382 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>::reference 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&) ()
   from /usr//lib/libFreeCADApp.so
0000016 0x00007ffff6c62fac 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 () from /usr//lib/libFreeCADApp.so
0000017 0x00007ffff6c5cfe6 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&) () from /usr//lib/libFreeCADApp.so
0000018 0x00007ffff6c58948 in boost::detail::postfix_increment_result<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::signals::detail::unusable const&, boost::single_pass_traversal_tag>::type 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::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>&, int) () from /usr//lib/libFreeCADApp.so
0000019 0x00007ffff6c53941 in void 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 ()
   from /usr//lib/libFreeCADApp.so
0000020 0x00007ffff6c4f54c 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&) () from /usr//lib/libFreeCADApp.so
0000021 0x00007ffff6c4128d in App::Document::onChangedProperty(App::DocumentObject const*, App::Property const*) () from /usr//lib/libFreeCADApp.so
0000022 0x00007ffff6c8c738 in App::DocumentObject::onChanged(App::Property const*) () from /usr//lib/libFreeCADApp.so
0000023 0x00007fff8454cb96 in Part::Feature::onChanged(App::Property const*) () from /usr//lib/Part.so
0000024 0x00007fff850523e7 in Sketcher::SketchObject::onChanged(App::Property const*) () from /usr//lib/Sketcher.so
0000025 0x00007ffff6cc35b7 in App::Property::hasSetValue() () from /usr//lib/libFreeCADApp.so
0000026 0x00007fff8456f27b in Part::PropertyGeometryList::setValues(std::vector<Part::Geometry*, std::allocator<Part::Geometry*> > const&) () from /usr//lib/Part.so
0000027 0x00007fff8504a376 in Sketcher::SketchObject::addGeometry(Part::Geometry const*) () from /usr//lib/Sketcher.so
0000028 0x00007fff850ee5e3 in Sketcher::SketchObjectPy::addGeometry(_object*) () from /usr//lib/Sketcher.so
0000029 0x00007fff850e91c0 in Sketcher::SketchObjectPy::staticCallback_addGeometry(_object*, _object*) () from /usr//lib/Sketcher.so
0000030 0x00007ffff632b453 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
0000031 0x00007ffff6331376 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
0000032 0x00007ffff635e812 in PyEval_EvalCode () from /usr/lib64/libpython2.7.so.1.0
0000033 0x00007ffff75fd414 in Gui::InteractiveInterpreter::runCode(PyCodeObject*) const () from /usr//lib/libFreeCADGui.so
0000034 0x00007ffff75fd2a0 in Gui::InteractiveInterpreter::runSource(char const*) const () from /usr//lib/libFreeCADGui.so
0000035 0x00007ffff75fd62e in Gui::InteractiveInterpreter::push(char const*) () from /usr//lib/libFreeCADGui.so
0000036 0x00007ffff75ff701 in Gui::PythonConsole::runSource(QString const&) () from /usr//lib/libFreeCADGui.so
0000037 0x00007ffff75fecd7 in Gui::PythonConsole::keyPressEvent(QKeyEvent*) () from /usr//lib/libFreeCADGui.so
0000038 0x00007ffff0f15cca in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#39 0x00007ffff12b2b6e in QFrame::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#40 0x00007ffff132f0bb in QAbstractScrollArea::event(QEvent*) () from /usr/lib64/libQtGui.so.4
0000041 0x00007ffff134c6e5 in QPlainTextEdit::event(QEvent*) () from /usr/lib64/libQtGui.so.4
0000042 0x00007ffff0ec68ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
0000043 0x00007ffff0ece0c1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
0000044 0x00007ffff7468df5 in Gui::GUIApplication::notify(QObject*, QEvent*) () from /usr//lib/libFreeCADGui.so
0000045 0x00007ffff03f90ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
0000046 0x00007ffff0f60d79 in ?? () from /usr/lib64/libQtGui.so.4
0000047 0x00007ffff0f61119 in ?? () from /usr/lib64/libQtGui.so.4
0000048 0x00007ffff0f3cd3f in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
0000049 0x00007ffff0f63882 in ?? () from /usr/lib64/libQtGui.so.4
0000050 0x00007fffead472d6 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
0000051 0x00007fffead47628 in ?? () from /usr/lib64/libglib-2.0.so.0
0000052 0x00007fffead476cc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
0000053 0x00007ffff0425d55 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
0000054 0x00007ffff0f63936 in ?? () from /usr/lib64/libQtGui.so.4
0000055 0x00007ffff03f7d0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
0000056 0x00007ffff03f8005 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
0000057 0x00007ffff03fd13b in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
0000058 0x00007ffff74640dd in Gui::Application::runApplication() () from /usr//lib/libFreeCADGui.so
0000059 0x000000000040905e in main ()
TagsNo tags attached.
FreeCAD Information

Relationships

duplicate of 0001297 closedabdullah Add support of ellipses to the sketcher 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2013-12-09 12:42 jmankiewicz New Issue
2013-12-09 13:09 wmayer Relationship added duplicate of 0001297
2014-08-31 05:29 abdullah Assigned To => abdullah
2014-08-31 05:29 abdullah Status new => assigned
2014-12-21 15:12 wmayer Status assigned => closed
2014-12-21 15:12 wmayer Resolution open => fixed
2014-12-21 15:12 wmayer Fixed in Version => 0.15