View Issue Details

IDProjectCategoryView StatusLast Update
0002572PartDesignBugpublic2017-10-31 09:01
Reportercluelessjunk Assigned Toickby  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformLinuxOSFedoraOS Version22/23
Product Version0.17 
Target Version0.17Fixed in Version0.17 
Summary0002572: placement of boolean base propagates to secondary body
DescriptionThis is on Part Design next. When I have a boolean operation between two bodies, when you change the placement of the base body, the secondary body placement is changed as well. But when you change the placement of the secondary body, the propagated placement is nullified (IMO correctly).

I also reported this in the forum already:
http://forum.freecadweb.org/viewtopic.php?f=19&t=15975
Steps To Reproduce0) Start Freecad 0.17
1) Open new window, switch to Part Design
2) click "create Part"
3) click "create Body"
4) click create additive Box
5) click "create Body"
6) click create additive Box
7) in Model view tree: click on "Body001" and change Angle to 30°
8) in Model view tree: click on "Body"
9) Click on "boolean operation" and confirm with ok.

Now click on "Body001" and change Angle to 10°. Notice, how the entire fused object changes its rotation by 20°. The Angle between the boxes stays the same.
Then click on "Body" and change its angle to 1° and click somewhere else (to confirm the rotation). Notice how the angle between the two fused objects jumps to 9°
Additional InformationMaybe there is another/better intended way to do what I wanted. I wanted to work in two different rotational angles. Some features of my object are aligned 20° to the rest, so I changed the Angle of one body and wanted to fuse the two. Now I wanted to change the angle to 15°, which resulted in the above mentioned weired behaviour.

OS: "Fedora release 23 (Twenty Three)"
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.7691 (Git)
Build type: Unknown
Branch: master
Hash: 76548e987d434467e77d24015f7846e8c700a952
Python version: 2.7.11
Qt version: 4.8.7
Coin version: 3.1.3
OCC version: 6.8.0.oce-0.17
Tagscrash, Part Design
FreeCAD Information

Activities

cluelessjunk

2016-05-31 21:45

reporter   ~0007136

Bonus Crash: After step 9) click on any (?) still complete face of the fused cubes and click on "make a thick solid" to get an instacrash:
*** Abort *** an exception was raised, but no catch was found.
    ... The exception is:SIGSEGV 'segmentation violation' detected. Address 0

Kunda1

2017-01-17 20:39

administrator   ~0007853

@cluelessjunk can you provide backtrace for the crash

cluelessjunk

2017-01-25 21:49

reporter  

Freecad-Crash.txt (10,949 bytes)   
(gdb) run
Starting program: /home/myUserName/dev/FreeCAD/build/bin/FreeCAD 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
FreeCAD 0.17, Libs: 0.17R9564 (Git)
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2016
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##

[New Thread 0x7fffbf477700 (LWP 14159)]
[New Thread 0x7fffbf076700 (LWP 14160)]
[New Thread 0x7fffbec75700 (LWP 14161)]

