Segmentation fault while loading model

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
HansEinar
Posts: 3
Joined: Wed Nov 07, 2018 11:45 am

Segmentation fault while loading model

Post by HansEinar »

Hi! I got a segfault while loading a model in FreeCAD 17 on OpenSuse Leap 15. The model was created on FreeCAD 17 on Win 10.

Code: Select all

FreeCAD 0.17, Libs: 0.17RUnknown
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2018
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##

Cannot create object 'Body': (/usr/lib64/FreeCAD/lib/Part.so: undefined symbol: _ZN9BRep_Tool14CurveOnSurfaceERK11TopoDS_EdgeRK11TopoDS_FaceRdS6_Pb)
Program received signal SIGSEGV, Segmentation fault.
Segmentation fault (core dumped)
Is it possible to say if it's the FreeCad build on Leap 15 or the model that is causing the trouble based on this error message?
chrisb
Veteran
Posts: 53945
Joined: Tue Mar 17, 2015 9:14 am

Re: Segmentation fault while loading model

Post by chrisb »

Moved to Install forum. It's not a developer question.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
wmayer
Founder
Posts: 20245
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Segmentation fault while loading model

Post by wmayer »

Something is wrong with your FreeCAD installation.

After starting FreeCAD go to its Python console window (maybe you have to activate first under View > Panels > Python console).

Then enter

Code: Select all

import Part
Do you still get the same error message?

If yes open a terminal window and enter:

Code: Select all

ldd /usr/lib64/FreeCAD/lib/Part.so
What is the output?
HansEinar
Posts: 3
Joined: Wed Nov 07, 2018 11:45 am

Re: Segmentation fault while loading model

Post by HansEinar »

Hi wmayer,

Sorry for a late reply but thanks for helping me out here :)

the import Part in python gave the same result.

Code: Select all

import Part
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ImportError: /usr/lib64/FreeCAD/lib/Part.so: undefined symbol: _ZN9BRep_Tool14CurveOnSurfaceERK11TopoDS_EdgeRK11TopoDS_FaceRdS6_Pb
here is my output of ldd

Code: Select all

ldd /usr/lib64/FreeCAD/lib/Part.so
        linux-vdso.so.1 (0x00007ffdb0144000)
        libTKFillet.so.7 => /usr/lib64/libTKFillet.so.7 (0x00007f3cdc805000)
        libTKMesh.so.7 => /usr/lib64/libTKMesh.so.7 (0x00007f3cdc568000)
        libTKernel.so.7 => /usr/lib64/libTKernel.so.7 (0x00007f3cdc1d3000)
        libTKG2d.so.7 => /usr/lib64/libTKG2d.so.7 (0x00007f3cdbf5d000)
        libTKG3d.so.7 => /usr/lib64/libTKG3d.so.7 (0x00007f3cdbc3b000)
        libTKMath.so.7 => /usr/lib64/libTKMath.so.7 (0x00007f3cdb7d0000)
        libTKIGES.so.7 => /usr/lib64/libTKIGES.so.7 (0x00007f3cdb196000)
        libTKSTL.so.7 => /usr/lib64/libTKSTL.so.7 (0x00007f3cdaf7a000)
        libTKShHealing.so.7 => /usr/lib64/libTKShHealing.so.7 (0x00007f3cdaacd000)
        libTKXSBase.so.7 => /usr/lib64/libTKXSBase.so.7 (0x00007f3cda612000)
        libTKBool.so.7 => /usr/lib64/libTKBool.so.7 (0x00007f3cd9fca000)
        libTKBO.so.7 => /usr/lib64/libTKBO.so.7 (0x00007f3cd9b78000)
        libTKBRep.so.7 => /usr/lib64/libTKBRep.so.7 (0x00007f3cd9874000)
        libTKTopAlgo.so.7 => /usr/lib64/libTKTopAlgo.so.7 (0x00007f3cd9364000)
        libTKGeomAlgo.so.7 => /usr/lib64/libTKGeomAlgo.so.7 (0x00007f3cd8bab000)
        libTKGeomBase.so.7 => /usr/lib64/libTKGeomBase.so.7 (0x00007f3cd8467000)
        libTKOffset.so.7 => /usr/lib64/libTKOffset.so.7 (0x00007f3cd80e0000)
        libTKPrim.so.7 => /usr/lib64/libTKPrim.so.7 (0x00007f3cd7e7c000)
        libTKSTEP.so.7 => /usr/lib64/libTKSTEP.so.7 (0x00007f3cd7900000)
        libTKFeat.so.7 => /usr/lib64/libTKFeat.so.7 (0x00007f3cd75cd000)
        libFreeCADApp.so => /usr/lib64/FreeCAD/lib/libFreeCADApp.so (0x00007f3cd7105000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f3cd6e5e000)
        libFreeCADBase.so => /usr/lib64/FreeCAD/lib/libFreeCADBase.so (0x00007f3cd6aba000)
        libpython3.6m.so.1.0 => /usr/lib64/libpython3.6m.so.1.0 (0x00007f3cd6556000)
        libxerces-c-3.1.so => /usr/lib64/libxerces-c-3.1.so (0x00007f3cd5fba000)
        libboost_system.so.1.66.0 => /usr/lib64/libboost_system.so.1.66.0 (0x00007f3cd5db5000)
        libQt5Core.so.5 => /usr/lib64/libQt5Core.so.5 (0x00007f3cd5672000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f3cd52e9000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f3cd4f9e000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f3cd4d87000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f3cd49cd000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3cd47af000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f3cd45a7000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f3cd43a3000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3cdd31a000)
        libTKSTEPAttr.so.7 => /usr/lib64/libTKSTEPAttr.so.7 (0x00007f3cd408b000)
        libTKSTEP209.so.7 => /usr/lib64/libTKSTEP209.so.7 (0x00007f3cd3dd8000)
        libTKSTEPBase.so.7 => /usr/lib64/libTKSTEPBase.so.7 (0x00007f3cd3927000)
        libboost_program_options.so.1.66.0 => /usr/lib64/libboost_program_options.so.1.66.0 (0x00007f3cd36aa000)
        libboost_regex.so.1.66.0 => /usr/lib64/libboost_regex.so.1.66.0 (0x00007f3cd339c000)
        libboost_signals.so.1.66.0 => /usr/lib64/libboost_signals.so.1.66.0 (0x00007f3cd3184000)
        libQt5Xml.so.5 => /usr/lib64/libQt5Xml.so.5 (0x00007f3cd2f48000)
        libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f3cd2d2b000)
        libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f3cd2ae7000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f3cd28d0000)
        libutil.so.1 => /lib64/libutil.so.1 (0x00007f3cd26cd000)
        libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f3cd2445000)
        libicuuc.so.60.2 => /usr/lib64/libicuuc.so.60.2 (0x00007f3cd2086000)
        libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x00007f3cd1df1000)
        libicui18n.so.60.2 => /usr/lib64/libicui18n.so.60.2 (0x00007f3cd193c000)
        libdouble-conversion.so.1 => /usr/lib64/libdouble-conversion.so.1 (0x00007f3cd172b000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f3cd1415000)
        libnghttp2.so.14 => /usr/lib64/libnghttp2.so.14 (0x00007f3cd11ef000)
        libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x00007f3cd0fd2000)
        libssh.so.4 => /usr/lib64/libssh.so.4 (0x00007f3cd0d60000)
        libpsl.so.5 => /usr/lib64/libpsl.so.5 (0x00007f3cd0b50000)
        libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f3cd08e4000)
        libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007f3cd0457000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007f3cd020c000)
        libldap_r-2.4.so.2 => /usr/lib64/libldap_r-2.4.so.2 (0x00007f3ccffb8000)
        liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x00007f3ccfda9000)
        libicudata.so.60.2 => /usr/lib64/libicudata.so.60.2 (0x00007f3ccfba8000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f3ccf991000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f3ccf768000)
        libcap.so.2 => /usr/lib64/libcap.so.2 (0x00007f3ccf563000)
        liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007f3ccf328000)
        liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x00007f3ccf113000)
        libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007f3ccedf7000)
        libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007f3ccebd7000)
        libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f3cce94a000)
        libunistring.so.2 => /usr/lib64/libunistring.so.2 (0x00007f3cce5c8000)
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f3cce2ee000)
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f3cce0bc000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f3ccdeb8000)
        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007f3ccdcab000)
        libsasl2.so.3 => /usr/lib64/libsasl2.so.3 (0x00007f3ccda8e000)
        libkeyutils.so.1 => /usr/lib64/libkeyutils.so.1 (0x00007f3ccd88a000)
