candi
candi copied to clipboard
SEGFAULT in opencascade OCE
I got the following report about a SIGSEGV in OCE when the library is loaded
Program received signal SIGSEGV, Segmentation fault.
0x00007fffcbae522c in Handle_Standard_Transient::BeginScope() () from /home/testinf/Documents/candi_dealii/oce-OCE-0.18.3/lib/libTKernel.so.11
(gdb) bt
#0 0x00007fffcbae522c in Handle_Standard_Transient::BeginScope() ()
from /home/testinf/Documents/candi_dealii/oce-OCE-0.18.3/lib/libTKernel.so.11
#1 0x00007fffcbae9940 in Standard_Transient::This() const ()
from /home/testinf/Documents/candi_dealii/oce-OCE-0.18.3/lib/libTKernel.so.11
#2 0x00007fffc32f3728 in NCollection_BaseMap::BeginResize(int, int&, NCollection_ListNode**&, NCollection_ListNode**&) const () from /lib/x86_64-linux-gnu/libTKernel.so.7
#3 0x00007fffc32ca942 in Standard_Type::Register(char const*, char const*, unsigned long, opencascade::handle<Standard_Type> const&) () from /lib/x86_64-linux-gnu/libTKernel.so.7
#4 0x00007fffc329429a in ?? () from /lib/x86_64-linux-gnu/libTKernel.so.7
#5 0x00007fffc3292450 in ?? () from /lib/x86_64-linux-gnu/libTKernel.so.7
#6 0x00007ffff7fcbfbe in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7fffffffdda8,
env=env@entry=0x7fffffffddb8) at ./elf/dl-init.c:70
#7 0x00007ffff7fcc0a8 in call_init (env=0x7fffffffddb8, argv=0x7fffffffdda8, argc=1, l=<optimized out>)
at ./elf/dl-init.c:33
#8 _dl_init (main_map=0x7ffff7ffe2e0, argc=1, argv=0x7fffffffdda8, env=0x7fffffffddb8) at ./elf/dl-init.c:117
#9 0x00007ffff7fe48b0 in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
Maybe we should update OpenCascade and see if that works?
@pengfej can you confirm gcc and ubuntu version?
Sure, the GCC version is 12.20 and my Ubuntu version is 22.10
This is also something we (I and @sungho91) noticed recently on the University of Memphis workstation. Just tagging us here for any updates on how to resolve this.
OCE 0.18.3 is quite old (Feb 2018). It has been surpassed by OCCT.
I believe I got OCCT 7.4.0 (Feb 2022) compiled, and configured deal.II with it on @bangerth's machines. I just tried to use the most basic configuration as follows
tar xzf opencascade-7.4.0.tgz
cd opencascade-7.4.0
mkdir build
cd build
cmake -DINSTALL_DIR:PATH=/install/path/to/opencascade-7.4.0 ..
make install
Maybe @luca-heltai has some more insight. Anyways, we should update our interfacing with OpenCASCADE website.
I absolutely agree. Everything that was in 0.18.3 has been incorporated upstream in OCCT. OCE is officially dead. We should definitely remove its support, and only use OCCT.
I'll try to experiment a bit and see what version is still compatible with deal.II, and what changes we need to do to upgrade to the latest available version of OCCT.
I could compile with OCCT 7.7.1 without issues.
Thank you @luca-heltai ! I will try OCCT as well and post if we encounter any problem.
Arushi, can you make a PR to replace OCE by OCCT to candi?
Sure! Will do.
btw, I forgot to say: OCCT 7.7.1 passes all tests without changes in deal.II. Should we drop OCE support in deal.II?