Thread 1 "FreeCAD" received signal SIGSEGV, Segmentation fault.
Geom2d_Curve::Value (this=0x0, U=U@entry=5) at /usr/src/debug/oce-OCE-0.17.1/src/Geom2d/Geom2d_Curve.cxx:80
80	  D0(U,P);
Missing separate debuginfos, use: dnf debuginfo-install Coin3-3.1.3-18.fc25.x86_64 OpenEXR-libs-2.2.0-5.fc24.x86_64 adwaita-qt4-0.97-1.fc25.x86_64 atlas-3.10.2-14.fc25.x86_64 boost-atomic-1.60.0-10.fc25.x86_64 boost-chrono-1.60.0-10.fc25.x86_64 boost-date-time-1.60.0-10.fc25.x86_64 boost-filesystem-1.60.0-10.fc25.x86_64 boost-program-options-1.60.0-10.fc25.x86_64 boost-regex-1.60.0-10.fc25.x86_64 boost-signals-1.60.0-10.fc25.x86_64 boost-system-1.60.0-10.fc25.x86_64 boost-thread-1.60.0-10.fc25.x86_64 dbus-libs-1.11.8-1.fc25.x86_64 fontconfig-2.12.1-1.fc25.x86_64 gamin-0.1.10-23.fc25.x86_64 glib2-2.50.2-1.fc25.x86_64 gstreamer1-1.10.2-1.fc25.x86_64 gstreamer1-plugins-base-1.10.2-1.fc25.x86_64 ibus-qt-1.3.3-12.fc25.x86_64 ilmbase-2.2.0-5.fc24.x86_64 jasper-libs-1.900.13-1.fc25.x86_64 jbigkit-libs-2.1-5.fc24.x86_64 kde-runtime-libs-16.08.3-4.fc25.x86_64 kdelibs-4.14.26-2.fc25.x86_64 keyutils-libs-1.5.9-8.fc24.x86_64 krb5-libs-1.14.4-4.fc25.x86_64 lcms2-2.8-2.fc25.x86_64 libICE-1.0.9-5.fc25.x86_64 libSM-1.2.2-4.fc24.x86_64 libXcursor-1.1.14-6.fc24.x86_64 libXi-1.7.8-2.fc25.x86_64 libXinerama-1.1.3-6.fc24.x86_64 libXrandr-1.5.1-1.fc25.x86_64 libXrender-0.9.10-1.fc25.x86_64 libblkid-2.28.2-1.fc25.x86_64 libcap-2.25-2.fc25.x86_64 libcom_err-1.43.3-1.fc25.x86_64 libffi-3.1-9.fc24.x86_64 libgcrypt-1.6.6-1.fc25.x86_64 libgpg-error-1.24-1.fc25.x86_64 libicu-57.1-4.fc25.x86_64 libjpeg-turbo-1.5.1-0.fc25.x86_64 libmng-2.0.3-3.fc24.x86_64 libmount-2.28.2-1.fc25.x86_64 libtiff-4.0.7-1.fc25.x86_64 libtxc_dxtn-1.0.1-1.gitef072983.fc24.x86_64 libuuid-2.28.2-1.fc25.x86_64 libwebp-0.5.2-1.fc25.x86_64 libxml2-2.9.3-4.fc25.x86_64 libxslt-1.1.28-13.fc25.x86_64 lz4-1.7.5-1.fc25.x86_64 nettle-3.3-1.fc25.x86_64 openssl-libs-1.0.2j-3.fc25.x86_64 orc-0.4.26-1.fc25.x86_64 proj-4.9.2-2.fc24.x86_64 python-libs-2.7.13-1.fc25.x86_64 python-pyside-1.2.2-6.fc25.x86_64 python2-numpy-1.11.2-1.fc25.x86_64 qt-4.8.7-18.fc25.x86_64 qt-mobility-location-1.2.2-0.23.20140317git169da60c.fc24.x86_64 qt-mobility-sensors-1.2.2-0.23.20140317git169da60c.fc24.x86_64 qt-x11-4.8.7-18.fc25.x86_64 qtwebkit-2.3.4-11.fc24.x86_64 shiboken-libs-1.2.2-2.fc22.x86_64 sqlite-libs-3.14.2-1.fc25.x86_64 systemd-libs-231-12.fc25.x86_64 xerces-c-3.1.4-1.fc25.x86_64 xz-libs-5.2.2-2.fc24.x86_64
(gdb) bt
#0  0x00007fffc385aca8 in Geom2d_Curve::Value(double) const (this=0x0, U=U@entry=5) at /usr/src/debug/oce-OCE-0.17.1/src/Geom2d/Geom2d_Curve.cxx:80
#1  0x00007fffc9339846 in BRepOffset_Tool::OrientSection(TopoDS_Edge const&, TopoDS_Face const&, TopoDS_Face const&, TopAbs_Orientation&, TopAbs_Orientation&) (E=..., F1=..., F2=..., O1=@0x7fffffffa1d0: TopAbs_FORWARD, O2=@0x7fffffffa1f0: TopAbs_FORWARD) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffset/BRepOffset_Tool.cxx:529
#2  0x00007fffc93097ec in BRepOffset_Inter3d::ContextIntByArc(TopTools_IndexedMapOfShape const&, bool, BRepOffset_Analyse const&, BRepAlgo_Image const&, BRepAlgo_Image&) (this=this@entry=0x7fffffffa520, ContextFaces=..., InSide=false, Analyse=..., InitOffsetFace=..., InitOffsetEdge=...) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffset/BRepOffset_Inter3d.cxx:783
#3  0x00007fffc931370a in BRepOffset_MakeOffset::Intersection3D(BRepOffset_Inter3d&) (this=this@entry=0x7fffffffa898, Inter=...) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffset/BRepOffset_MakeOffset.cxx:2216
#4  0x00007fffc931e6f7 in BRepOffset_MakeOffset::MakeOffsetShape() (this=this@entry=0x7fffffffa898) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffset/BRepOffset_MakeOffset.cxx:709
#5  0x00007fffc931ef21 in BRepOffset_MakeOffset::MakeThickSolid() (this=this@entry=0x7fffffffa898) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffset/BRepOffset_MakeOffset.cxx:772
#6  0x00007fffc92c9e9c in BRepOffsetAPI_MakeThickSolid::Build() (this=this@entry=0x7fffffffa860) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffsetAPI/BRepOffsetAPI_MakeThickSolid.cxx:65
#7  0x00007fffc92ca0d0 in BRepOffsetAPI_MakeThickSolid::BRepOffsetAPI_MakeThickSolid(TopoDS_Shape const&, TopTools_ListOfShape const&, double, double, BRepOffset_Mode, bool, bool, GeomAbs_JoinType) (this=0x7fffffffa860, S=..., ClosingFaces=..., Offset=1, Tol=9.9999999999999995e-08, Mode=BRepOffset_Skin, Intersection=<optimized out>, SelfInter=<optimized out>, Join=GeomAbs_Arc)
    at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffsetAPI/BRepOffsetAPI_MakeThickSolid.cxx:54
