candi icon indicating copy to clipboard operation
candi copied to clipboard

SEGFAULT in opencascade OCE

Open tjhei opened this issue 2 years ago • 10 comments

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?

tjhei avatar Jan 19 '23 19:01 tjhei

@pengfej can you confirm gcc and ubuntu version?

tjhei avatar Jan 19 '23 19:01 tjhei

Sure, the GCC version is 12.20 and my Ubuntu version is 22.10

pengfej avatar Jan 19 '23 20:01 pengfej

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.

alarshi avatar May 28 '24 20:05 alarshi

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.

marcfehling avatar May 29 '24 13:05 marcfehling

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.

luca-heltai avatar May 30 '24 06:05 luca-heltai

I could compile with OCCT 7.7.1 without issues.

luca-heltai avatar May 30 '24 13:05 luca-heltai

Thank you @luca-heltai ! I will try OCCT as well and post if we encounter any problem.

alarshi avatar May 30 '24 13:05 alarshi

Arushi, can you make a PR to replace OCE by OCCT to candi?

tjhei avatar May 30 '24 23:05 tjhei

Sure! Will do.

alarshi avatar May 31 '24 00:05 alarshi

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?

luca-heltai avatar May 31 '24 08:05 luca-heltai