View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0025563 | Community | OCCT:Modeling Algorithms | public | 2014-12-08 13:38 | 2015-01-13 09:08 |
Reporter | Istvan Csanady | Assigned To | Istvan Csanady | ||
Priority | normal | Severity | just a question | ||
Status | closed | Resolution | unable to reproduce | ||
Target Version | 6.9.0 | ||||
Summary | 0025563: ARM and AdvApp2Var_SysBase | ||||
Description | On iOS (ARM64bit) the AdvApp2Var_ApproxF2var::mma2fnc_ function crashes for me, but only in release mode. I am just curious, whether you have met this problem on Android and ARM also, or is it clang/iOS specific? This is why the boolean operations crashed for me on iOS, but finally it turned out it crashes always, when I am running the approximation algorithms in release mode. I will investigate this problem. | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
Thank you for reporting this issue. Please provide all necessary data/procedures to reproduce it. |
|
Details are described here, files are also attached: http://tracker.dev.opencascade.org/view.php?id=25435 |
|
Additional info: it only crashes, when optimization level is >= O2. So this can be a clang bug. I will report it. |
|
Istvan, we have not experienced this problem on Android. Actually I am not sure this function gets called in our app (we do not use BOPs, but it may likely be called in context of data exchange operations we are using). I suggest you investigate this problem on your side; your fixes are welcome! |
|
It seems that it is a compiler bug. If I set the optimization to -O1 on only AdvApp2Var_ApproxF2var.cxx it works well. If the optimization is set to -O2, it crashes. I have reported it to the Clang team. I have not tried yet manually disable some of the O2 level optimizations, to figure out which one causes the problem, I might will. What is even more interesting, this problem exists on iOS simulator as well, which runs x86 binaries, so OS X can be also affected (if OCCT is compiled with Clang). It is easy to give it a try, 4 lines of code: #include <GeomConvert_ApproxSurface.hxx> #include <Geom_SphericalSurface.hxx> auto surface = new Geom_SphericalSurface(gp_Ax3(gp_Pnt(), gp_Dir(1.0,0.0,0.0)), 5.0); auto bsplineSurface = GeomConvert_ApproxSurface(surface, 1e-4, GeomAbs_C1, GeomAbs_C1, 8, 8, 100, 1).Surface(); |
|
I can not separate the issue, and Clang developers can not do anything about this until they don't have a separated source code. I think this can be closed. |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-12-08 13:38 | Istvan Csanady | New Issue | |
2014-12-08 13:38 | Istvan Csanady | Assigned To | => msv |
2014-12-08 13:53 |
|
Note Added: 0035131 | |
2014-12-08 13:53 |
|
Assigned To | msv => Istvan Csanady |
2014-12-08 13:53 |
|
Status | new => feedback |
2014-12-08 13:58 | Istvan Csanady | Note Added: 0035132 | |
2014-12-08 14:06 | Istvan Csanady | Note Added: 0035135 | |
2014-12-09 08:54 |
|
Note Added: 0035182 | |
2014-12-09 09:17 | Istvan Csanady | Note Added: 0035184 | |
2015-01-13 08:46 | Istvan Csanady | Note Added: 0035982 | |
2015-01-13 09:08 |
|
Status | feedback => closed |
2015-01-13 09:08 |
|
Resolution | open => unable to reproduce |