View Issue Details

IDProjectCategoryView StatusLast Update
0003701PartDesignBugpublic2019-02-20 17:00
Reporterjoepie91 Assigned Toabdullah  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Platformx86_64OSNixOSOS Version18.09
Product Version0.17 
Fixed in Version0.18 
Summary0003701: Segfault when creating horizontal constraint
DescriptionWhen creating a horizontal constraint between an axis and a point in my sketch, FreeCAD reliably segfaults. I don't know how generally this issue occurs, but the case described here is reproducible.

Error message:

Program received signal SIGSEGV, Segmentation fault.
#0 /usr/lib/libc.so.6(+0x34c50) [0x7f86ffb62c50]
#1 0x7f868a16cf31 in Sketcher::Sketch::getBlockedGeometry(std::vector<bool, std::allocator<bool> >&, std::vector<bool, std::allocator<bool> >&, std::vector<Sketcher::Constraint*, std::allocator<Sketcher::Constraint*> > const&) const from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/freecad/lib/Sketcher.so+0x3b1
0000002 0x7f868a1730ee in Sketcher::Sketch::setUpSketch(std::vector<Part::Geometry*, std::allocator<Part::Geometry*> > const&, std::vector<Sketcher::Constraint*, std::allocator<Sketcher::Constraint*> > const&, int) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/freecad/lib/Sketcher.so+0x35e
0000003 0x7f868a0dde7a in Sketcher::SketchObject::solve(bool) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/freecad/lib/Sketcher.so+0x6a
0000004 0x7f868a14f40d in Sketcher::SketchObjectPy::addConstraint(_object*) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/freecad/lib/Sketcher.so+0xbd
0000005 0x7f868a14fb57 in Sketcher::SketchObjectPy::staticCallback_addConstraint(_object*, _object*) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/freecad/lib/Sketcher.so+0x27
0000006 /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4bd4) [0x7f87017770d4]
0000007 /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x80d) [0x7f870177917d]
0000008 /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x32) [0x7f8701779462]
0000009 /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x79) [0x7f87016bdac9]
0000010 0x7f8701c29244 in Base::InterpreterSingleton::runString(char const*) from ././/lib/freecad/lib/libFreeCADBase.so+0x54
0000011 0x7f8702727062 in Gui::Command::doCommand(Gui::Command::DoCmd_Type, char const*, ...) from ././/lib/freecad/lib/libFreeCADGui.so+0x132
0000012 0x7f868922b55e in CmdSketcherConstrainHorizontal::activated(int) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/freecad/lib/SketcherGui.so+0x4ae
0000013 0x7f870272b33c in Gui::Command::invoke(int) from ././/lib/freecad/lib/libFreeCADGui.so+0x4c
0000014 0x7f870061087a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x2da
0000015 0x7f8700b27a62 in QAction::triggered(bool) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x32
0000016 0x7f8700b29433 in QAction::activate(QAction::ActionEvent) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x63
0000017 /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x57cb02) [0x7f8700ee0b02]
0000018 0x7f8700ee0c2c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x6c
0000019 0x7f8700f97a4a in QToolButton::mouseReleaseEvent(QMouseEvent*) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4+0xa
0000020 0x7f8700b7d50a in QWidget::event(QEvent*) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4+0xaca
0000021 0x7f8700b2de2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x8c
0000022 0x7f8700b345dd in QApplication::notify(QObject*, QEvent*) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x3ad
0000023 0x7f87027099f1 in Gui::GUIApplication::notify(QObject*, QEvent*) from ././/lib/freecad/lib/libFreeCADGui.so+0x41
0000024 0x7f87005fc4dd in QCoreApplication::notifyInternal(QObject*, QEvent*) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x6d
0000025 0x7f8700b33d93 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x153
0000026 /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x2449cb) [0x7f8700ba89cb]
0000027 0x7f8700ba8269 in QApplication::x11ProcessEvent(_XEvent*) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x1559
0000028 /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x26bb02) [0x7f8700bcfb02]
0000029 /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x2e7) [0x7f86f9374f47]
0000030 /usr/lib/libglib-2.0.so.0(+0x4f180) [0x7f86f9375180]
0000031 /usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7f86f937520c]
0000032 0x7f87006297a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x71
0000033 /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x26bbb6) [0x7f8700bcfbb6]
0000034 0x7f87005fb0af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x2f
0000035 0x7f87005fb3a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x175
0000036 0x7f8700600b79 in QCoreApplication::exec() from /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x89
0000037 0x7f87026c9de7 in Gui::Application::runApplication() from ././/lib/freecad/lib/libFreeCADGui.so+0x1327
0000038 /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/bin/freecad(main+0x74b) [0x40355b]
#39 /usr/lib/libc.so.6(__libc_start_main+0xee) [0x7f86ffb4fb8e]
#40 /home/sven/.cache/appimage-run/ffbe93609f26ea38bcb019c17baa74264995d8b6b692e81ad07e73c7f763aa17/squashfs-root/usr/bin/freecad() [0x4044c7]
Steps To Reproduce1. Open example file
2. Open the single existing sketch for editing
3. Select point and axis (indicated on attached screenshot with blue arrows)
4. Click 'create a horizontal constraint...'
5. Application segfaults