is this what you need?

HansEinar
wmayer
Founder
Posts: 20245
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Segmentation fault while loading model

Post by wmayer »

Yes, that's the information I asked for. But unfortunately, I couldn't figure out what the actual reason is.
The function BRep_Tool::CurveOnSurface is part of the file BRep_Tool.cxx and this should be offered by the libTKBRep.so file.

Now according to the output of ldd the module Part.so also links against libTKBRep.so.
Theoretically there are two things that could have happened:
1. Your FreeCAD version was linked against a slightly different version of OCCT and due to this there are some binary incompatibilities.
2. For some reason libTKBRep.so does not provide BRep_Tool::CurveOnSurface. If the symbol information haven't been stripped from OCCT libs you can try:
nm /usr/lib64/libTKBRep.so.7 | grep _ZN9BRep_Tool14CurveOnSurface
HansEinar
Posts: 3
Joined: Wed Nov 07, 2018 11:45 am

Re: Segmentation fault while loading model

Post by HansEinar »

Thanks!
I did the nm /usr/lib64/libTKBRep.so.7 | grep _ZN9BRep_Tool14CurveOnSurface
and it returned with
nm: /usr/lib64/libTKBRep.so.7: no symbols




I searched for the provider of libTKBRep.so.7 and found it to be OpenCASCADE. Here is some detailed information from my package manager

Code: Select all

libopencascade7 - OpenCASCADE libraries

Installed Version:   7.2.0-lp150.1.21
Sun 13 May 2018 05:59:35 AM CEST
Sat 03 Nov 2018 01:07:23 PM CET
Development/Libraries/C and C++
LGPL-2.1 WITH OCCT-exception-1.0
73.7 MiB
0 B
openSUSE Leap 15.0
openSUSE
https://bugs.opensuse.org
x86_64

http://www.opencascade.org/
occt-7.2.0-lp150.1.21
0
I tried to reinstall the package, but no luck.
Can this be a problem with OpenSUSE Leap 15.0?

HansEinar
wmayer
Founder
Posts: 20245
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Segmentation fault while loading model

Post by wmayer »

Can this be a problem with OpenSUSE Leap 15.0?
Yes, to me this seems to be the case.
Post Reply