View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004514 | Sketcher | Bug | public | 2020-12-17 00:09 | 2020-12-20 18:30 |
Reporter | Vorpal | Assigned To | abdullah | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux | OS | Ubuntu | OS Version | 18.04 |
Summary | 0004514: Sketcher crash upon mirroring box selected bspline | ||||
Description | When box selecting a bspline such that the control points are also selected, then mirroring said selection, FreeCAD segfaults. I would expect the mirroring code to ignore the control points when mirroring instead of failing on them. | ||||
Steps To Reproduce | 1. Open attached FreeCAD document 2. Box select bspline (as in attached image) 3. Select an axis or the origin to mirror about. 4. Press the mirror button in the toolbar. 5. FreeCAD segfaults | ||||
Additional Information | On most crashes I get stacktrace on the terminal, though sometimes it just crashes without a stacktrace:
| ||||
Tags | No tags attached. | ||||
FreeCAD Information | OS: Ubuntu 18.04.5 LTS (X-Cinnamon/cinnamon) Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.19.23323 (Git) AppImage Build type: Release Branch: master Hash: 512d5c6141aec52b6eecc67370336a28fde862a6 Python version: 3.8.6 Qt version: 5.12.5 Coin version: 4.0.0 OCC version: 7.4.0 Locale: English/United Kingdom (en_GB) | ||||
|
|
|
I experimented some more. Interestingly this seems to be unique to bsplines. The centre points of circles and arcs as well as the various control lines of ellipses and hyperbola do not cause crashes:
|
|
I'm getting a slightly different failure: instead of a seg fault immediately, I get an assertion failure on the first mouseMove event in the viewer window. The assertion is:
My version is: OS: Windows 10 Version 2004 Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.19.23448 (Git) Build type: Debug Branch: master Hash: c276139f192a51bd9c57a911e1d70f1398e69d01 Python version: 3.8.6+ Qt version: 5.15.1 Coin version: 4.0.1 OCC version: 7.5.0 Locale: English/United States (en_US) Backtrace: |
|
Fix committed to master branch. |
FreeCAD: master 2ebed71e 2020-12-20 10:42:45 Committer: abdullahtahiriyo Details Diff |
Sketcher: fix crash on mirroring geometry defined by internal alignment geometry ================================================================================ Internal Alignment constraint mirroring was never implemented. With the enhancements brought with implementation of geometry extensions in the sketcher, this lack of implementation became a crash, as geometry was marked as being internal alignment, while no associated internal alignment constraint was created. Restrictions: - Internal alignment geometry is only to be mirrored if the geometry it defines is also being mirrored. Internal alignment geometry is otherwise skipped. This is because it does not make sense to have a pole without a b-spline, or a major axis of a ellipse without an ellipse. fixes 0004514 |
Affected Issues 0004514 |
|
mod - src/Mod/Sketcher/App/SketchObject.cpp | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-12-17 00:09 | Vorpal | New Issue | |
2020-12-17 00:09 | Vorpal | File Added: broken_mirror_2.FCStd | |
2020-12-17 00:09 | Vorpal | File Added: freecad_box_select.png | |
2020-12-17 00:25 | Vorpal | Note Added: 0015154 | |
2020-12-19 19:38 | chennes | Note Added: 0015159 | |
2020-12-20 18:30 | abdullah | Changeset attached | => FreeCAD master 2ebed71e |
2020-12-20 18:30 | abdullah | Note Added: 0015163 | |
2020-12-20 18:30 | abdullah | Assigned To | => abdullah |
2020-12-20 18:30 | abdullah | Status | new => closed |
2020-12-20 18:30 | abdullah | Resolution | open => fixed |