triton-inference-server/server

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!