View Issue Details

IDProjectCategoryView StatusLast Update
0001474FreeCADBugpublic2014-05-12 15:15
Reporterspongman Assigned Towmayer  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionopen 
Product Versiontrunk 
Summary0001474: crash selecting constraint
Description
OS: Windows
Platform: 64-bit
Version: 0.14.3310 (Git)
Branch: master
Hash: cd03973a9bd853a8553f1142403bb48259e4dd3e
Python version: 2.7.6
Qt version: 4.8.5
Coin version: 4.0.0a
SoQt version: 1.6.0a
Steps To Reproduce- open 3d.fcstd
- edit sketch
- task tab:
  - filter constraints: all
  - select Constaint1
Additional Information Index Function
--------------------------------------------------------------------------------
*1 msvcr90.dll!__crt_debugger_hook() + 0 bytes
 2 msvcr90.dll!_invoke_watson() + 264 bytes
 3 msvcr90.dll!_invalid_parameter() + 112 bytes
 4 msvcr90.dll!_invalid_parameter_noinfo() + 25 bytes
 5 Sketcher.pyd!Sketcher::Sketch::getPointId() + 169 bytes
 6 SketcherGui.pyd!SketcherGui::ViewProviderSketch::updateColor() + 2925 bytes
 7 SketcherGui.pyd!SketcherGui::ViewProviderSketch::onSelectionChanged() + 1367 bytes
 8 FreeCADGui.dll!Gui::SelectionSingleton::sGetSelectionObject() + 5258 bytes
 9 FreeCADGui.dll!Gui::SelectionSingleton::getSelectionEx() + 4201 bytes
 10 FreeCADGui.dll!Gui::SelectionSingleton::addSelection() + 877 bytes
 11 SketcherGui.pyd!00007ff8b91155e2()
 12 QtCore4.dll!QMetaObject::activate() + 1378 bytes
 13 QtCore4.dll!QMetaObject::activate() + 1378 bytes
 14 QtGui4.dll!00000000605c6df9()
TagsNo tags attached.
FreeCAD Information

Activities

spongman

2014-03-14 17:53

reporter  

3d.FCStd (Attachment missing)

wmayer

2014-03-14 18:53

administrator   ~0004442

An assert is triggered because geoId = -1 in: int Sketch::getPointId(int geoId, PointPos pos)


Stack trace:
     Sketcher_d.pyd!Sketcher::Sketch::getPointId(int geoId=-1, Sketcher::PointPos pos=start) Line 1873 + 0x13 bytes C++
