gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

OpenBSD crashes - GWorkspace coredumps - mismatched C++ libraries


From: Riccardo Mottola
Subject: OpenBSD crashes - GWorkspace coredumps - mismatched C++ libraries
Date: Fri, 21 May 2021 16:14:16 +0200
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 SeaMonkey/2.53.7.1

Hi all,

On my latest updated openbsd 6.9 laptop, I get crashes. GWorkspace coredumps.

I get several of these warnings before:
GWorkspace:/usr/local/lib/libestdc++.so.19.0: /usr/lib/libc++abi.so.5.0 : WARNING: symbol(_ZTVN10__cxxabiv120__si_class_type_infoE) size mismatch, relink your program


I think the issue comes from the fact that OpenBSD has a very basic system gcc 4.2 compiler (no Obj-C support, only C and C++) and then gcc8 or clang can be installed as packages. On this system I have gcc. It is easily distinguished because it is named "egcc"

I suppose that PDFKit is the issue, the only mixed Obj-C and C++ module I know for GWorkpace.

so I did some checks. First, I found out there was a bug in GWorkspace build files were sub-projects could use the wrong compiler. Now it is fixed. I double-checked that also PDFKit gets compiled with the correct compiler and it is.

ldd /Local/Library/Libraries/libPDFKit.so
/Local/Library/Libraries/libPDFKit.so:
        Start    End      Type  Open Ref GrpRef Name
        01d0b000 21e20000 dlib  2    0   0 /Local/Library/Frameworks/PDFKit.framework/Versions/1/libPDFKit.so.1.2.0         0c9dc000 2c9e1000 rlib  0    1   0 /usr/X11R6/lib/libfreetype.so.30.0
        030ca000 230cc000 rlib  0    2   0      /usr/lib/libz.so.5.0
        0f88c000 2f96f000 rlib  0    1   0 /usr/local/lib/libestdc++.so.19.0
        080b0000 280b2000 rlib  0    2   0 /usr/lib/libm.so.10.1
        012ba000 212bc000 rlib  0    1   0 /usr/lib/libpthread.so.26.1


FSNode of GWorkspace has this content:
ldd /System/Library/Libraries/libFSNode.so
/System/Library/Libraries/libFSNode.so:
        Start    End      Type  Open Ref GrpRef Name
        04b33000 24b97000 dlib  2    0   0 /System/Library/Frameworks/FSNode.framework/Versions/0/libFSNode.so.0.1.0         0c02e000 2c3f9000 rlib  0    1   0 /System/Library/Libraries/libgnustep-gui.so.0.29         0dcf4000 2e09c000 rlib  0    2   0 /System/Library/Libraries/libgnustep-base.so.1.28
        060e5000 260f8000 rlib  0    3   0 /usr/local/lib/libobjc.so.8.0
        01bb0000 21bb2000 rlib  0    9   0 /usr/lib/libm.so.10.1
        08002000 28004000 rlib  0    12   0 /usr/lib/libpthread.so.26.1
        0202f000 2203a000 rlib  0    2   0 /usr/local/lib/libicui18n.so.19.2
        0c400000 2c40c000 rlib  0    3   0 /usr/local/lib/libicuuc.so.19.2
        095d0000 295d1000 rlib  0    4   0 /usr/local/lib/libicudata.so.19.2
        06863000 26865000 rlib  0    1   0 /usr/local/lib/libpng.so.18.0
        09788000 2978a000 rlib  0    1   0 /usr/local/lib/libgif.so.8.0
        08c7a000 28c7f000 rlib  0    1   0 /usr/local/lib/libtiff.so.40.5
        0eaed000 2eaef000 rlib  0    7   0      /usr/lib/libz.so.5.0
        0479f000 247a1000 rlib  0    2   0 /usr/local/lib/libjpeg.so.70.0
        044f5000 244f7000 rlib  0    3   0 /usr/local/lib/libgmp.so.11.0
        05a36000 25a43000 rlib  0    1   0 /usr/local/lib/libgnutls.so.46.6
        0a161000 2a163000 rlib  0    1   0 /usr/local/lib/libxslt.so.4.0
        07034000 2703b000 rlib  0    2   0 /usr/local/lib/libxml2.so.16.1
        02349000 2234b000 rlib  0    7   0 /usr/local/lib/libiconv.so.7.0
        01834000 21836000 rlib  0    3   0 /usr/local/lib/libffi.so.1.2
        0f58d000 2f590000 rlib  0    1   0 /usr/lib/libiberty.so.12.0
        0bc12000 2bc16000 rlib  0    1   0 /usr/local/lib/libcurl.so.26.9
        0e30e000 2e314000 rlib  0    2   0 /usr/lib/libc++.so.7.0
        02751000 22755000 rlib  0    3   0 /usr/lib/libc++abi.so.5.0
        0e1f0000 2e1f2000 rlib  0    1   0 /usr/local/lib/libzstd.so.5.0
        0ea20000 2ea22000 rlib  0    3   0 /usr/local/lib/liblzma.so.2.1
        0ea70000 2ea73000 rlib  0    1   0 /usr/local/lib/libintl.so.7.0
        00c37000 20c42000 rlib  0    1   0 /usr/local/lib/libp11-kit.so.3.0
        0035c000 2035e000 rlib  0    1   0 /usr/local/lib/libidn2.so.1.1
        007ce000 207d2000 rlib  0    2   0 /usr/local/lib/libunistring.so.0.1
        028fc000 228fe000 rlib  0    1   0 /usr/local/lib/libtasn1.so.4.2
        0efc2000 2efc4000 rlib  0    2   0 /usr/local/lib/libnettle.so.7.0
        0a556000 2a558000 rlib  0    1   0 /usr/local/lib/libhogweed.so.3.0
        0805e000 28061000 rlib  0    1   0 /usr/local/lib/libnghttp2.so.0.17
        01c7e000 21c83000 rlib  0    1   0 /usr/lib/libssl.so.48.2
        0aba2000 2abb9000 rlib  0    2   0 /usr/lib/libcrypto.so.46.2


