View Issue Details

IDProjectCategoryView StatusLast Update
0002268SketcherBugpublic2015-12-15 13:15
Reporterdrei Assigned Towmayer  
PriorityhighSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Platformlinux kerner 4.1.6OSArch LinuxOS Version64 bit
Fixed in Version0.16 
Summary0002268: Segmentation Fault when using sketcher
DescriptionSegmentation Fault on recently compiled FreeCAD from master.

In the middle of creating a sketch (image attached) FreeCAD crashes while in the sketcher module. Tools used: Tangency, Equal Length, Vertical, and coincident constraints, Vertical and Angular Length constraints.


FreeCAD info:

OS: Linux
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.5557 (Git)
Build type: Debug
Branch: master
Hash: 739e643f2f9ad15e35df3f97bb5acc62d2fd87d3
Python version: 2.7.10
Qt version: 4.8.7
Coin version: 3.1.3
OCC version: 6.8.0.oce-0.17


My system info:

                   -`
                  .o+` isaac@Apollo
                 `ooo/ OS: Arch Linux
                `+oooo: Kernel: x86_64 Linux 4.1.6-1-ARCH
               `+oooooo: Uptime: 5h 13m
               -+oooooo+: Packages: 864
             `/:-:++oooo+: Shell: bash 4.3.42
            `/++++/+++++++: Resolution: 1366x768
           `/++++++++++++++: DE: KDE5
          `/+++ooooooooooooo/` WM: KWin
         ./ooosssso++osssssso+` GTK Theme: Orion [GTK2/3]
        .oossssso-````/ossssss+` Icon Theme: breeze
       -osssssso. :ssssssso. Font: Oxygen-Sans Sans-Book
      :osssssss/ osssso+++. CPU: Intel Core i3 CPU M 370 @ 2.399GHz
     /ossssssss/ +ssssooo/- RAM: 762MiB / 3755MiB
   `/ossssso+/:- -:/+osssso+-
  `+sso+:-` `.-/+oso:
 `++:. `-/+/
 .` `/