#8  0x00007fffca3dea4a in Part::TopoShape::makeThickSolid(TopTools_ListOfShape const&, double, double, bool, bool, short, short) const () at /home/myUserName/dev/FreeCAD/build/Mod/Part/Part.so
#9  0x00007fffc036916a in PartDesign::Thickness::execute() () at /home/myUserName/dev/FreeCAD/build/Mod/PartDesign/_PartDesign.so
#10 0x00007ffff66a5e77 in App::DocumentObject::recompute() () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADApp.so
#11 0x00007fffca1e8c67 in Part::Feature::recompute() () at /home/myUserName/dev/FreeCAD/build/Mod/Part/Part.so
#12 0x00007ffff66444b2 in App::Document::_recomputeFeature(App::DocumentObject*) () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADApp.so
#13 0x00007ffff664411e in App::Document::recompute() () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADApp.so
#14 0x00007ffff66d8232 in App::DocumentPy::recompute(_object*) () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADApp.so
#15 0x00007ffff66d2c60 in App::DocumentPy::staticCallback_recompute(_object*, _object*) () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADApp.so
#16 0x00007ffff5af1147 in PyEval_EvalFrameEx () at /lib64/libpython2.7.so.1.0
#17 0x00007ffff5af4adc in PyEval_EvalCodeEx () at /lib64/libpython2.7.so.1.0
#18 0x00007ffff5af4bc9 in PyEval_EvalCode () at /lib64/libpython2.7.so.1.0
#19 0x00007ffff5b0e05f in run_mod () at /lib64/libpython2.7.so.1.0
#20 0x00007ffff5b0ef14 in PyRun_StringFlags () at /lib64/libpython2.7.so.1.0
#21 0x00007ffff5f36550 in Base::InterpreterSingleton::runString[abi:cxx11](char const*) () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADBase.so
#22 0x00007ffff7279f08 in Gui::Command::doCommand(Gui::Command::DoCmd_Type, char const*, ...) () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADGui.so
#23 0x00007ffff727a6fd in Gui::Command::updateActive() () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADGui.so
#24 0x00007fffc06ec9c6 in finishFeature(Gui::Command const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, App::DocumentObject*, bool) ()
    at /home/myUserName/dev/FreeCAD/build/Mod/PartDesign/PartDesignGui.so
#25 0x00007fffc06f017a in finishDressupFeature(Gui::Command const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Part::Feature*, 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&) ()
    at /home/myUserName/dev/FreeCAD/build/Mod/PartDesign/PartDesignGui.so
