View Issue Details

IDProjectCategoryView StatusLast Update
0004764PartBugpublic2021-12-04 23:32
Reporterjack9603301 Assigned Tochennes  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version0.20 
Fixed in Version0.20 
Summary0004764: Suppressing the B-splines on which the scan operation depends will always cause a crash
DescriptionSuppressing the B-splines on which the scan operation depends will always cause a crash

error outputs:


FreeCAD 0.19, Libs: 0.19R
© Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2021
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.
FreeCAD wouldn't be possible without FreeCAD community.
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##

connect failed: 没有那个文件或目录
Part::Sweep / Sweep001: Links go out of the allowed scope
Part::Sweep / Sweep001: Links go out of the allowed scope
Program received signal SIGSEGV, Segmentation fault.
#0  /lib/x86_64-linux-gnu/libc.so.6(+0x41040) [0x7f0108370040]
#1  0x7f0060c9fe51 in Part::Sweep::execute() from /usr/lib/freecad-python3/lib/Part.so+0xa01
0000002  0x7f010a31997f in App::DocumentObject::recompute() from /usr/lib/freecad-python3/lib/libFreeCADApp.so+0x9f
0000003  0x7f0060c98acd in Part::Feature::recompute() from /usr/lib/freecad-python3/lib/Part.so+0xd
0000004  0x7f010a2e5a75 in App::Document::_recomputeFeature(App::DocumentObject*) from /usr/lib/freecad-python3/lib/libFreeCADApp.so+0x1a5
0000005  0x7f010a2e7fb7 in App::Document::recompute(std::vector<App::DocumentObject*, std::allocator<App::DocumentObject*> > const&, bool, bool*, int) from /usr/lib/freecad-python3/lib/libFreeCADApp.so+0x5b7
0000006  0x7f010a354546 in App::DocumentPy::recompute(_object*) from /usr/lib/freecad-python3/lib/libFreeCADApp.so+0x2c6
0000007  0x7f010a34b7ac in App::DocumentPy::staticCallback_recompute(_object*, _object*) from /usr/lib/freecad-python3/lib/libFreeCADApp.so+0x2c
0000008  /lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x110de8) [0x7f0109b60de8]
0000009  /lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyObject_MakeTpCall+0x94) [0x7f0109b1a004]
0000010  /lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x8811) [0x7f0109acb271]
0000011  /lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1a98dc) [0x7f0109bf98dc]
0000012  /lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalCodeWithName+0x52) [0x7f0109bf9c32]
0000013  /lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyEval_EvalCodeEx+0x42) [0x7f0109bf9c82]
0000014  /lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyEval_EvalCode+0x1f) [0x7f0109bf511f]
0000015  /lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1ee8f5) [0x7f0109c3e8f5]
0000016  /lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyRun_StringFlags+0x97) [0x7f0109c3f1e7]
0000017  0x7f010a0bd94c in Base::InterpreterSingleton::runString[abi:cxx11](char const*) from /usr/lib/freecad-python3/lib/libFreeCADBase.so+0x6c
0000018  0x7f010a98c1a5 in Gui::Command::_runCommand(char const*, int, Gui::Command::DoCmd_Type, char const*) from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x95
0000019  0x7f010a98c337 in Gui::Command::_doCommand(char const*, int, Gui::Command::DoCmd_Type, char const*, ...) from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0xe7
0000020  0x7f010a98da77 in Gui::Command::updateActive() from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x47
0000021  0x7f005f2174ef in SketcherGui::ViewProviderSketch::onDelete(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) from /usr/lib/freecad-python3/lib/SketcherGui.so+0xcdf
0000022  0x7f005f211bf5 in SketcherGui::ViewProviderSketch::deleteSelected() from /usr/lib/freecad-python3/lib/SketcherGui.so+0x185
0000023  0x7f005f1ed786 in SketcherGui::ShortcutListener::eventFilter(QObject*, QEvent*) from /usr/lib/freecad-python3/lib/SketcherGui.so+0x56
0000024  0x7f0108a0752b in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x9b
0000025  0x7f01094f9772 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x72
0000026  0x7f0109501376 in QApplication::notify(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0xa66
0000027  0x7f010a96cd40 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x90
0000028  0x7f0108a077ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x12a
0000029  /lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1cc66f) [0x7f010955966f]
0000030  0x7f01094f9783 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x83
0000031  0x7f010a96cd40 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x90
0000032  0x7f0108a077ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x12a
0000033  0x7f0108deaaea in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) from /lib/x86_64-linux-gnu/libQt5Gui.so.5+0x16a
0000034  0x7f0108dc4315 in bool QWindowSystemInterfacePrivate::handleWindowSystemEvent<QWindowSystemInterface::SynchronousDelivery>(QWindowSystemInterfacePrivate::WindowSystemEvent*) from /lib/x86_64-linux-gnu/libQt5Gui.so.5+0x45
0000035  0x7f0108dc74e5 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) from /lib/x86_64-linux-gnu/libQt5Gui.so.5+0x145
0000036  0x7f0108deaa0f in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) from /lib/x86_64-linux-gnu/libQt5Gui.so.5+0x8f
0000037  0x7f0108dc3e2c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /lib/x86_64-linux-gnu/libQt5Gui.so.5+0xac
0000038  /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5(+0x73a6e) [0x7f0102278a6e]
#39  /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x25b) [0x7f01065858eb]
#40  /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0xa8d28) [0x7f01065d8d28]
0000041  /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f0106583023]
0000042  0x7f0108a61204 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x64
0000043  0x7f0108a0611b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x12b
0000044  0x7f0108a0e604 in QCoreApplication::exec() from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x94
0000045  0x7f010a906375 in Gui::Application::runApplication() from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x1705
0000046  freecad(+0x3ef7) [0x55ee4f5a8ef7]
0000047  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xd5) [0x7f0108357565]
0000048  freecad(+0x4ffe) [0x55ee4f5a9ffe]