But even base has this:
/System/Library/Libraries/libgnustep-base.so:
        Start    End      Type  Open Ref GrpRef Name
        02c4d000 22ff5000 dlib  2    0   0 /System/Library/Libraries/libgnustep-base.so.1.28.0
        0f507000 2f51a000 rlib  0    1   0 /usr/local/lib/libobjc.so.8.0
        079f7000 279f9000 rlib  0    3   0 /usr/local/lib/libgmp.so.11.0
        07d34000 27d41000 rlib  0    1   0 /usr/local/lib/libgnutls.so.46.6
        08e97000 28e99000 rlib  0    1   0 /usr/local/lib/libxslt.so.4.0
        01a04000 21a0b000 rlib  0    2   0 /usr/local/lib/libxml2.so.16.1
        0204a000 2204c000 rlib  0    7   0 /usr/local/lib/libiconv.so.7.0
        0e53c000 2e53e000 rlib  0    3   0 /usr/local/lib/libffi.so.1.2
        08f88000 28f8b000 rlib  0    1   0 /usr/lib/libiberty.so.12.0
        0f14f000 2f151000 rlib  0    9   0 /usr/lib/libpthread.so.26.1
        025e0000 225e2000 rlib  0    4   0      /usr/lib/libz.so.5.0
        09427000 29432000 rlib  0    1   0 /usr/local/lib/libicui18n.so.19.2
        0925e000 2926a000 rlib  0    2   0 /usr/local/lib/libicuuc.so.19.2
        07be7000 27be8000 rlib  0    3   0 /usr/local/lib/libicudata.so.19.2
        03760000 23764000 rlib  0    1   0 /usr/local/lib/libcurl.so.26.9
        0167f000 21681000 rlib  0    5   0 /usr/lib/libm.so.10.1
        0175c000 2175f000 rlib  0    1   0 /usr/local/lib/libintl.so.7.0
        0887f000 2888a000 rlib  0    1   0 /usr/local/lib/libp11-kit.so.3.0
        0c4ff000 2c501000 rlib  0    1   0 /usr/local/lib/libidn2.so.1.1
        031f9000 231fd000 rlib  0    2   0 /usr/local/lib/libunistring.so.0.1
        0b679000 2b67b000 rlib  0    1   0 /usr/local/lib/libtasn1.so.4.2
        04762000 24764000 rlib  0    2   0 /usr/local/lib/libnettle.so.7.0
        0ef10000 2ef12000 rlib  0    1   0 /usr/local/lib/libhogweed.so.3.0
        01ccb000 21ccd000 rlib  0    2   0 /usr/local/lib/liblzma.so.2.1
        08fb7000 28fbd000 rlib  0    2   0 /usr/lib/libc++.so.7.0
        0ca18000 2ca1c000 rlib  0    3   0 /usr/lib/libc++abi.so.5.0
        0ac4c000 2ac4f000 rlib  0    1   0 /usr/local/lib/libnghttp2.so.0.17
        0b84d000 2b852000 rlib  0    1   0 /usr/lib/libssl.so.48.2
        0bb08000 2bb1f000 rlib  0    2   0 /usr/lib/libcrypto.so.46.2


So indeed, once running, there is a mix of:

        0f88c000 2f96f000 rlib  0    1   0 /usr/local/lib/libestdc++.so.19.0

vs:
        08fb7000 28fbd000 rlib  0    2   0 /usr/lib/libc++.so.7.0
        0ca18000 2ca1c000 rlib  0    3   0 /usr/lib/libc++abi.so.5.0


but why do base and FSNode link against this system library? Do we use C++ stuff? not that I know, explicitely. Only PDFKit has an explicit use of the C++ compiler.

I wonder how I can mitigate this

Riccardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]