#26 0x00007fffc06f0ed2 in CmdPartDesignThickness::activated(int) () at /home/myUserName/dev/FreeCAD/build/Mod/PartDesign/PartDesignGui.so
#27 0x00007ffff727961a in Gui::Command::invoke(int) () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADGui.so
#28 0x00007ffff726e947 in Gui::Action::onActivated() () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADGui.so
#29 0x00007ffff7273b7e in Gui::Action::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADGui.so
#30 0x00007fffedbce090 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#31 0x00007fffee6aa062 in QAction::triggered(bool) () at /lib64/libQtGui.so.4
#32 0x00007fffee6ab3c3 in QAction::activate(QAction::ActionEvent) () at /lib64/libQtGui.so.4
#33 0x00007fffeea854c3 in QAbstractButtonPrivate::click() () at /lib64/libQtGui.so.4
#34 0x00007fffeea85614 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib64/libQtGui.so.4
#35 0x00007fffeeb4ab5a in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /lib64/libQtGui.so.4
#36 0x00007fffee706710 in QWidget::event(QEvent*) () at /lib64/libQtGui.so.4
#37 0x00007fffee6afecc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#38 0x00007fffee6b8547 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#39 0x00007ffff7249e39 in Gui::GUIApplication::notify(QObject*, QEvent*) () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADGui.so
#40 0x00007fffedbb9eed in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib64/libQtCore.so.4
#41 0x00007fffee6b656b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /lib64/libQtGui.so.4
#42 0x00007fffee730fe9 in QETWidget::translateMouseEvent(_XEvent const*) () at /lib64/libQtGui.so.4
#43 0x00007fffee72f99c in QApplication::x11ProcessEvent(_XEvent*) () at /lib64/libQtGui.so.4
#44 0x00007fffee758409 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQtGui.so.4
#45 0x00007fffe5051e42 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#46 0x00007fffe50521c0 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#47 0x00007fffe505226c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#48 0x00007fffedbea45e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#49 0x00007fffee7585a6 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtGui.so.4
#50 0x00007fffedbb87bf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#51 0x00007fffedbb8b25 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#52 0x00007fffedbbe779 in QCoreApplication::exec() () at /lib64/libQtCore.so.4
#53 0x00007ffff71e38fa in Gui::Application::runApplication() () at /home/myUserName/dev/FreeCAD/build/lib/libFreeCADGui.so
#54 0x0000000000407e62 in main ()

Freecad-Crash.txt (10,949 bytes)   

cluelessjunk

2017-01-25 21:53

reporter   ~0007987

@Kunda1, good idea. Also thanks for posting in the thread, I woulld have missed the question otherwise.

I added a GDB backtrace. I installed some OCE debuginfo, ping me if I should install some more or should I recompile Freecad with debug infos?

Kunda1

2017-01-25 22:29

administrator   ~0007991

@CluelessJunk please continue the conversation in the the forum thread: https://forum.freecadweb.org/viewtopic.php?f=19&t=15975

cluelessjunk

2017-01-28 14:50

reporter  

