View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001956 | FreeCAD | Bug | public | 2015-02-08 22:47 | 2015-12-27 10:45 |
Reporter | normandc | Assigned To | wmayer | ||
Priority | normal | Severity | block | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Fixed in Version | 0.16 | ||||
Summary | 0001956: FreeCAD 0.14.370x hangs when attempting to edit sketch containing ellipse | ||||
Description | The Sketcher Ellipse was added to FreeCAD after release of 0.14.370x. Hence it is not supported in the 0.14 branch. But currently, if a user attempts to open in FreeCAD 0.14 a file created in 0.15.4xxx and containing an ellipse in a sketch, either of two things happens: - FreeCAD hangs if the user attempts to edit the sketch - In some cases, FreeCAD crashes upon opening the file. Both cases are IMHO undesirable. It is quite possible that some users will not update FreeCAD for some time after the 0.15 release. | ||||
Steps To Reproduce | 1. Open FreeCAD 0.14.370x 2. Open attached file (sketcher-ellipse.fcstd) 3. Edit the sketch 4. FreeCAD hangs after a few seconds. I was not able to get a backtrace. The terminal in gdb mode is unresponsive until the FreeCAD process is terminated. | ||||
Additional Information | The FreeCAD file provided in this forum topic crashes FreeCAD 0.14.3705 upon opening it: http://forum.freecadweb.org/viewtopic.php?f=3&t=9657#p78322 OS: Ubuntu 14.04.1 LTS Word size: 64-bit Version: 0.14.3705 (Git) Branch: FreeCAD-0-14 Hash: f25e6e4716fb63ef3ac618ce9e552761bbc1b4b1 Python version: 2.7.6 Qt version: 4.8.6 Coin version: 4.0.0a SoQt version: 1.6.0a OCC version: 6.7.1 | ||||
Tags | FCStd forward compatibility | ||||
FreeCAD Information | |||||
|
|
|
|
|
backtrace for dab_spire.fcstd: #0 0x0000000000000000 in ?? () #1 0x00007fff65f74403 in Part::PropertyGeometryList::Restore(Base::XMLReader&) () from /home/user/freecad-releases-0-14-build/Mod/Part/Part.so 0000002 0x00007ffff7077214 in App::PropertyContainer::Restore(Base::XMLReader&) () from /home/user/freecad-releases-0-14-build/lib/libFreeCADApp.so 0000003 0x00007ffff702c0ee in App::Document::readObjects(Base::XMLReader&) () from /home/user/freecad-releases-0-14-build/lib/libFreeCADApp.so 0000004 0x00007ffff7031573 in App::Document::Restore(Base::XMLReader&) () from /home/user/freecad-releases-0-14-build/lib/libFreeCADApp.so 0000005 0x00007ffff7032902 in App::Document::restore() () from /home/user/freecad-releases-0-14-build/lib/libFreeCADApp.so 0000006 0x00007ffff70ac88b in App::Application::openDocument(char const*) () from /home/user/freecad-releases-0-14-build/lib/libFreeCADApp.so 0000007 0x00007ffff70bcfa0 in App::Application::sOpenDocument(_object*, _object*, _object*) () from /home/user/freecad-releases-0-14-build/lib/libFreeCADApp.so |
|
The problem is that FreeCAD doesn't check if the read-in constraint and/or geometry type are supported by this version. This leads to an endless loop as soon as the user tries to edit the sketch. There the problematic part is ViewProviderSketch::draw() and its continuous call of "goto Restart". To make FreeCAD upward compatible the solution is to check constraint and geometry types when reading in a project file whether it's supported by the sketcher. If not, it must be filtered out. Now, it doesn't make sense to fix version 0.14 as 0.15 is out for a long time. However, the problem basically still exists in current developer version. So, it makes most sense to fix it in the master branch. |
FreeCAD: master 462ec492 2015-12-27 11:44:47 Details Diff |
+ fixes 0001956: FreeCAD 0.14.370x hangs when attempting to edit sketch containing ellipse |
Affected Issues 0001956 |
|
mod - src/Mod/Sketcher/App/Constraint.h | Diff File | ||
mod - src/Mod/Sketcher/App/PropertyConstraintList.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.h | Diff File | ||
mod - src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-02-08 22:47 | normandc | New Issue | |
2015-02-08 22:47 | normandc | File Added: sketcher-ellipse.fcstd | |
2015-02-08 22:48 | normandc | File Added: dab_spire.fcstd | |
2015-02-08 22:50 | normandc | Note Added: 0005770 | |
2015-02-09 12:56 | shoogen | Tag Attached: FCStd forward compatibility | |
2015-12-27 10:42 | wmayer | Note Added: 0006640 | |
2015-12-27 10:45 | wmayer | Changeset attached | => FreeCAD Master master 462ec492 |
2015-12-27 10:45 | wmayer | Assigned To | => wmayer |
2015-12-27 10:45 | wmayer | Status | new => closed |
2015-12-27 10:45 | wmayer | Resolution | open => fixed |
2015-12-27 10:45 | wmayer | Fixed in Version | => 0.16 |