View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002842 | Part | Bug | public | 2017-01-12 03:04 | 2021-01-20 17:50 |
Reporter | OutsourcedGuru | Assigned To | peterl94 | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | unable to reproduce | ||
Platform | MacBook Pro | OS | Mac OS X | OS Version | 10.11.6 |
Product Version | 0.17 | ||||
Summary | 0002842: Crash on "Face from Edges" (upstream OCC bug) | ||||
Description | Was working through online tutorial https://www.youtube.com/watch?v=fxKxSOGbDYs "FreeCAD: How to make threads" | ||||
Steps To Reproduce | At the 4:14 offset of the video ( https://youtu.be/fxKxSOGbDYs?t=4m14s ), this is the sequence which consistently crashes the program. * Advanced utility to create shapes * Face from edges * Left-mouse click circle * Click the Create button * Watch program crash and window close immediately | ||||
Additional Information | OS: Mac OS X Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.17.9586 (Git) Build type: Release Branch: (detached from 0e2cf2e) Hash: 0e2cf2ebcaaa50723de608cf030af740cb6ad548 Python version: 2.7.13 Qt version: 4.8.7 Coin version: 3.1.3 OCC version: 7.0.0 | ||||
Tags | #pending, macOS, OCC 7.2, OCC Bug, upstream | ||||
FreeCAD Information | This ticket is being tracked via OCC Bugs in the Bugtracker forum thread | ||||
duplicate of | 0002985 | closed | Part.makeFilledFace is crashing FreeCAD (upstream OCC bug) |
|
@OutsourcedGuru Can you provide a backtrace? http://www.freecadweb.org/wiki/index.php?title=Debugging I think on OSX you can use lldb |
|
@OutsourcedGuru please respond |
|
Posted to forum: https://forum.freecadweb.org/viewtopic.php?f=10&t=20215 |
|
@OutsourcedGuru Please respond to https://forum.freecadweb.org/viewtopic.php?f=10&t=20215&p=155927#p155927 |
|
Sorry for the delay. There's your crash dump, per your instructions. |
|
CrashDump.txt (8,016 bytes)
macbook:/ justincase$ cd /Applications/FreeCAD.app/Contents/bin macbook:bin justincase$ lldb FreeCAD (lldb) target create "FreeCAD" Current executable set to 'FreeCAD' (x86_64). (lldb) run Process 11527 launched: '/Applications/FreeCAD.app/Contents/bin/FreeCAD' (x86_64) FreeCAD 0.17, Libs: 0.17R9835 (Git) © Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2016 ##### #### ### #### # # # # # # # ## #### #### # # # # # #### # # # # # # # ##### # # # # #### #### # # # # # # # # # # # # # # ## ## ## # # #### #### ### # # #### ## ## ## Coin warning in cc_glglue_instance(): Error when setting up the GL context. This can happen if there is no current context, or if the context has been set up incorrectly. Can't find Origin for "Body" Can't find Origin for "Body" Can't find Origin for "Body" Can't find Origin for "Body" Process 11527 stopped * thread #1: tid = 0x4cade6, 0x0000000119ed57f1 libTKGeomBase.7.dylib`AdvApp2Var_ApproxF2var::mma2fnc_(int*, int*, int*, double*, AdvApp2Var_EvaluatorFunc2Var const&, double*, int*, int*, double*, int*, int*, int*, int*, int*, double*, int*, double*, int*, double*, double*, double*, double*, double*, double*, double*, int*) + 6579, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) frame #0: 0x0000000119ed57f1 libTKGeomBase.7.dylib`AdvApp2Var_ApproxF2var::mma2fnc_(int*, int*, int*, double*, AdvApp2Var_EvaluatorFunc2Var const&, double*, int*, int*, double*, int*, int*, int*, int*, int*, double*, int*, double*, int*, double*, double*, double*, double*, double*, double*, double*, int*) + 6579 libTKGeomBase.7.dylib`AdvApp2Var_ApproxF2var::mma2fnc_: -> 0x119ed57f1 <+6579>: ud2 0x119ed57f3 <+6581>: jmp 0x119ed57cd ; <+6543> 0x119ed57f5 <+6583>: jmp 0x119ed57cd ; <+6543> 0x119ed57f7 <+6585>: ud2 (lldb) bt * thread #1: tid = 0x4cade6, 0x0000000119ed57f1 libTKGeomBase.7.dylib`AdvApp2Var_ApproxF2var::mma2fnc_(int*, int*, int*, double*, AdvApp2Var_EvaluatorFunc2Var const&, double*, int*, int*, double*, int*, int*, int*, int*, int*, double*, int*, double*, int*, double*, double*, double*, double*, double*, double*, double*, int*) + 6579, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) * frame #0: 0x0000000119ed57f1 libTKGeomBase.7.dylib`AdvApp2Var_ApproxF2var::mma2fnc_(int*, int*, int*, double*, AdvApp2Var_EvaluatorFunc2Var const&, double*, int*, int*, double*, int*, int*, int*, int*, int*, double*, int*, double*, int*, double*, double*, double*, double*, double*, double*, double*, int*) + 6579 frame #1: 0x0000000119edb538 libTKGeomBase.7.dylib`AdvApp2Var_Iso::MakeApprox(AdvApp2Var_Context const&, double, double, double, double, AdvApp2Var_EvaluatorFunc2Var const&, AdvApp2Var_Node&, AdvApp2Var_Node&) + 2528 frame #2: 0x0000000119eca30f libTKGeomBase.7.dylib`AdvApp2Var_ApproxAFunc2Var::ComputeConstraints(AdvApprox_Cutting const&, AdvApprox_Cutting const&, AdvApp2Var_EvaluatorFunc2Var const&, AdvApp2Var_Criterion const&) + 569 frame #3: 0x0000000119ec955f libTKGeomBase.7.dylib`AdvApp2Var_ApproxAFunc2Var::ComputePatches(AdvApprox_Cutting const&, AdvApprox_Cutting const&, AdvApp2Var_EvaluatorFunc2Var const&, AdvApp2Var_Criterion const&) + 447 frame #4: 0x0000000119ec79ee libTKGeomBase.7.dylib`AdvApp2Var_ApproxAFunc2Var::AdvApp2Var_ApproxAFunc2Var(int, int, int, opencascade::handle<TColStd_HArray1OfReal> const&, opencascade::handle<TColStd_HArray1OfReal> const&, opencascade::handle<TColStd_HArray1OfReal> const&, opencascade::handle<TColStd_HArray2OfReal> const&, opencascade::handle<TColStd_HArray2OfReal> const&, opencascade::handle<TColStd_HArray2OfReal> const&, double, double, double, double, GeomAbs_IsoType, GeomAbs_Shape, GeomAbs_Shape, int, int, int, int, AdvApp2Var_EvaluatorFunc2Var const&, AdvApp2Var_Criterion const&, AdvApprox_Cutting&, AdvApprox_Cutting&) + 652 frame #5: 0x0000000119ba9d59 libTKGeomAlgo.7.dylib`GeomPlate_MakeApprox::GeomPlate_MakeApprox(opencascade::handle<GeomPlate_Surface> const&, AdvApp2Var_Criterion const&, double, int, int, GeomAbs_Shape, double) + 921 frame #6: 0x00000001193a452d libTKBool.7.dylib`BRepFill_Filling::Build() + 3873 frame #7: 0x000000011ad3748d Part.so`Part::Module::makeFilledFace(Py::Tuple const&) + 1037 frame #8: 0x000000011ad44a1a Part.so`Part::Module::invoke_method_varargs(void*, Py::Tuple const&) + 42 frame #9: 0x0000000100d8fbaa libFreeCADBase.dylib`method_varargs_call_handler + 218 frame #10: 0x0000000100f7e907 Python`PyEval_EvalFrameEx + 26252 frame #11: 0x0000000100f78089 Python`PyEval_EvalCodeEx + 1583 frame #12: 0x0000000100f77a54 Python`PyEval_EvalCode + 54 frame #13: 0x0000000100f9b259 Python`run_mod + 53 frame #14: 0x0000000100f9b416 Python`PyRun_StringFlags + 109 frame #15: 0x0000000100db8295 libFreeCADBase.dylib`Base::InterpreterSingleton::runString(char const*) + 85 frame #16: 0x000000010008d217 libFreeCADGui.dylib`Gui::Command::runCommand(Gui::Command::DoCmd_Type, QByteArray const&) + 87 frame #17: 0x000000011b9a825c PartGui.so`PartGui::ShapeBuilderWidget::createFaceFromEdge() + 1148 frame #18: 0x000000011b9a6ce9 PartGui.so`PartGui::ShapeBuilderWidget::on_createButton_clicked() + 105 frame #19: 0x000000011b9a9839 PartGui.so`PartGui::ShapeBuilderWidget::qt_metacall(QMetaObject::Call, int, void**) + 73 frame #20: 0x000000010488425d QtCore`QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2101 frame #21: 0x0000000103ffe8c6 QtGui`QAbstractButton::clicked(bool) + 64 frame #22: 0x0000000103db16f4 QtGui`QAbstractButtonPrivate::emitClicked() + 52 frame #23: 0x0000000103db15f5 QtGui`QAbstractButtonPrivate::click() + 207 frame #24: 0x0000000103db1fa2 QtGui`QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 88 frame #25: 0x0000000103ae33eb QtGui`QWidget::event(QEvent*) + 683 frame #26: 0x0000000103db1eaf QtGui`QAbstractButton::event(QEvent*) + 179 frame #27: 0x0000000103aa0a7e QtGui`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 194 frame #28: 0x0000000103aa2572 QtGui`QApplication::notify(QObject*, QEvent*) + 2460 frame #29: 0x000000010006b07b libFreeCADGui.dylib`Gui::GUIApplication::notify(QObject*, QEvent*) + 75 frame #30: 0x000000010486fa24 QtCore`QCoreApplication::notifyInternal(QObject*, QEvent*) + 118 frame #31: 0x0000000103aa1330 QtGui`QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 448 frame #32: 0x0000000103a58896 QtGui`qt_mac_handleMouseEvent(NSEvent*, QEvent::Type, Qt::MouseButton, QWidget*, bool) + 1227 frame #33: 0x00007fff97ad9713 AppKit`-[NSWindow _handleMouseUpEvent:isDelayedEvent:] + 119 frame #34: 0x00007fff97ada3ad AppKit`-[NSWindow _reallySendEvent:isDelayedEvent:] + 212 frame #35: 0x00007fff97519539 AppKit`-[NSWindow sendEvent:] + 517 frame #36: 0x0000000103a50e76 QtGui`-[QCocoaWindow sendEvent:] + 113 frame #37: 0x00007fff97499a38 AppKit`-[NSApplication sendEvent:] + 2540 frame #38: 0x0000000103a5530a QtGui`-[QNSApplication sendEvent:] + 97 frame #39: 0x00007fff97300df2 AppKit`-[NSApplication run] + 796 frame #40: 0x0000000103a5d5f4 QtGui`QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1494 frame #41: 0x000000010486d0f1 QtCore`QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 77 frame #42: 0x000000010486d26c QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 366 frame #43: 0x000000010486fe69 QtCore`QCoreApplication::exec() + 199 frame #44: 0x00000001000248fb libFreeCADGui.dylib`Gui::Application::runApplication() + 7915 frame #45: 0x0000000100009cc6 FreeCAD`main + 4070 frame #46: 0x00007fff9b88c5ad libdyld.dylib`start + 1 (lldb) |
|
@OutsourcedGuru Thanks. FYI please do not attach .rtf files to tickets. Instead use .txt or .log I've uploaded a log file to replace the .rtf |
|
@OutsourcedGuru Also please respond to https://forum.freecadweb.org/viewtopic.php?f=10&t=20215&p=155927#p155927 |
|
@OutsourcedGuru ping please respond to Edit: Sorry chrisb, i pinged you accidentally :/ |
|
@kunda1 @cox I am able to reproduce this by doing the following. 1. Create new Application/Document 2. Change view to "Part" 3. Create geometric primitive "circle", size is irrelevant. 4. Exit geometric primitive screen. 5. Click "Advanced utility to create shapes" 6. Select "Face from edges", 7. Click the circle edge 8. Click "Create" 9. CRASH.
|
|
To get around this I ticked the "Planar" option, but I have no idea if that is the correct solution! |
|
@ic_ian Thanks! BTW, please remember to post your Help > About FreeCAD > Copy to clipboard |
|
|
|
Also this tutorial: https://www.freecadweb.org/wiki/Thread_for_Screw_Tutorial |
|
@kunda1 I would tend to think that this is a bug for Part, not Part Design. |
|
@peterl94 can you reproduce on macosx? (Stable and dev?) |
|
I can reproduce the crash in both of these versions following the instructions ic_ian provided.
The backtrace is exactly the same as the above CrashDump.txt. Also as ic_ian discovered, it does not crash if the "Planar" option is enabled. What is really strange is that I can't reproduce the crash with my self compiled version.
The only major differences between the travis builds and mine that I know of are the OS and compiler versions.Edit: I'm using Xcode 8.3.3 on macOS 10.12.5 |
|
Just noticed this is the same issue as 0002985, since it crashes in the same occt function. It seems like a compiler issue to me. I'm going to see if travis has a newer macOS image available to test this theory. |
|
@peterl94 any updates? |
|
I have confirmed this is a macOS compiler issue with occt. This issue and 0002985 does not happen with the following build compiled with Xcode 8.3 on macOS 10.12: https://github.com/peterlama/FreeCAD_sf_master/releases/tag/0.17_pre I want to keep using macOS 10.10 for the official builds, so I don't know how this ticket should be handled. Maybe keep it open until we are using occt 7.2 to see if that makes any difference. |
|
Tagging as 'upstream' |
|
Nice job Peter. I don't have time to pursue this myself but We could consider using a later Xcode and setting the deployment target to 10.10. If think the following would work on the Travis Xcode 8.3 image (homebrew deployment target dependency implications aside): set(CMAKE_OSX_SYSROOT macosx10.12) set(CMAKE_OSX_DEPLOYMENT_TARGET "10.10") Of course this means that the unit tests will only be regressed on 10.12 even though the app will be "deployable" on 10.10. We could add another Travis build target that simply builds and regresses the tests on Xcode 6.4/10.10 for full 10.10 coverage but build, package and deploy on Xcode 8.3/10.12. Finally, if we pursue this path, I will need to identify the root cause for the ports-cache errors we when restoring on 10.12. Peter, you have everything setup other than the CMakeLists.txt changes so do you want to test this? I have a 10.10 VM that I can test your build on if that helps. |
|
Just making sure @peterl94 saw 0002842:0009969 |
|
@Kunda1 - Yes, it is on my todo list. |
|
Added to 0.18 Roadmap |
|
@chrisb do you mind testing this on OS X ? |
|
I have been able to follow the whole video through without crashes. OS: macOS 10.15 Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.19.22756 (Git) Build type: Release Branch: master Hash: ce87f586ee36ffe8ebcdcd3947ced4ab389ae795 Python version: 3.8.6 Qt version: 5.12.5 Coin version: 4.0.0 OCC version: 7.4.0 Locale: C/Default (C) |
|
@orionrobots thanks for testing! @vejmarie or @chrisb could you confirm on macOS ? |
|
bump @vejmarie + @chrisb |
|
No longer reproducible with 0.19 OS: macOS 10.15 Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.19.23578 (Git) Build type: Release Branch: master Hash: 50c3cbf00579dc4941ca743c25720d016b0453ce Python version: 3.8.6 Qt version: 5.12.5 Coin version: 4.0.0 OCC version: 7.4.0 Locale: C/Default (C) |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-01-12 03:04 | OutsourcedGuru | New Issue | |
2017-01-12 15:46 | Kunda1 | Note Added: 0007674 | |
2017-01-17 20:25 | Kunda1 | Note Added: 0007851 | |
2017-01-17 20:25 | Kunda1 | Status | new => feedback |
2017-01-17 20:25 | Kunda1 | Priority | urgent => normal |
2017-01-19 13:00 | Kunda1 | Tag Attached: MacOSX | |
2017-01-19 13:01 | Kunda1 | Steps to Reproduce Updated | |
2017-01-25 12:51 | Kunda1 | Note Added: 0007982 | |
2017-01-25 21:15 | Kunda1 | Note Added: 0007986 | |
2017-02-01 03:31 | OutsourcedGuru | File Added: CrashDump.rtf | |
2017-02-01 03:33 | OutsourcedGuru | Note Added: 0008142 | |
2017-02-01 03:33 | OutsourcedGuru | Status | feedback => new |
2017-02-01 23:19 | Kunda1 | File Added: CrashDump.txt | |
2017-02-01 23:19 | Kunda1 | File Deleted: CrashDump.rtf | |
2017-02-01 23:21 | Kunda1 | Note Added: 0008155 | |
2017-02-01 23:22 | Kunda1 | Note Added: 0008156 | |
2017-02-01 23:22 | Kunda1 | Status | new => feedback |
2017-03-02 13:13 | Kunda1 | Note Added: 0008513 | |
2017-03-02 13:14 | Kunda1 | Note Edited: 0008513 | |
2017-03-03 21:23 | ic_ian | Note Added: 0008531 | |
2017-03-03 21:29 | ic_ian | Note Added: 0008532 | |
2017-03-03 22:04 | Kunda1 | Target Version | => 0.17 |
2017-03-03 22:05 | Kunda1 | Note Added: 0008535 | |
2017-03-06 08:46 | ic_ian | Note Added: 0008545 | |
2017-03-06 08:46 | ic_ian | Note Added: 0008546 | |
2017-03-06 08:54 | kkremitzki | Note Edited: 0008545 | |
2017-03-06 08:54 | kkremitzki | Note Edited: 0008546 | |
2017-03-27 17:08 | Kunda1 | Steps to Reproduce Updated | |
2017-03-27 17:09 | Kunda1 | Steps to Reproduce Updated | |
2017-03-27 17:10 | Kunda1 | Note Edited: 0008546 | |
2017-04-28 15:47 | Kunda1 | Status | feedback => confirmed |
2017-05-24 22:00 | abdullah | Note Added: 0009117 | |
2017-05-24 22:03 | Kunda1 | Project | PartDesign => Part |
2017-05-24 22:03 | Kunda1 | Category | Bug => General |
2017-05-24 22:03 | Kunda1 | Category | General => Bug |
2017-06-29 05:41 | Kunda1 | Tag Attached: #pending | |
2017-06-29 05:44 | Kunda1 | Note Added: 0009599 | |
2017-06-30 01:46 | peterl94 | Note Added: 0009620 | |
2017-06-30 01:50 | peterl94 | Note Edited: 0009620 | |
2017-07-01 12:50 | peterl94 | Note Added: 0009637 | |
2017-08-19 12:58 | Kunda1 | Note Added: 0009955 | |
2017-08-20 11:25 | peterl94 | Note Added: 0009967 | |
2017-08-20 13:16 | Kunda1 | Tag Attached: upstream | |
2017-08-20 13:17 | Kunda1 | Note Added: 0009968 | |
2017-08-20 13:17 | Kunda1 | Tag Attached: OCC Bug | |
2017-08-20 13:18 | Kunda1 | Tag Attached: OCC 7.2 | |
2017-08-20 16:32 | blacey | Note Added: 0009969 | |
2017-08-20 16:37 | blacey | Note Edited: 0009969 | |
2017-08-28 11:50 | Kunda1 | Note Added: 0010015 | |
2017-08-28 22:10 | peterl94 | Note Added: 0010037 | |
2017-10-01 21:08 | wmayer | Relationship added | duplicate of 0002985 |
2018-01-30 16:38 | wmayer | Target Version | 0.17 => |
2018-10-12 13:16 | Kunda1 | Target Version | => 0.18 |
2018-10-12 13:16 | Kunda1 | Note Added: 0012010 | |
2018-10-12 13:17 | Kunda1 | Assigned To | => peterl94 |
2018-10-12 13:17 | Kunda1 | Status | confirmed => assigned |
2019-02-23 20:31 | wmayer | Target Version | 0.18 => 0.19 |
2020-05-30 15:25 | Kunda1 | Note Added: 0014447 | |
2020-11-13 14:08 | Kunda1 | Tag Renamed | MacOSX => macOS |
2020-12-13 22:56 | orionrobots | Note Added: 0015139 | |
2020-12-22 12:37 | Kunda1 | Note Added: 0015176 | |
2020-12-22 12:38 | Kunda1 | Summary | Crash on "Face from Edges" => Crash on "Face from Edges" (upstream OCC bug) |
2020-12-22 12:38 | Kunda1 | FreeCAD Information | => This ticket is being tracked via OCC Bugs in the Bugtracker forum thread |
2021-01-14 21:02 | Kunda1 | Note Added: 0015207 | |
2021-01-20 17:50 | chrisb | Status | assigned => closed |
2021-01-20 17:50 | chrisb | Resolution | open => unable to reproduce |
2021-01-20 17:50 | chrisb | Note Added: 0015216 |