Freecad-Crash-BT-new.txt (8,736 bytes)   
(gdb) bt
#0  0x00007fffc3879ca8 in Geom2d_Curve::Value(double) const (this=0x0, U=U@entry=5) at /usr/src/debug/oce-OCE-0.17.1/src/Geom2d/Geom2d_Curve.cxx:80
#1  0x00007fffc9358846 in BRepOffset_Tool::OrientSection(TopoDS_Edge const&, TopoDS_Face const&, TopoDS_Face const&, TopAbs_Orientation&, TopAbs_Orientation&) (E=..., F1=..., F2=..., O1=@0x7fffffffa1b0: TopAbs_FORWARD, O2=@0x7fffffffa1d0: TopAbs_FORWARD) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffset/BRepOffset_Tool.cxx:529
#2  0x00007fffc93287ec in BRepOffset_Inter3d::ContextIntByArc(TopTools_IndexedMapOfShape const&, bool, BRepOffset_Analyse const&, BRepAlgo_Image const&, BRepAlgo_Image&) (this=this@entry=0x7fffffffa500, ContextFaces=..., InSide=false, Analyse=..., InitOffsetFace=..., InitOffsetEdge=...) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffset/BRepOffset_Inter3d.cxx:783
#3  0x00007fffc933270a in BRepOffset_MakeOffset::Intersection3D(BRepOffset_Inter3d&) (this=this@entry=0x7fffffffa878, Inter=...) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffset/BRepOffset_MakeOffset.cxx:2216
#4  0x00007fffc933d6f7 in BRepOffset_MakeOffset::MakeOffsetShape() (this=this@entry=0x7fffffffa878) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffset/BRepOffset_MakeOffset.cxx:709
#5  0x00007fffc933df21 in BRepOffset_MakeOffset::MakeThickSolid() (this=this@entry=0x7fffffffa878) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffset/BRepOffset_MakeOffset.cxx:772
#6  0x00007fffc92e8e9c in BRepOffsetAPI_MakeThickSolid::Build() (this=this@entry=0x7fffffffa840) at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffsetAPI/BRepOffsetAPI_MakeThickSolid.cxx:65
#7  0x00007fffc92e90d0 in BRepOffsetAPI_MakeThickSolid::BRepOffsetAPI_MakeThickSolid(TopoDS_Shape const&, TopTools_ListOfShape const&, double, double, BRepOffset_Mode, bool, bool, GeomAbs_JoinType) (this=0x7fffffffa840, S=..., ClosingFaces=..., Offset=1, Tol=9.9999999999999995e-08, Mode=BRepOffset_Skin, Intersection=<optimized out>, SelfInter=<optimized out>, Join=GeomAbs_Arc)
    at /usr/src/debug/oce-OCE-0.17.1/src/BRepOffsetAPI/BRepOffsetAPI_MakeThickSolid.cxx:54
#8  0x00007fffca3d5890 in Part::TopoShape::makeThickSolid(TopTools_ListOfShape const&, double, double, bool, bool, short, short) const (
    this=0x7fffffffab20, remFace=..., offset=1, tol=9.9999999999999995e-08, intersection=false, selfInter=false, offsetMode=0, join=0) at /home/myUserName/dev/FreeCAD/src/Mod/Part/App/TopoShape.cpp:2506
#9  0x00007fffc033a1e8 in PartDesign::Thickness::execute() (this=0x46339e0) at /home/myUserName/dev/FreeCAD/src/Mod/PartDesign/App/FeatureThickness.cpp:88
#10 0x00007ffff669a2b7 in App::DocumentObject::recompute() (this=0x46339e0) at /home/myUserName/dev/FreeCAD/src/App/DocumentObject.cpp:78
#11 0x00007fffca207e47 in Part::Feature::recompute() (this=0x46339e0) at /home/myUserName/dev/FreeCAD/src/Mod/Part/App/PartFeature.cpp:83
#12 0x00007ffff663889b in App::Document::_recomputeFeature(App::DocumentObject*) (this=0x2554670, Feat=0x46339e0) at /home/myUserName/dev/FreeCAD/src/App/Document.cpp:1954
#13 0x00007ffff663848d in App::Document::recompute() (this=0x2554670) at /home/myUserName/dev/FreeCAD/src/App/Document.cpp:1908
#14 0x00007ffff66c83de in App::DocumentPy::recompute(_object*) (this=0x217e380, args=0x7ffff7faf050) at /home/myUserName/dev/FreeCAD/src/App/DocumentPyImp.cpp:387
#15 0x00007ffff66c37c8 in App::DocumentPy::staticCallback_recompute(_object*, _object*) (self=0x217e388, args=0x7ffff7faf050) at /home/myUserName/dev/FreeCAD/build-debug/src/App/DocumentPy.cpp:1569
#16 0x00007ffff5aed147 in PyEval_EvalFrameEx () at /lib64/libpython2.7.so.1.0
#17 0x00007ffff5af0adc in PyEval_EvalCodeEx () at /lib64/libpython2.7.so.1.0
#18 0x00007ffff5af0bc9 in PyEval_EvalCode () at /lib64/libpython2.7.so.1.0
#19 0x00007ffff5b0a05f in run_mod () at /lib64/libpython2.7.so.1.0
#20 0x00007ffff5b0af14 in PyRun_StringFlags () at /lib64/libpython2.7.so.1.0
#21 0x00007ffff5f301ea in Base::InterpreterSingleton::runString[abi:cxx11](char const*) (this=0x647a80, sCmd=0x4917c68 "App.ActiveDocument.recompute()") at /home/myUserName/dev/FreeCAD/src/Base/Interpreter.cpp:196
#22 0x00007ffff7266c70 in Gui::Command::doCommand(Gui::Command::DoCmd_Type, char const*, ...) (eType=Gui::Command::App, sCmd=0x7ffff794c5c0 "App.ActiveDocument.recompute()")
    at /home/myUserName/dev/FreeCAD/src/Gui/Command.cpp:475
