View Issue Details

IDProjectCategoryView StatusLast Update
0004182FreeCADBugpublic2020-01-11 16:39
ReporterARandomEngineer Assigned Towmayer  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformLaptopOSLinuxOS VersionLinux Mint 18.3
Fixed in Version0.18 
Summary0004182: Segfault when clicking constraints from a different viewport
DescriptionWhen double clicking a constraint from the sketch being edited while a spreadsheed is open in the viewport, FreeCAD crashes with a SegFault.

Forum post: https://forum.freecadweb.org/viewtopic.php?f=3&t=40575&p=344767#p344767
Steps To Reproduce
  1. Open the attached file or follow the steps below:
    1. Create a new document
    2. Create a sketch
    3. Draw something in that sketch and add a constraint with a value to it
    4. Close the sketch
    5. Open the spreadsheet workbench and create a new spreadsheet
  2. Open the sketch in the Sketcher
  3. Open the spreadsheet, so that both the drawing and the spreadsheet are open in tabs, and you still see the list of sketch constraints in the sidebar (See attached screenshot)
  4. Select the tab with the spreadsheet
  5. Double click the constraint in the constraint list. You might need to switch back and forth between the drawing and the spreadsheet tab once before clicking if it doesn't crash immediately. However, if you click on the expression icon of the constraint it doesn't crash.
Expected behaviour:
The constraint editor dialog should pop up and the spreadsheet should still be visible.
Additional InformationCrash log from the console:

FreeCAD 0.19, Libs: 0.19R
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2019
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##

connect failed: Datei oder Verzeichnis nicht gefunden
Program received signal SIGSEGV, Segmentation fault.
#0  /lib/x86_64-linux-gnu/libc.so.6(+0x354b0) [0x7f4ae02784b0]
#1  0x7f4ae12b540a in QWidgetPrivate::init(QWidget*, QFlags<Qt::WindowType>) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x8a
0000002  0x7f4ae12b5ae4 in QWidget::QWidget(QWidgetPrivate&, QWidget*, QFlags<Qt::WindowType>) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x64
0000003  0x7f4ae173ebd1 in QDialog::QDialog(QWidget*, QFlags<Qt::WindowType>) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x131
0000004  0x7f4a5b60afcc in SketcherGui::EditDatumDialog::exec(bool) from /usr/lib/freecad-daily-python3/lib/SketcherGui.so+0xac
0000005  0x7f4a5b57a121 in SketcherGui::TaskSketcherConstrains::on_listWidgetConstraints_itemActivated(QListWidgetItem*) from /usr/lib/freecad-daily-python3/lib/SketcherGui.so+0xa1
0000006  0x7f4ae0d44010 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) from /usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x4d0
0000007  0x7f4ae18004c2 in QListWidget::itemActivated(QListWidgetItem*) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x42
0000008  0x7f4ae0d44010 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) from /usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x4d0
0000009  0x7f4ae17992c5 in QAbstractItemView::activated(QModelIndex const&) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x35
0000010  0x7f4ae17a2c18 in QAbstractItemView::mouseDoubleClickEvent(QMouseEvent*) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x1a8
0000011  0x7f4ae12b4450 in QWidget::event(QEvent*) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0xe20
0000012  0x7f4ae167ccee in QFrame::event(QEvent*) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x1e
0000013  0x7f4ae17a2663 in QAbstractItemView::viewportEvent(QEvent*) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x1e3
0000014  0x7f4ae0d2fa76 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x86
0000015  0x7f4ae125cfbc in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x6c
0000016  0x7f4ae12640d6 in QApplication::notify(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x476
0000017  0x7f4ae325d0e4 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0x54
0000018  0x7f4ae0d2f90d in QCoreApplication::notifyInternal(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x8d
0000019  0x7f4ae12636dd in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x14d
0000020  /usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x2493f2) [0x7f4ae12e13f2]
0000021  0x7f4ae12e0c83 in QApplication::x11ProcessEvent(_XEvent*) from /usr/lib/x86_64-linux-gnu/libQtGui.so.4+0x16b3
0000022  /usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x272542) [0x7f4ae130a542]
0000023  /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x2a7) [0x7f4ad9dbb197]
0000024  /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4a3f0) [0x7f4ad9dbb3f0]
0000025  /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7f4ad9dbb49c]
0000026  0x7f4ae0d602ae in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x7e
0000027  /usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x272616) [0x7f4ae130a616]
0000028  0x7f4ae0d2e18f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x3f
0000029  0x7f4ae0d2e4f5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x1b5
0000030  0x7f4ae0d344b9 in QCoreApplication::exec() from /usr/lib/x86_64-linux-gnu/libQtCore.so.4+0x99
0000031  0x7f4ae31e0f42 in Gui::Application::runApplication() from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0x1a12
0000032  freecad-daily(main+0x8f4) [0x5650c3f148b4]
0000033  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f4ae0263830]
0000034  freecad-daily(_start+0x29) [0x5650c3f15a39]
Tags#pending-forum, 0.19, crash, GUI
FreeCAD InformationOS: Linux Mint 18.3 Sylvia (X-Cinnamon/cinnamon)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Python version: 3.5.2
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (de_DE)