> SketcherGui_d.pyd!SketcherGui::ViewProviderSketch::updateColor() Line 1826 + 0x30 bytes C++
     SketcherGui_d.pyd!SketcherGui::ViewProviderSketch::onSelectionChanged(const Gui::SelectionChanges & msg={...}) Line 1278 + 0x14 bytes C++
     FreeCADGuiD.dll!boost::_mfi::mf1<void,Gui::SelectionObserver,Gui::SelectionChanges const & __ptr64>::operator()(Gui::SelectionObserver * p=0x0000000008f11270, const Gui::SelectionChanges & a1={...}) Line 166 C++
     FreeCADGuiD.dll!boost::_bi::list2<boost::_bi::value<Gui::SelectionObserver * __ptr64>,boost::arg<1> >::operator()<boost::_mfi::mf1<void,Gui::SelectionObserver,Gui::SelectionChanges const & __ptr64>,boost::_bi::list1<Gui::SelectionChanges const & __ptr64> >(boost::_bi::type<void> __formal={...}, boost::_mfi::mf1<void,Gui::SelectionObserver,Gui::SelectionChanges const &> & f={...}, boost::_bi::list1<Gui::SelectionChanges const &> & a={...}, boost::_bi::type<void> __formal={...}) Line 314 C++
     FreeCADGuiD.dll!boost::_bi::bind_t<void,boost::_mfi::mf1<void,Gui::SelectionObserver,Gui::SelectionChanges const & __ptr64>,boost::_bi::list2<boost::_bi::value<Gui::SelectionObserver * __ptr64>,boost::arg<1> > >::operator()<Gui::SelectionChanges>(const Gui::SelectionChanges & a1={...}) Line 48 C++
     FreeCADGuiD.dll!boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Gui::SelectionObserver,Gui::SelectionChanges const & __ptr64>,boost::_bi::list2<boost::_bi::value<Gui::SelectionObserver * __ptr64>,boost::arg<1> > >,void,Gui::SelectionChanges const & __ptr64>::invoke(boost::detail::function::function_buffer & function_obj_ptr={...}, const Gui::SelectionChanges & a0={...}) Line 154 C++
     FreeCADGuiD.dll!boost::function1<void,Gui::SelectionChanges const & __ptr64>::operator()(const Gui::SelectionChanges & a0={...}) Line 768 C++
     FreeCADGuiD.dll!boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const & __ptr64,boost::function<void __cdecl(Gui::SelectionChanges const & __ptr64)> >::operator()<boost::signals::detail::connection_slot_pair>(const boost::signals::detail::connection_slot_pair & slot={...}) Line 120 C++
     FreeCADGuiD.dll!boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const & __ptr64,boost::function<void __cdecl(Gui::SelectionChanges const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator>::dereference() Line 61 + 0x23 bytes C++
     FreeCADGuiD.dll!boost::iterator_core_access::dereference<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const & __ptr64,boost::function<void __cdecl(Gui::SelectionChanges const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator> >(const boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const &,boost::function<void __cdecl(Gui::SelectionChanges const &)> >,boost::signals::detail::named_slot_map_iterator> & f={...}) Line 515 C++
     FreeCADGuiD.dll!boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const & __ptr64,boost::function<void __cdecl(Gui::SelectionChanges const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator>,boost::signals::detail::unusable,boost::single_pass_traversal_tag,boost::signals::detail::unusable const & __ptr64,__int64>::operator*() Line 640 C++
     FreeCADGuiD.dll!boost::detail::postfix_increment_proxy<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const & __ptr64,boost::function<void __cdecl(Gui::SelectionChanges const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator> >::postfix_increment_proxy<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const & __ptr64,boost::function<void __cdecl(Gui::SelectionChanges const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator> >(const boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const &,boost::function<void __cdecl(Gui::SelectionChanges const &)> >,boost::signals::detail::named_slot_map_iterator> & x={...}) Line 146 + 0x32 bytes C++
     FreeCADGuiD.dll!boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const & __ptr64,boost::function<void __cdecl(Gui::SelectionChanges const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator>,boost::signals::detail::unusable,boost::single_pass_traversal_tag,boost::signals::detail::unusable const & __ptr64,__int64>(boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const &,boost::function<void __cdecl(Gui::SelectionChanges const &)> >,boost::signals::detail::named_slot_map_iterator>,boost::signals::detail::unusable,boost::single_pass_traversal_tag,boost::signals::detail::unusable const &,__int64> & i={...}, int __formal=0) Line 730 C++
     FreeCADGuiD.dll!boost::last_value<void>::operator()<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const & __ptr64,boost::function<void __cdecl(Gui::SelectionChanges const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator> >(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const &,boost::function<void __cdecl(Gui::SelectionChanges const &)> >,boost::signals::detail::named_slot_map_iterator> * first=0x0000000000b36720, boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<Gui::SelectionChanges const &,boost::function<void __cdecl(Gui::SelectionChanges const &)> >,boost::signals::detail::named_slot_map_iterator> * last=0x0000000000b36508) Line 49 + 0x12 bytes C++
     FreeCADGuiD.dll!boost::signal1<void,Gui::SelectionChanges const & __ptr64,boost::last_value<void>,int,std::less<int>,boost::function<void __cdecl(Gui::SelectionChanges const & __ptr64)> >::operator()(const Gui::SelectionChanges & a1={...}) Line 354 + 0x232 bytes C++
     FreeCADGuiD.dll!Gui::SelectionSingleton::addSelection(const char * pDocName=0x0000000000b36c48, const char * pObjectName=0x0000000000b36c98, const char * pSubName=0x0000000000b36e48, float x=0.00000000, float y=0.00000000, float z=0.00000000) Line 679 C++
     SketcherGui_d.pyd!SketcherGui::TaskSketcherConstrains::on_listWidgetConstraints_itemSelectionChanged() Line 170 + 0x90 bytes C++
     SketcherGui_d.pyd!SketcherGui::TaskSketcherConstrains::qt_static_metacall(QObject * _o=0x0000000007458b40, QMetaObject::Call _c=InvokeMetaMethod, int _id=1, void * * _a=0x0000000000b36f60) Line 56 + 0xa bytes C++
     QtCored4.dll!QMetaObject::activate(QObject * sender=0x0000000004e1a6f0, const QMetaObject * m=0x000000005f072d98, int local_signal_index=9, void * * argv=0x0000000000000000) Line 3547 + 0x4b bytes C++
     QtGuid4.dll!QListWidget::itemSelectionChanged() Line 267 C++
     QtGuid4.dll!QListWidget::qt_static_metacall(QObject * _o=0x0000000004e1a6f0, QMetaObject::Call _c=InvokeMetaMethod, int _id=9, void * * _a=0x0000000000b372e0) Line 113 + 0xa bytes C++
     QtCored4.dll!QMetaObject::activate(QObject * sender=0x0000000008ed6310, const QMetaObject * m=0x000000005f3f0268, int local_signal_index=0, void * * argv=0x0000000000b372e0) Line 3547 + 0x4b bytes C++
     QtGuid4.dll!QItemSelectionModel::selectionChanged(const QItemSelection & _t1={...}, const QItemSelection & _t2={...}) Line 166 C++
     QtGuid4.dll!QItemSelectionModel::emitSelectionChanged(const QItemSelection & newSelection={...}, const QItemSelection & oldSelection={...}) Line 1545 C++
     QtGuid4.dll!QItemSelectionModel::select(const QItemSelection & selection={...}, QFlags<enum QItemSelectionModel::SelectionFlag> * command=0x0000000000b376d8) Line 1110 + 0x17 bytes C++
     QtGuid4.dll!QListView::setSelection(const QRect & rect={...}, QFlags<enum QItemSelectionModel::SelectionFlag> * command=0x0000000000b378a0) Line 1379 + 0x5c bytes C++
     QtGuid4.dll!QAbstractItemView::mousePressEvent(QMouseEvent * event=0x0000000000b39128) Line 1693 C++
     QtGuid4.dll!QWidget::event(QEvent * event=0x0000000000b39128) Line 8373 C++
     QtGuid4.dll!QFrame::event(QEvent * e=0x0000000000b39128) Line 557 + 0xf bytes C++
     QtGuid4.dll!QAbstractScrollArea::viewportEvent(QEvent * e=0x0000000000b39128) Line 1043 + 0xf bytes C++
     QtGuid4.dll!QAbstractItemView::viewportEvent(QEvent * event=0x0000000000b39128) Line 1645 C++
     QtGuid4.dll!QAbstractScrollAreaPrivate::viewportEvent(QEvent * event=0x0000000000b39128) Line 100 + 0x35 bytes C++
     QtGuid4.dll!QAbstractScrollAreaFilter::eventFilter(QObject * o=0x0000000004e1ae50, QEvent * e=0x0000000000b39128) Line 116 + 0x3d bytes C++
     QtCored4.dll!QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject * receiver=0x0000000004e1ae50, QEvent * event=0x0000000000b39128) Line 1059 + 0x1a bytes C++
     QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0000000004e1ae50, QEvent * e=0x0000000000b39128) Line 4558 + 0x15 bytes C++
     QtGuid4.dll!QApplication::notify(QObject * receiver=0x0000000004e1ae50, QEvent * e=0x0000000000b39128) Line 4105 + 0x51 bytes C++
     FreeCADGuiD.dll!Gui::GUIApplication::notify(QObject * receiver=0x0000000004e1ae50, QEvent * event=0x0000000000b39128) Line 1524 + 0x1e bytes C++
     QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x0000000004e1ae50, QEvent * event=0x0000000000b39128) Line 949 + 0x26 bytes C++
     QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver=0x0000000004e1ae50, QEvent * event=0x0000000000b39128) Line 234 + 0x4c bytes C++
     QtGuid4.dll!QApplicationPrivate::sendMouseEvent(QWidget * receiver=0x0000000004e1ae50, QMouseEvent * event=0x0000000000b39128, QWidget * alienWidget=0x0000000004e1ae50, QWidget * nativeWidget=0x0000000008e8bd40, QWidget * * buttonDown=0x000000005f3ed340, QPointer<QWidget> & lastMouseReceiver={...}, bool spontaneous=true) Line 3171 + 0x16 bytes C++
     QtGuid4.dll!QETWidget::translateMouseEvent(const tagMSG & msg={...}) Line 3382 + 0x3f bytes C++
     QtGuid4.dll!QtWndProc(HWND__ * hwnd=0x00000000000603b6, unsigned int message=513, unsigned __int64 wParam=1, __int64 lParam=27656267) Line 1709 + 0x15 bytes C++
     user32.dll!UserCallWinProcCheckWow() + 0x11d bytes
     user32.dll!DispatchMessageWorker() + 0x12a bytes
     QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x0000000000b3d3f0) Line 814 C++
     QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x0000000000b3d43c) Line 1212 + 0x27 bytes C++
     QtCored4.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x0000000000b3d4b8) Line 150 C++
     QtCored4.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x0000000000b3d540) Line 204 + 0x59 bytes C++
     QtCored4.dll!QCoreApplication::exec() Line 1221 + 0x23 bytes C++
     QtGuid4.dll!QApplication::exec() Line 3824 C++
     FreeCADGuiD.dll!Gui::Application::runApplication() Line 1794 + 0x6 bytes C++
     FreeCADD.exe!main(int argc=1, char * * argv=0x00000000037484f0) Line 310 C++
     FreeCADD.exe!WinMain() + 0xb1 bytes
     FreeCADD.exe!__tmainCRTStartup() Line 574 + 0x42 bytes C
     FreeCADD.exe!WinMainCRTStartup() Line 399 C

wmayer

2014-03-14 18:56

administrator   ~0004443

See also: http://forum.freecadweb.org/viewtopic.php?f=8&t=5621&p=46025

wmayer

2014-03-15 10:33

administrator   ~0004446

git show b7cb49c at least fixes the crash. Not sure if there needs to be done more.

Related Changesets

FreeCAD: master b7cb49c3

2014-03-15 11:32:03

wmayer

Details Diff
+ issue 0001474: crash selecting constraint Affected Issues
0001474
mod - src/Mod/Sketcher/App/Sketch.cpp Diff File

Issue History

Date Modified Username Field Change
2014-03-14 17:53 spongman New Issue
2014-03-14 17:53 spongman File Added: 3d.FCStd
2014-03-14 18:53 wmayer Note Added: 0004442
2014-03-14 18:54 wmayer Status new => confirmed
2014-03-14 18:56 wmayer Note Added: 0004443
2014-03-15 10:33 wmayer Note Added: 0004446
2014-03-15 10:34 wmayer Status confirmed => resolved
2014-03-15 10:34 wmayer Assigned To => wmayer
2014-03-15 10:59 wmayer Changeset attached => FreeCAD Master master b7cb49c3
2014-05-12 15:15 yorik Status resolved => closed