#23 0x00007ffff7267465 in Gui::Command::updateActive() () at /home/myUserName/dev/FreeCAD/src/Gui/Command.cpp:560
#24 0x00007fffc06bdae6 in finishFeature(Gui::Command const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, App::DocumentObject*, bool) (cmd=0x3ba04b0, FeatName="Thickness", prevSolidFeature=0x4657710, hidePrevSolid=true) at /home/myUserName/dev/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:601
#25 0x00007fffc06c129a in finishDressupFeature(Gui::Command const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Part::Feature*, 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&) (cmd=0x3ba04b0, which="Thickness", base=0x4657710, SubNames=std::vector of length 1, capacity 1 = {...}) at /home/myUserName/dev/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1334
#26 0x00007fffc06c1ff2 in CmdPartDesignThickness::activated(int) (this=0x3ba04b0, iMsg=0) at /home/myUserName/dev/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1504
#27 0x00007ffff72663ca in Gui::Command::invoke(int) (this=0x3ba04b0, i=0) at /home/myUserName/dev/FreeCAD/src/Gui/Command.cpp:300
#28 0x00007ffff725b23d in Gui::Action::onActivated() (this=0x24c62b0) at /home/myUserName/dev/FreeCAD/src/Gui/Action.cpp:94
#29 0x00007ffff726062f in Gui::Action::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x24c62b0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffbaa0)
    at /home/myUserName/dev/FreeCAD/build-debug/src/Gui/moc_Action.cpp:49
#30 0x00007fffedbca090 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#31 0x00007fffee6a6062 in QAction::triggered(bool) () at /lib64/libQtGui.so.4
#32 0x00007fffee6a73c3 in QAction::activate(QAction::ActionEvent) () at /lib64/libQtGui.so.4
#33 0x00007fffeea814c3 in QAbstractButtonPrivate::click() () at /lib64/libQtGui.so.4
#34 0x00007fffeea81614 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib64/libQtGui.so.4
#35 0x00007fffeeb46b5a in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /lib64/libQtGui.so.4
#36 0x00007fffee702710 in QWidget::event(QEvent*) () at /lib64/libQtGui.so.4
#37 0x00007fffee6abecc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#38 0x00007fffee6b4547 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#39 0x00007ffff72363bd in Gui::GUIApplication::notify(QObject*, QEvent*) (this=0x7fffffffd210, receiver=0x425f530, event=0x7fffffffc220) at /home/myUserName/dev/FreeCAD/src/Gui/GuiApplication.cpp:91
#40 0x00007fffedbb5eed in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib64/libQtCore.so.4
#41 0x00007fffee6b256b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /lib64/libQtGui.so.4
#42 0x00007fffee72cfe9 in QETWidget::translateMouseEvent(_XEvent const*) () at /lib64/libQtGui.so.4
---Type <return> to continue, or q <return> to quit---
#43 0x00007fffee72b99c in QApplication::x11ProcessEvent(_XEvent*) () at /lib64/libQtGui.so.4
#44 0x00007fffee754409 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQtGui.so.4
#45 0x00007fffe504de42 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#46 0x00007fffe504e1c0 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#47 0x00007fffe504e26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#48 0x00007fffedbe645e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#49 0x00007fffee7545a6 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtGui.so.4
#50 0x00007fffedbb47bf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#51 0x00007fffedbb4b25 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#52 0x00007fffedbba779 in QCoreApplication::exec() () at /lib64/libQtCore.so.4
#53 0x00007ffff71d1231 in Gui::Application::runApplication() () at /home/myUserName/dev/FreeCAD/src/Gui/Application.cpp:1735
#54 0x0000000000407ec2 in main(int, char**) (argc=1, argv=0x7fffffffe3c8) at /home/myUserName/dev/FreeCAD/src/Main/MainGui.cpp:237

Freecad-Crash-BT-new.txt (8,736 bytes)   