Activities

ARandomEngineer

2019-11-02 18:25

reporter  

Before Crash.png (Attachment missing)
Crash.FCStd (Attachment missing)
FreeCAD.log (Attachment missing)

wmayer

2020-01-11 16:33

administrator   ~0014055

Fix committed to master branch.

wmayer

2020-01-11 16:38

administrator   ~0014056

Fix committed to releases/FreeCAD-0-18 branch.

wmayer

2020-01-11 16:39

administrator   ~0014057

Back ported fix to v0.18

Related Changesets

FreeCAD: master f97eb702

2020-01-11 16:32:54

wmayer

Details Diff
fixes 0004182: Segfault when clicking constraints from a different viewport [skip ci] Affected Issues
0004182
mod - src/Mod/Sketcher/Gui/EditDatumDialog.cpp Diff File

FreeCAD: releases/FreeCAD-0-18 9ae12970

2020-01-11 16:36:28

wmayer

Details Diff
fixes 0004182: Segfault when clicking constraints from a different viewport [skip ci] Affected Issues
0004182
mod - src/Mod/Sketcher/Gui/EditDatumDialog.cpp Diff File

Issue History

Date Modified Username Field Change
2019-11-02 18:25 ARandomEngineer New Issue
2019-11-02 18:25 ARandomEngineer Tag Attached: 0.19
2019-11-02 18:25 ARandomEngineer Tag Attached: crash
2019-11-02 18:25 ARandomEngineer Tag Attached: GUI
2019-11-02 18:25 ARandomEngineer File Added: Before Crash.png
2019-11-02 18:25 ARandomEngineer File Added: Crash.FCStd
2019-11-02 18:25 ARandomEngineer File Added: FreeCAD.log
2019-11-02 18:53 Kunda1 Description Updated
2019-11-02 18:54 Kunda1 Description Updated
2019-11-02 18:54 Kunda1 Tag Attached: #pending-forum
2019-11-02 18:55 Kunda1 Additional Information Updated
2020-01-11 12:39 Kunda1 Status new => confirmed
2020-01-11 12:39 Kunda1 Target Version => 0.19
2020-01-11 16:33 wmayer Changeset attached => FreeCAD master f97eb702
2020-01-11 16:33 wmayer Note Added: 0014055
2020-01-11 16:33 wmayer Assigned To => wmayer
2020-01-11 16:33 wmayer Status confirmed => closed
2020-01-11 16:33 wmayer Resolution open => fixed
2020-01-11 16:38 wmayer Changeset attached => FreeCAD releases/FreeCAD-0-18 9ae12970
2020-01-11 16:38 wmayer Note Added: 0014056
2020-01-11 16:39 wmayer Fixed in Version => 0.18
2020-01-11 16:39 wmayer Note Added: 0014057