Steps To ReproduceA possible reproduction method, at least in my computer, must occur:

  1. 1. Open freecad project
  2. 2. Open a sketch named sketch004
  3. 3. Delete the only B-spline on the graph (it is a guide line for scanning operation)

If a scan operation already exists in the project, the deletion operation may lead to segment errors (even if I just change the guide line)
Additional Information
Possible error functions


This problem also recurred in 0.20 development, so I improved the buggy version to 0.20
TagsNo tags attached.
FreeCAD Information<!--ATTENTION:
COMPLETELY ERASE THIS AFTER PASTING YOUR
Help > About FreeCAD > Copy to clipboard
NOTE: just the snippet alone will do without anything else included.
The ticket will not be submitted without it.
-->

OS: Ubuntu 21.04 (KDE/plasma)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Branch: unknown
Hash: 0d9536ed3e8c7f40197b5606e1b7873625e1d6fe
Python version: 3.9.5
Qt version: 5.15.2
Coin version: 4.0.0
OCC version: 7.5.2
Locale: Chinese/China (zh_CN)

Activities

jack9603301

2021-10-13 11:10

reporter  

test.tar.gz (29,735 bytes)

jack9603301

2021-10-13 16:04

reporter   ~0015978

At first, I thought that this problem may have a reproduction problem, which only occurs under specific circumstances, but now it is related to the Sketcher and can be easily reproduced. You just need to:

1. Use the Sketcher to draw a circle
2. Create a new Sketcher document and draw a spine line with or without constraints
3. Execute sweep on the part workbench to create an entity
4. Open the spine line document and delete the spine line
A crash will occur immediately and can be captured by GDB

jack9603301

2021-10-13 16:05

reporter   ~0015979


QString::arg: Argument missing: 约束不足草图有 <a href="#dofs"><span style=" text-decoration: underline; color:#0000ff; background-color: #F8F8FF;">1 个</span></a> 自由度. 3, 
QString::arg: Argument missing: 约束不足草图有 <a href="#dofs"><span style=" text-decoration: underline; color:#0000ff; background-color: #F8F8FF;">1 个</span></a> 自由度. 3, 

Thread 1 "FreeCAD" received signal SIGSEGV, Segmentation fault.
TopoDS_Shape::ShapeType (this=0x7fffffffae00) at /usr/include/opencascade/TopoDS_Shape.hxx:123
123       TopAbs_ShapeEnum ShapeType() const { return myTShape->ShapeType(); }
(gdb) 
(gdb) r

chennes

2021-10-13 19:37

administrator   ~0015980

Confirmed.

jack9603301

2021-10-13 20:07

reporter   ~0015981

PR: https://github.com/FreeCAD/FreeCAD/pull/5113

chennes

2021-10-13 20:29

administrator   ~0015983

Fixed by @jack9603301 in commit da99ad39e

Issue History

Date Modified Username Field Change
2021-10-13 11:10 jack9603301 New Issue
2021-10-13 11:10 jack9603301 File Added: test.tar.gz
2021-10-13 16:04 jack9603301 Note Added: 0015978
2021-10-13 16:05 jack9603301 Note Added: 0015979
2021-10-13 19:37 chennes Assigned To => chennes
2021-10-13 19:37 chennes Status new => confirmed
2021-10-13 19:37 chennes Note Added: 0015980
2021-10-13 20:07 jack9603301 Note Added: 0015981
2021-10-13 20:29 chennes Status confirmed => resolved
2021-10-13 20:29 chennes Resolution open => fixed
2021-10-13 20:29 chennes Fixed in Version => 0.20
2021-10-13 20:29 chennes Note Added: 0015983
2021-12-04 23:32 wmayer Status resolved => closed