ickby

2017-01-29 15:52

developer   ~0008084

I think the behavior is as expected and works correct the way you described it. In PartDesign you need to think a bit different. The boolean operation is a feature of the body, not a standalone operation/object as in Part. The Body001 is the container for all its features, including the boolean. Changing its placement must not change the shape, only the location of the shape. However changing Body, which is used in the boolean, can change the shape as it is used in a feature of Body001. Everything is ok.

cluelessjunk

2017-01-30 14:23

reporter  

FreeCAD-PDN-boolean-bug.png (103,088 bytes)   
FreeCAD-PDN-boolean-bug.png (103,088 bytes)   

Kunda1

2017-05-11 12:41

administrator   ~0008955

@ickby should I close as 'no change required' ?

cluelessjunk

2017-05-31 11:32

reporter   ~0009217

@Kunda1 No, this is still a bug. ickby acknowledged the bug in the forum.

Ah ok now I can reproduce. I always set the Body001 placement back to default (30° in your example) and than it worked. But if one leaves it at 60° I see the jumps. Yes definitely a bug. Thanks for explaining in detail.

ickby

Kunda1

2017-05-31 11:52

administrator   ~0009218

@cluelessjunk ah ok. Thanks for the heads up. Btw, do the crashes still occur on the most up to date dev revision?

cluelessjunk

2017-06-01 08:02

reporter   ~0009235

@Kunda1 yes, it still crashes.

Kunda1

2017-10-27 23:59

administrator   ~0010364

@cluelessjunk please update ticket if you have any new info. Thanks

cluelessjunk

2017-10-30 11:45

reporter   ~0010366

As far as I can tell, the error is fixed. I guess when I apply the boolean, all values are now recomputed correctly. Also I'm not able to crash FreeCAD anymore.

I think the problem I mentioned in the Forum should get a different ticket. I'll rephrase it here anyways:
Repeat the steps till step 8. Then change the angle of "Body" to 10°, so the cubes have an enclosed angle of 20°. Then apply the boolean. The fused Body now has an enclosed angle of 30° and is rotated by 10°.

Although related imo this ticket can be closed, I'll open a new one for the above problem.

Kunda1

2017-10-31 09:01

administrator   ~0010367

@cluelessjunk thanks for updating. Yes, please open another ticket. I'll close this one in the meantime.

Issue History

Date Modified Username Field Change
2016-05-31 21:19 cluelessjunk New Issue
2016-05-31 21:45 cluelessjunk Note Added: 0007136
2016-06-01 19:43 cluelessjunk Tag Attached: Part Design
2017-01-17 20:39 Kunda1 Note Added: 0007853
2017-01-17 20:39 Kunda1 Status new => feedback
2017-01-25 21:49 cluelessjunk File Added: Freecad-Crash.txt
2017-01-25 21:53 cluelessjunk Note Added: 0007987
2017-01-25 21:53 cluelessjunk Status feedback => new
2017-01-25 22:29 Kunda1 Note Added: 0007991
2017-01-26 11:15 cluelessjunk Tag Attached: crash
2017-01-28 14:50 cluelessjunk File Added: Freecad-Crash-BT-new.txt
2017-01-29 15:45 ickby Assigned To => ickby
2017-01-29 15:45 ickby Status new => assigned
2017-01-29 15:52 ickby Note Added: 0008084
2017-01-30 14:23 cluelessjunk File Added: FreeCAD-PDN-boolean-bug.png
2017-05-11 12:41 Kunda1 Note Added: 0008955
2017-05-31 11:32 cluelessjunk Note Added: 0009217
2017-05-31 11:52 Kunda1 Note Added: 0009218
2017-06-01 08:02 cluelessjunk Note Added: 0009235
2017-06-17 23:26 normandc Product Version => 0.17
2017-06-17 23:26 normandc Target Version => 0.17
2017-10-27 23:59 Kunda1 Note Added: 0010364
2017-10-30 11:45 cluelessjunk Note Added: 0010366
2017-10-31 09:01 Kunda1 Status assigned => closed
2017-10-31 09:01 Kunda1 Resolution open => fixed
2017-10-31 09:01 Kunda1 Fixed in Version => 0.17
2017-10-31 09:01 Kunda1 Note Added: 0010367