I was also able to reproduce the issue from scratch by recreating the shape in the example file, or really any shape at all, and creating the constraint between a point and the axis.
Additional InformationOS: Linux
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13541 (Git)
Build type: None
Branch: releases/FreeCAD-0-17
Hash: 9948ee4f1570df9216862a79705afb367b2c6ffb
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
Tagscrash
FreeCAD Information

Activities

joepie91

2018-11-18 11:44

reporter  

foo.fcstd (5,180 bytes)
Selection_010.png (11,675 bytes)   
Selection_010.png (11,675 bytes)   

normandc

2018-11-18 22:13

manager   ~0012211

You ignored the very first point in the guidelines in the top large yellow banner: to post on the forum first to confirm the issue.

Your file is not visible in the 3D view even if toggled visible, which indicates there is an issue.

Your sketch contains a redundant constraint (Constraint7). v0.18 implements better checks on redundant and conflicting constraints.

You are misusing the horizontal constraint. It does not work with a sketch axis and a point, but with a point and a point, or with a line.

This would have been properly discussed on the forum first to really pinpoint the issue.

Please test with the latest 0.18 AppImage https://github.com/FreeCAD/FreeCAD/releases/tag/0.18_pre

normandc

2018-11-18 22:13

manager   ~0012212

I don't get any crash here by the way.

OS: Ubuntu 18.04.1 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15221 (Git) AppImage
Build type: Release
Branch: master
Hash: fc5b6288c6eb4fe89192f63f1fbdf4a43c0fad27
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: French/Canada (fr_CA)

joepie91

2018-11-18 23:13

reporter   ~0012213

A segmentation fault is quite clearly a bug; regardless of how features are used incorrectly or in what context, a segfault is always a bug, even if just an error handling bug. It just flat-out should not ever occur under any circumstances.

It should be quite obvious why nothing is visible in the 3D view, given that I was in the process of creating a sketch from which to produce a shape, which I never actually got around to due to the application crashing in the process. Logically, that means there are no completed shapes in the file.

I'm happy to work with you on determining exactly what is making the segfault occur in my environment but not in yours, but if there's such a fundamental disagreement about what constitutes a 'bug' that a segfault doesn't automatically qualify as one and warrants a - rather unfriendly - admonition that it should have been posted on the forums instead, then perhaps you should just close this issue as clearly no constructive outcome is going to be reached.

I'm really not interested in being treated like this when reporting something that is unambiguously a bug on what is, presumably, a bug tracker.

Kunda1

2018-11-19 09:58

administrator   ~0012217

@joepie91 Thank you and we get a lot of bugtracker bloat because we do things a little different in the FC community. That is why we have that enormously ridiculous announcement banner at the top of every tracker page. We have an annual release cycle so the amount of commits between releases tends to be very high. That is why we encourage reporting first on the forum then the community vets it to see if its tracker-worthy.
Right now we're mostly interested in testing the Python3/Qt5 0.17 build because that is one of the main agendas of the upcoming release (as many bugs have been fixed between py2 to py3 and qt4 to qt5.

wmayer

2019-02-20 17:00

administrator   ~0012707

When using an old version
OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13515 (Git)
Build type: Release
Branch: releases/FreeCAD-0-17
Hash: e17b340949b75a226cc7d89989b0aa238ccfc75f
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: German/Germany (de_DE)

I can confirm some odd behaviour. However, when using v0.18 I no longer can reproduce a crash so it can be considered as fixed.

Issue History

Date Modified Username Field Change
2018-11-18 11:44 joepie91 New Issue
2018-11-18 11:44 joepie91 Tag Attached: crash
2018-11-18 11:44 joepie91 File Added: foo.fcstd
2018-11-18 11:44 joepie91 File Added: Selection_010.png
2018-11-18 22:13 normandc Assigned To => normandc
2018-11-18 22:13 normandc Status new => feedback
2018-11-18 22:13 normandc Note Added: 0012211
2018-11-18 22:13 normandc Note Added: 0012212
2018-11-18 22:20 normandc Assigned To normandc =>
2018-11-18 23:13 joepie91 Note Added: 0012213
2018-11-18 23:13 joepie91 Status feedback => new
2018-11-19 09:58 Kunda1 Note Added: 0012217
2019-02-20 17:00 wmayer Assigned To => abdullah
2019-02-20 17:00 wmayer Status new => closed
2019-02-20 17:00 wmayer Resolution open => fixed
2019-02-20 17:00 wmayer Fixed in Version => 0.18
2019-02-20 17:00 wmayer Note Added: 0012707