Known Issues

TIBCO Spotfire® Service for Python version 1.3.0 contains the following known issues.

Key Description
PYSRV-80 Plot created with pyplot persists between data functions

A plot created in a data function using the function pyplot from matplotlib can persist between data functions unless the plot is explicitly cleared.

Workaround: If the buffer retains the plot, you can clear it explicitly by including the command plt.clf() in your data function.

PYSRV-188 SPK builder filters out provided packages

Because of potential conflicts with pre-installed packages, the SPK builder now filters out the packages provided with the Python interpreter in your installation, and the "brand" written to the requirements.txt no longer lists these packages or their versions. This filtering can result in package compatibility issues in cases where your custom SPK contains Python packages with a strict dependency on a different release version of any of the filtered packages.

Workaround: None.

For more information about the included packages, see the Included Packages topic in the documentation.

PYSRV-223 numpy version 1.19.4 has severe incompatibilities with certain versions of Windows

The Python package numpy version 1.19.4 has known incompatibilities when it is run on certain more recent versions of Windows 10. These compatibilities can cause Python to fail when it is used with Spotfire. Spotfire does not include this version of numpy.

Workaround: If you build custom packages SPK on Windows, ensure the SPK does not include numpy version 1.19.4.

PYSRV-227

Export error displayed for empty column

If you export an SBDF from Python (for example, as outputs for a data function), and your output contains an empty column, then you can encounter the following error:

spotfire.sbdf.SBDFError: cannot determine type for column
'EmptyString'; all values are missing

This error occurs because the spotfire package cannot always correctly infer data types, such as String.

Workaround: None.

PYSRV-280 Non-ASCII characters in TEMP path cause an error in the Python package builder

When you build an SPK of Python packages for distribution to Analyst clients on a Windows computer where the TEMP directory's path contains any non-ASCII characters, then the SPK build fails with the error ValueError: FCI error 1. This error is due to a defect in the Python interpreter.

Workaround: Before building the SPK, set the value of the TEMP environment variable to a path containing only ASCII characters (for example, SET TEMP=C:\temp).

PYSRV Error message "Bad Request (400) - Unable to parse form content"

If you see this error, then the data being uploaded to the service is too large.

When a Spotfire data function is run, it sends the relevant data from Spotfire to Spotfire Service for Python for processing. Spotfire Service for Python has a file size upload limit, the default of which is 100 MB. When a data function is run with data that exceeds this limit, Spotfire Service for Python returns the following error:
Error from Remote Service: Bad Request (400) - 
Unable to parse form content 

  at Spotfire.Dxp.Data.DataFunctions.Executors.RemoteServiceClient.
     RunFunction(DataFunctionInvocation invocation)
  at Spotfire.Dxp.Data.DataFunctions.Executors.SPlusFunctionExecutor.
     <ExecuteFunction>d__11.MoveNext()
  at Spotfire.Dxp.Data.DataFunctions.DataFunctionExecutorService.
     <ExecuteFunction>d__8.MoveNext()

Workaround: An administrator can change this upload limit if needed by creating a custom configuration. See the topic "File size upload limit" in the TIBCO Spotfire® Service for Python Installation and Administration for more information.

If users see this error message, consider creating a custom configuration that increases the limits for both of the following properties:

  • spring.servlet.multipart.max-file-size: The total file size for upload cannot exceed the value for this setting.
  • spring.servlet.multipart.max-request-size: The total request size for a multipart file upload cannot exceed the value for this setting.
Note: At a certain point, the Java Heap size fails to handle very large files. The threshold for this behavior is dependent on the amount of RAM Spotfire Service for Python node has. When the Java Heap Size is exceeded, the following error message is displayed.
Error from Remote Service: Internal Server Error (500) 
- java.lang.OutOfMemoryError: Java heap space