Loading

Errore "failed to map segment from shared object" e directory /tmp quando non è possibile utilizzare i comandi TSM su Linux

Data pubblicazione: Aug 24, 2022
Descrizione

Quando Tableau Server è installato su alcune installazioni Linux in cui la directory /tmp è montata con opzioni come NO_EXEC, i comandi TSM non riescono generando un errore che può contenere i seguenti elementi:

Exception in thread "main" java.lang.reflect.InvocationTargetException (Eccezione nel thread "main" java.lang.reflect.InvocationTargetException)

e

Caused by: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider (Causato da: java.lang.UnsatisfiedLinkError: impossibile caricare il provider FFI jnr.ffi.provider.jffi.Provider)

e

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 (Causato da: java.lang.IllegalStateException: impossibile sovrascrivere a causa di java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/jffi9423896387180745724.so: /tmp/jffi94238796387180745: impossibile mappare il segmento dall'oggetto condiviso: operazione non consentita)

e

Caused by: java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/jffi9423896387180745724.so: /tmp/jffi9423896387180745724.so: failed to map segment from shared object: Operation not permitted (Causato da: java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/jffi9423896387180745724.so: /tmp/jffi9423896387180745724.so: impossibile mappare il segmento dall'oggetto condiviso: operazione non consentita)


 

Cause

Si tratta di un problema noto che è stato risolto in una versione più recente di Tableau Server.
Risoluzione

Opzione 1

Esegui l'upgrade a Tableau Server 2019.2.5, 2019.3.1 o versione successiva. Se l'upgrade non è possibile, considera l'opzione 2 o 3.

Opzione 2

Usa il comando mount -l (L minuscola) per elencare i montaggi per un sistema e determinare se /tmp è stato montato con opzioni, in particolare NO_EXEC.

Opzione 3

Una soluzione alternativa per questo comportamento è eseguire il comando:

tsm login -u NomeUtente

Accedendo con tsm login e utilizzando il flag -u, l'errore può essere aggirato fintanto che la sessione è attiva. Se l'errore si ripresenta, ad esempio dopo aver applicato modifiche in sospeso, è sufficiente eseguire di nuovo il comando di accesso.

Numero articolo Knowledge

001472062

 
Caricamento
Salesforce Help | Article