instant crash when trying to chamfer or fillet

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
User avatar
miniellipse
Posts: 67
Joined: Tue Apr 24, 2018 9:09 pm

instant crash when trying to chamfer or fillet

Postby miniellipse » Sun May 19, 2019 7:09 am

I get an instant crash when I try to chamfer or fillet in my part. See highlighted edge for the problem location:
Screen Shot 2019-05-19 at 12.02.59 AM.jpeg
Screen Shot 2019-05-19 at 12.02.59 AM.jpeg (29.24 KiB) Viewed 118 times
I may be asking FCAD to fillet in an area where it cannot, but it should not crash like this.

I'm not really familiar on how to report bugs. This happens on both the 0.18xxx and 0.19xxx versions.
File is attached.

OS: macOS Sierra (10.12)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16110 (Git)
Build type: Release
Branch: (HEAD detached at 0.18.1)
Hash: f7dccfaa909e5b9da26bf50c4a22ccca9bb10c40
Python version: 3.6.7
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
Attachments
sink-stopper-post-3.FCStd
(79.44 KiB) Downloaded 4 times
User avatar
Willem
Posts: 1226
Joined: Fri Aug 12, 2016 3:27 pm
Location: Lisse, The Netherlands

Re: instant crash when trying to chamfer or fillet

Postby Willem » Sun May 19, 2019 7:53 am

The maximum value for a fillet/chamfer is 0.1 mm. I confirm the program crashes with a larger value. This problem is known, there are a lot of threads about that in this forum
Schermafdruk van 2019-05-19 09-46-12.png
Schermafdruk van 2019-05-19 09-46-12.png (196.22 KiB) Viewed 111 times
User avatar
miniellipse
Posts: 67
Joined: Tue Apr 24, 2018 9:09 pm

Re: instant crash when trying to chamfer or fillet

Postby miniellipse » Sun May 19, 2019 8:00 am

Willem wrote:
Sun May 19, 2019 7:53 am
The maximum value for a fillet/chamfer is 0.1 mm. I confirm the program crashes with a larger value. This problem is known, there are a lot of threads about that in this forum
Schermafdruk van 2019-05-19 09-46-12.png
How do you enter a number?
I only know how to activate the chamfer or fillet command by first selecting the edge and then clicking on the fillet toolbutton. When I do this, FCad crashes. I have no chance to enter a radius number.
User avatar
meme2704
Posts: 2926
Joined: Sat Apr 01, 2017 2:47 pm
Location: Vosges

Re: instant crash when trying to chamfer or fillet

Postby meme2704 » Sun May 19, 2019 8:15 am

hi
as Willem says the problem comes from the connection between the cylinder, the cube and the 2 sides (see filet1 PGN)
my trick, recreated a compound object of 1 cylinder (0.1mm high) and a dimension cube from the inside, and make the filet, then add boolean
Attachments
filet.PNG
filet.PNG (15.95 KiB) Viewed 104 times
filet1.PNG
filet1.PNG (6.68 KiB) Viewed 104 times
chrisb
Posts: 15608
Joined: Tue Mar 17, 2015 9:14 am

Re: instant crash when trying to chamfer or fillet

Postby chrisb » Sun May 19, 2019 9:23 am

miniellipse wrote:
Sun May 19, 2019 8:00 am
How do you enter a number?
I only know how to activate the chamfer or fillet command by first selecting the edge and then clicking on the fillet toolbutton. When I do this, FCad crashes. I have no chance to enter a radius number.
You can do this with a trick: Select a no-problem-edge to enter the fillet dialog. Change the radius to 0.1. Remove the edge and add the problem-edge.

Perhaps Willem knows a better way.
openBrain
Posts: 1035
Joined: Fri Nov 09, 2018 5:38 pm

Re: instant crash when trying to chamfer or fillet

Postby openBrain » Sun May 19, 2019 11:54 am

miniellipse wrote:
Sun May 19, 2019 7:09 am
I may be asking FCAD to fillet in an area where it cannot, but it should not crash like this.
I agree that an instant crash is a bug. Confirmed here with same version as OP under Kubuntu 18.04.
Callstack at crash moment if it can help :

Code: Select all

Application: freecad-python2 (freecad-python2), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fb998130780 (LWP 2951))]

