KNOWLEDGE BASE

Error "failed to map segment from shared object" and /tmp Directory When Failing to use TSM commands on Linux


Published: 04 Sep 2019
Last Modified Date: 29 Jul 2020

Issue

When Tableau Server is installed on some Linux installations where the /tmp directory is mounted with options such as NO_EXEC, TSM commands fail producing an error which may contain the following items:

Exception in thread "main" java.lang.reflect.InvocationTargetException

and

Caused by: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider

and

Caused by: java.lang.IllegalStateException: Can't overwrite cause with java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/jffi9423896387180745724.so: /tmp/jffi9423896387180745724.so: failed to map segment from shared object: Operation not permitted

and

Caused by: java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/jffi9423896387180745724.so: /tmp/jffi9423896387180745724.so: failed to map segment from shared object: Operation not permitted


 

Environment

Tableau Server 2019.2 and later versions

Resolution

Option 1

Upgrade to Tableau Server 2019.2.5, 2019.3.1 or later. If upgrade is not possible consider option 2 or 3.

Option 2

Use the command mount -l (lower case L) to list the mounts for a system and see if /tmp has been mounted with options, in particular NO_EXEC.

Option 3

A workaround for this behavior is to run the command:

tsm login -u YourUsername

By signing in with tsm login and using the -u flag, the error can be bypassed as long as the session is active. Should the error return, for example after applying pending changes, simply run the login command again.

Cause

This was a known issue which is corrected in more recent version of Tableau Server.
Did this article resolve the issue?