Missing typeinfo in shared libraries
Closed this issue · 2 comments
Description
The shared libraries generated when building Triton (libtritonserver.so
for the server and libgrpcclient.so
for the client) don't contain typeinfo
for the various custom classes.
In particular, this can interfere with use of UBSAN, which requires typeinfo
for all classes. RTTI should be enabled for gcc by default; I'm not sure where in the build process the symbols are stripped.
Triton Information
What version of Triton are you using? v2.3
Are you using the Triton container or did you build it yourself? both
To Reproduce
If using container, issue the command: nm -C -D lib/libtritonserver.so
(otherwise, use the same command with any locally available libraries)
Expected behavior
typeinfo
should be present.
We don't strip symbols but we hide most symbols except the TRITONSERVER_* API. You can build yourself without applying the ldscript and see if that helps. Remove these two lines: https://github.com/triton-inference-server/server/blob/master/src/servers/CMakeLists.txt#L445-L446
Many thanks, this did the trick!