Thread 6 (Thread 0x7fb8e0fff700 (LWP 2974)):
#0  0x00007fb994a37839 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fb95b2ae722 in  () at /usr/lib/x86_64-linux-gnu/libtbb.so.2
#2  0x00007fb95b2ae769 in  () at /usr/lib/x86_64-linux-gnu/libtbb.so.2
#3  0x00007fb9937ea6db in start_thread (arg=0x7fb8e0fff700) at pthread_create.c:463
#4  0x00007fb994a3d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fb8eafff700 (LWP 2973)):
#0  0x00007fb995591da0 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007fb98f9e9fe1 in g_main_context_check () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb98f9ea570 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb98f9ea6dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb9955919bb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fb995536a1a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fb99535523a in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fb99535a17d in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fb9937ea6db in start_thread (arg=0x7fb8eafff700) at pthread_create.c:463
#9  0x00007fb994a3d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fb933cec700 (LWP 2972)):
#0  0x00007fb9937f09f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7fb938e95114) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fb9937f09f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x55743b50ae30, cond=0x7fb938e950e8) at pthread_cond_wait.c:502
#2  0x00007fb9937f09f3 in __pthread_cond_wait (cond=0x7fb938e950e8, mutex=0x55743b50ae30) at pthread_cond_wait.c:655
#3  0x00007fb994fdc86c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007fb9381d60a7 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#5  0x00007fb9381d61e9 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#6  0x00007fb994fe266f in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007fb9937ea6db in start_thread (arg=0x7fb933cec700) at pthread_create.c:463
#8  0x00007fb994a3d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fb9677fa700 (LWP 2960)):
#0  0x00007fb9937f09f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55743982dccc) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fb9937f09f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x55743982dc78, cond=0x55743982dca0) at pthread_cond_wait.c:502
#2  0x00007fb9937f09f3 in __pthread_cond_wait (cond=0x55743982dca0, mutex=0x55743982dc78) at pthread_cond_wait.c:655
#3  0x00007fb968498dcb in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fb968498af7 in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fb9937ea6db in start_thread (arg=0x7fb9677fa700) at pthread_create.c:463
#6  0x00007fb994a3d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fb973a6b700 (LWP 2955)):
#0  0x00007fb98f9e9a14 in g_main_context_prepare () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb98f9ea4fb in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb98f9ea6dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb9955919bb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fb995536a1a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fb99535523a in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fb984fbdd45 in  () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007fb99535a17d in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fb9937ea6db in start_thread (arg=0x7fb973a6b700) at pthread_create.c:463
#9  0x00007fb994a3d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fb998130780 (LWP 2951)):
[KCrash Handler]
#6  0x00007fb95da5b0ca in BRep_Tool::Curve(TopoDS_Edge const&, TopLoc_Location&, double&, double&) () at /usr/lib/x86_64-linux-gnu/libTKBRep.so.7
#7  0x00007fb95da5e556 in BRep_Tool::Curve(TopoDS_Edge const&, double&, double&) () at /usr/lib/x86_64-linux-gnu/libTKBRep.so.7
#8  0x00007fb964a11ef5 in ChFi3d_Builder::PerformIntersectionAtEnd(int) () at /usr/lib/x86_64-linux-gnu/libTKFillet.so.7
#9  0x00007fb964a1a307 in ChFi3d_Builder::PerformOneCorner(int, bool) () at /usr/lib/x86_64-linux-gnu/libTKFillet.so.7
#10 0x00007fb9649b8218 in ChFi3d_Builder::PerformFilletOnVertex(int) () at /usr/lib/x86_64-linux-gnu/libTKFillet.so.7
#11 0x00007fb9649b91d1 in ChFi3d_Builder::Compute() () at /usr/lib/x86_64-linux-gnu/libTKFillet.so.7
#12 0x00007fb964b6f7c3 in BRepFilletAPI_MakeChamfer::Build() () at /usr/lib/x86_64-linux-gnu/libTKFillet.so.7
#13 0x00007fb8e9f22026 in PartDesign::Chamfer::execute() () at /usr/lib/freecad-python2/lib/_PartDesign.so
#14 0x00007fb996cb47f9 in App::DocumentObject::recompute() () at /usr/lib/freecad-python2/lib/libFreeCADApp.so
#15 0x00007fb964f6a8fb in Part::Feature::recompute() () at /usr/lib/freecad-python2/lib/Part.so
#16 0x00007fb996c6e5f4 in App::Document::_recomputeFeature(App::DocumentObject*) () at /usr/lib/freecad-python2/lib/libFreeCADApp.so
#17 0x00007fb996c75e4b in App::Document::recompute() () at /usr/lib/freecad-python2/lib/libFreeCADApp.so
#18 0x00007fb996cea522 in App::DocumentPy::recompute(_object*) () at /usr/lib/freecad-python2/lib/libFreeCADApp.so
#19 0x00007fb996cea687 in App::DocumentPy::staticCallback_recompute(_object*, _object*) () at /usr/lib/freecad-python2/lib/libFreeCADApp.so
#20 0x00007fb9962ef1d0 in PyEval_EvalFrameEx () at /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#21 0x00007fb99641f278 in PyEval_EvalCodeEx () at /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#22 0x00007fb9962e7029 in PyEval_EvalCode () at /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#23 0x00007fb99638a546 in PyRun_StringFlags () at /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#24 0x00007fb996868a76 in Base::InterpreterSingleton::runString[abi:cxx11](char const*) () at /usr/lib/freecad-python2/lib/libFreeCADBase.so
#25 0x00007fb997456853 in Gui::Command::doCommand(Gui::Command::DoCmd_Type, char const*, ...) () at /usr/lib/freecad-python2/lib/libFreeCADGui.so
#26 0x00007fb997457396 in Gui::Command::updateActive() () at /usr/lib/freecad-python2/lib/libFreeCADGui.so
#27 0x00007fb8e971d7c4 in finishFeature(Gui::Command const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, App::DocumentObject*, bool, bool) () at /usr/lib/freecad-python2/lib/PartDesignGui.so
#28 0x00007fb8e971e006 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 /usr/lib/freecad-python2/lib/PartDesignGui.so
#29 0x00007fb8e972087a in makeChamferOrFillet(Gui::Command*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () at /usr/lib/freecad-python2/lib/PartDesignGui.so
#30 0x00007fb8e9720a42 in CmdPartDesignChamfer::activated(int) () at /usr/lib/freecad-python2/lib/PartDesignGui.so
#31 0x00007fb99745ad6b in Gui::Command::invoke(int) () at /usr/lib/freecad-python2/lib/libFreeCADGui.so
#32 0x00007fb995567665 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007fb995b47122 in QAction::triggered(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007fb995b4980c in QAction::activate(QAction::ActionEvent) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007fb995c4012b in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#36 0x00007fb995c4038d in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x00007fb995d1f01a in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#38 0x00007fb995b8c048 in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#39 0x00007fb995d1f0b4 in QToolButton::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#40 0x00007fb995b4d83c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#41 0x00007fb995b5565f in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#42 0x00007fb99742a398 in Gui::GUIApplication::notify(QObject*, QEvent*) () at /usr/lib/freecad-python2/lib/libFreeCADGui.so
#43 0x00007fb9955389e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#44 0x00007fb995b54632 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#45 0x00007fb995ba716b in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#46 0x00007fb995ba97da in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#47 0x00007fb995b4d83c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#48 0x00007fb995b55104 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#49 0x00007fb99742a398 in Gui::GUIApplication::notify(QObject*, QEvent*) () at /usr/lib/freecad-python2/lib/libFreeCADGui.so
#50 0x00007fb9955389e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#51 0x00007fb991462583 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#52 0x00007fb991464055 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#53 0x00007fb99143b2eb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#54 0x00007fb9855141c0 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#55 0x00007fb98f9ea417 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#56 0x00007fb98f9ea650 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007fb98f9ea6dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 0x00007fb99559199f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#59 0x00007fb995536a1a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#60 0x00007fb99553fac4 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#61 0x00007fb9973b9f5f in Gui::Application::runApplication() () at /usr/lib/freecad-python2/lib/libFreeCADGui.so
#62 0x0000557437f3c592 in main ()
User avatar
miniellipse
Posts: 67
Joined: Tue Apr 24, 2018 9:09 pm

Re: instant crash when trying to chamfer or fillet

Postby miniellipse » Sun May 19, 2019 5:17 pm

Thank you everyone.