Steps To ReproduceI haven't determined the exact moment in which the crash occurs.
Steps to reproduce:
  • Open FreeCAD
  • New Document
  • Switch to Sketcher Wrokbench
  • New Sketch in XY plane
  • Create two arcs (each with its curvature opening in the opposite direction)
  • Create a circle centered in the origin
  • Activate Construction Mode
  • Create 5 lines, one endoint centered at the origin
  • Constrain one line vertically
  • Add Tangency constrain between two endpoints of the arcs
  • Set Coincident constraint bewteen the center of an arc and the vertical line endpoint
  • Select all five lines and constrain them with an Equal Length Constrain (a crash can happen from here or in one of the next steps randomly)
  • Select the vertical line and the line to its right.
  • Add an angular constrain of 72°
  • Select the vertical line and add a vertical length constraint of 70 mm
  • Zoom in / out
  • Additional InformationFull output:
    [isaac@Apollo bin]$ gdb ./FreeCAD
    GNU gdb (GDB) 7.10
    Copyright (C) 2015 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "x86_64-unknown-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from ./FreeCAD...done.
    (gdb) run
    Starting program: /home/isaac/Programs/FreeCAD-build/bin/FreeCAD
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/usr/lib/libthread_db.so.1".
    FreeCAD 0.16, Libs: 0.16R5557 (Git)
    © Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2015
      ##### #### ### ####
      # # # # # #
      # ## #### #### # # # # #
      #### # # # # # # # ##### # #
      # # #### #### # # # # #
      # # # # # # # # # ## ## ##
      # # #### #### ### # # #### ## ## ##

    Attach observer 0x94aeb0
    Attach observer 0x965f60
    Attach observer 0xc9d4b0
    Attach observer 0xd1e738
    Attach observer 0xd29cf8
    Attach observer 0xd29cf8
    Attach observer 0xef6bf0
    [New Thread 0x7fffdac81700 (LWP 8583)]
    [New Thread 0x7fff9a174700 (LWP 8584)]
    [New Thread 0x7fff99236700 (LWP 8585)]
    [New Thread 0x7fff92d2f700 (LWP 8586)]
    [New Thread 0x7fff9252e700 (LWP 8587)]
    [New Thread 0x7fff91d2d700 (LWP 8588)]
    Attach observer 0x16352c8
    Attach observer 0x1995650
    Attach observer 0x38f4410
    Attach observer 0x392ea78
    Attach observer 0x39483e8
    Attach observer 0x39495e8
    Attach observer 0x3949958
    Attach observer 0x394bc68
    Attach observer 0x394cfd8
    Attach observer 0x394e2d8
    Attach observer 0x394f6b8
    Attach observer 0x3950988
    Attach observer 0x3951c38
    Attach observer 0x3952f28
    Attach observer 0x3954128
    Attach observer 0x3955bf8
    Attach observer 0x3956708
    Attach observer 0x3957a08
    Attach observer 0x3958f58
    Attach observer 0x395a208
    Attach observer 0x395b6f8
    [Thread 0x7fff91d2d700 (LWP 8588) exited]
    [Thread 0x7fff9252e700 (LWP 8587) exited]

    Program received signal SIGSEGV, Segmentation fault.
    0x00007fff90f6d9a5 in SketcherGui::SoZoomTranslation::getScaleFactor (
        this=0x3b88370, action=0x7fffffffb150)
        at /home/isaac/Programs/FreeCAD/src/Mod/Sketcher/Gui/SoZoomTranslation.cpp:6
    6
    66 SbViewVolume vv = SoViewVolumeElement::get(action->getState());
    (gdb) bt
    #0 0x00007fff90f6d9a5 in SketcherGui::SoZoomTranslation::getScaleFactor (
        this=0x3b88370, action=0x7fffffffb150)
        at /home/isaac/Programs/FreeCAD/src/Mod/Sketcher/Gui/SoZoomTranslation.cpp:6
    6
    #1 0x00007fff90f6dfbe in SketcherGui::SoZoomTranslation::getMatrix (
        this=0x3b88370, action=0x7fffffffb150)
        at /home/isaac/Programs/FreeCAD/src/Mod/Sketcher/Gui/SoZoomTranslation.cpp:1
    13
    0000002 0x00007ffff4d00ef4 in SoAction::traverse(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000003 0x00007ffff4e1d351 in SoChildList::traverseInPath(SoAction*, int, int const*
    ) () from /usr/lib/libCoin.so.60
    0000004 0x00007ffff4effe65 in SoSeparator::getMatrix(SoGetMatrixAction*) ()
       from /usr/lib/libCoin.so.60
    0000005 0x00007ffff4d00ef4 in SoAction::traverse(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000006 0x00007ffff4e1d39d in SoChildList::traverseInPath(SoAction*, int, int const*
    ) () from /usr/lib/libCoin.so.60
    0000007 0x00007ffff4ee6e6c in SoGroup::doAction(SoAction*) ()
       from /usr/lib/libCoin.so.60
    0000008 0x00007ffff4d00ef4 in SoAction::traverse(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000009 0x00007ffff4e1d39d in SoChildList::traverseInPath(SoAction*, int, int const*
    ---Type <return> to continue, or q <return> to quit---
    ) () from /usr/lib/libCoin.so.60
    0000010 0x00007ffff4effe65 in SoSeparator::getMatrix(SoGetMatrixAction*) ()
       from /usr/lib/libCoin.so.60
    0000011 0x00007ffff4d00ef4 in SoAction::traverse(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000012 0x00007ffff4e1d39d in SoChildList::traverseInPath(SoAction*, int, int const*
    ) () from /usr/lib/libCoin.so.60
    0000013 0x00007ffff4effe65 in SoSeparator::getMatrix(SoGetMatrixAction*) ()
       from /usr/lib/libCoin.so.60
    0000014 0x00007ffff4d00ef4 in SoAction::traverse(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000015 0x00007ffff4e1d39d in SoChildList::traverseInPath(SoAction*, int, int const*
    ) () from /usr/lib/libCoin.so.60
    0000016 0x00007ffff4effe65 in SoSeparator::getMatrix(SoGetMatrixAction*) ()
       from /usr/lib/libCoin.so.60
    0000017 0x00007ffff4d00ef4 in SoAction::traverse(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000018 0x00007ffff4d01258 in SoAction::apply(SoPath*) ()
       from /usr/lib/libCoin.so.60
    0000019 0x00007ffff75d15b5 in Gui::View3DInventorViewer::screenCoordsOfPath (
        this=0x19951c0, path=0x39e5a90)
        at /home/isaac/Programs/FreeCAD/src/Gui/View3DInventorViewer.cpp:1041
    0000020 0x00007fff90fbb265 in SketcherGui::ViewProviderSketch::detectPreselectionCon
    ---Type <return> to continue, or q <return> to quit---
    str (this=0x37c4a10, Point=0x39e5bd0, viewer=0x19951c0, cursorPos=...)
        at /home/isaac/Programs/FreeCAD/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp:
    1590
    0000021 0x00007fff90fbba34 in SketcherGui::ViewProviderSketch::detectPreselection (
        this=0x37c4a10, Point=0x39e5bd0, viewer=0x19951c0, cursorPos=...)
        at /home/isaac/Programs/FreeCAD/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp:
    1668
    0000022 0x00007fff90fb6ab4 in SketcherGui::ViewProviderSketch::mouseMove (
        this=0x37c4a10, cursorPos=..., viewer=0x19951c0)
        at /home/isaac/Programs/FreeCAD/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp:
    1015
    0000023 0x00007ffff75f7199 in Gui::ViewProvider::eventCallback (ud=0x37c4a10,
        node=0x2a1f6b0)
        at /home/isaac/Programs/FreeCAD/src/Gui/ViewProvider.cpp:186
    0000024 0x00007ffff4ede58b in SoEventCallback::handleEvent(SoHandleEventAction*) ()
       from /usr/lib/libCoin.so.60
    0000025 0x00007ffff4d00ef4 in SoAction::traverse(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000026 0x00007ffff4e1d4ec in SoChildList::traverse(SoAction*, int, int) ()
       from /usr/lib/libCoin.so.60
    0000027 0x00007ffff4ee6e26 in SoGroup::doAction(SoAction*) ()
       from /usr/lib/libCoin.so.60
    0000028 0x00007ffff4f013f7 in SoSeparator::doAction(SoAction*) ()
    ---Type <return> to continue, or q <return> to quit---
       from /usr/lib/libCoin.so.60
    0000029 0x00007ffff7530b5b in Gui::SoFCUnifiedSelection::handleEvent (
        this=0x2a1ab20, action=0x2a17070)
        at /home/isaac/Programs/FreeCAD/src/Gui/SoFCUnifiedSelection.cpp:323
    0000030 0x00007ffff4d00ef4 in SoAction::traverse(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000031 0x00007ffff4e1d4ec in SoChildList::traverse(SoAction*, int, int) ()
       from /usr/lib/libCoin.so.60
    0000032 0x00007ffff4ee6e26 in SoGroup::doAction(SoAction*) ()
       from /usr/lib/libCoin.so.60
    0000033 0x00007ffff4f013f7 in SoSeparator::doAction(SoAction*) ()
       from /usr/lib/libCoin.so.60
    0000034 0x00007ffff4d00ef4 in SoAction::traverse(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000035 0x00007ffff4d0a6e8 in SoHandleEventAction::beginTraversal(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000036 0x00007ffff4d02472 in SoAction::apply(SoNode*) ()
       from /usr/lib/libCoin.so.60
    0000037 0x00007ffff4eadca0 in SoEventManager::actuallyProcessEvent(SoEvent const*)
        () from /usr/lib/libCoin.so.60
    0000038 0x00007ffff75a743e in SIM::Coin3D::Quarter::QuarterWidget::processSoEvent (
        this=0x19951c0, event=0x162cbd0)
        at /home/isaac/Programs/FreeCAD/src/Gui/Quarter/QuarterWidget.cpp:813
    ---Type <return> to continue, or q <return> to quit---
    #39 0x00007ffff75a56ac in SIM::Coin3D::Quarter::SoQTQuarterAdaptor::processSoEve
    nt (this=0x19951c0, event=0x162cbd0)
        at /home/isaac/Programs/FreeCAD/src/Gui/Quarter/SoQTQuarterAdaptor.cpp:666
    #40 0x00007ffff75d3ec7 in Gui::View3DInventorViewer::processSoEventBase (
        this=0x19951c0, ev=0x162cbd0)
        at /home/isaac/Programs/FreeCAD/src/Gui/View3DInventorViewer.cpp:1602
    0000041 0x00007ffff75b8dbb in Gui::NavigationStyle::processSoEvent (this=0x9b3200,
        ev=0x162cbd0)
        at /home/isaac/Programs/FreeCAD/src/Gui/NavigationStyle.cpp:1375
    0000042 0x00007ffff75c2023 in Gui::GestureNavigationStyle::processSoEvent (
        this=0x9b3200, ev=0x162cbd0)
        at /home/isaac/Programs/FreeCAD/src/Gui/GestureNavigationStyle.cpp:590
    0000043 0x00007ffff75b8d08 in Gui::NavigationStyle::processEvent (this=0x9b3200,
        ev=0x162cbd0)
        at /home/isaac/Programs/FreeCAD/src/Gui/NavigationStyle.cpp:1357
    0000044 0x00007ffff75d3e98 in Gui::View3DInventorViewer::processSoEvent (
        this=0x19951c0, ev=0x162cbd0)
        at /home/isaac/Programs/FreeCAD/src/Gui/View3DInventorViewer.cpp:1597
    0000045 0x00007ffff7599e2c in SIM::Coin3D::Quarter::EventFilter::eventFilter (
        this=0x1a89970, obj=0x19951c0, qevent=0x7fffffffc710)
        at /home/isaac/Programs/FreeCAD/src/Gui/Quarter/EventFilter.cpp:164
    0000046 0x00007ffff09d76c6 in QCoreApplicationPrivate::sendThroughObjectEventFilters
    (QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
    ---Type <return> to continue, or q <return> to quit---
    0000047 0x00007ffff14e037c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
        () from /usr/lib/libQtGui.so.4
    0000048 0x00007ffff14e73b6 in QApplication::notify(QObject*, QEvent*) ()
       from /usr/lib/libQtGui.so.4
    0000049 0x00007ffff732739d in Gui::GUIApplication::notify (this=0x7fffffffdac0,
        receiver=0x19992d0, event=0x7fffffffcc00)
        at /home/isaac/Programs/FreeCAD/src/Gui/Application.cpp:1552
    0000050 0x00007ffff09d755d in QCoreApplication::notifyInternal(QObject*, QEvent*)
        () from /usr/lib/libQtCore.so.4
    0000051 0x00007ffff14e69bd in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEv
    ent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
       from /usr/lib/libQtGui.so.4
    0000052 0x00007ffff15619a2 in ?? () from /usr/lib/libQtGui.so.4
    0000053 0x00007ffff156036d in QApplication::x11ProcessEvent(_XEvent*) ()
       from /usr/lib/libQtGui.so.4
    0000054 0x00007ffff15892e2 in ?? () from /usr/lib/libQtGui.so.4
    0000055 0x00007fffebc7b9fd in g_main_context_dispatch ()
       from /usr/lib/libglib-2.0.so.0
    0000056 0x00007fffebc7bce0 in ?? () from /usr/lib/libglib-2.0.so.0
    0000057 0x00007fffebc7bd8c in g_main_context_iteration ()
       from /usr/lib/libglib-2.0.so.0
    0000058 0x00007ffff0a07854 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    ---Type <return> to continue, or q <return> to quit---
    0000059 0x00007ffff15893b6 in ?? () from /usr/lib/libQtGui.so.4
    0000060 0x00007ffff09d5dd1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    0000061 0x00007ffff09d6145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    0000062 0x00007ffff09dbaf9 in QCoreApplication::exec() ()
       from /usr/lib/libQtCore.so.4
    0000063 0x00007ffff73226ca in Gui::Application::runApplication ()
        at /home/isaac/Programs/FreeCAD/src/Gui/Application.cpp:1851
    0000064 0x0000000000405d62 in main (argc=1, argv=0x7fffffffe768)
        at /home/isaac/Programs/FreeCAD/src/Main/MainGui.cpp:235
    TagsNo tags attached.
    FreeCAD Information

    Activities

    drei

    2015-09-16 19:17

    reporter  

    FreeCAD_Sketcher_error.png (15,081 bytes)   
    FreeCAD_Sketcher_error.png (15,081 bytes)   

    drei

    2015-09-16 23:15

    reporter  

    sketcher_bug.fcstd (2,402 bytes)

    wmayer

    2015-09-17 08:36

    administrator   ~0006427

    Related forum thread: http://forum.freecadweb.org/viewtopic.php?f=10&t=12501&sid=8957fa4c12d16faf2f0df27178a6eaea

    Related Changesets

    FreeCAD: master 300e176e

    2015-09-17 13:31:10

    wmayer

    Details Diff
    + fixes 0002268: Segmentation Fault when using sketcher Affected Issues
    0002268
    mod - src/Gui/Inventor/SoAutoZoomTranslation.cpp Diff File
    mod - src/Mod/Sketcher/Gui/SoZoomTranslation.cpp Diff File

    Issue History

    Date Modified Username Field Change
    2015-09-16 19:17 drei New Issue
    2015-09-16 19:17 drei File Added: FreeCAD_Sketcher_error.png
    2015-09-16 23:15 drei File Added: sketcher_bug.fcstd
    2015-09-17 08:36 wmayer Note Added: 0006427
    2015-09-17 09:01 wmayer Assigned To => wmayer
    2015-09-17 09:01 wmayer Status new => confirmed
    2015-09-17 11:31 wmayer Changeset attached => FreeCAD Master master 300e176e
    2015-09-17 11:31 wmayer Status confirmed => closed
    2015-09-17 11:31 wmayer Resolution open => fixed
    2015-12-15 13:15 yorik Fixed in Version => 0.16