Product: TIBCO Spotfire®
TIBCO Spotfire Installed client crashes when a visualization is configured to limit data by expression using a document property
Open an analysis and create a Document Property of type "String." and now save an expression like "[search_dt] >= Date(DateAdd('dd',datetimenow(),-90))" to this document property (note that is not correct usage of the DateAdd() function since Arg2 and Arg3 are reversed). Now add any visualization to the analysis file and go to Properties > Data > "Limit data by expression" and insert the Document Property created before. The TIBCO Spotfire Installed client crashes with the following error.
System.ArgumentOutOfRangeException: Index and length must refer to a location within the string. Parameter name: length at System.String.Substring(Int32 startIndex, Int32 length) at Spotfire.Dxp.Forms.Scintilla.ScintillaTextBox.AddIndicator(Int32 lineIndex, Int32 charIndexInLine, Int32 length, Int32 indicatorIndex) at Spotfire.Dxp.Forms.Data.ExpressionControl.AddIndicator(IExpressionLayoutInformation layout) at Spotfire.Dxp.Forms.Data.ExpressionControl.UpdateErrorProviderAndShowErrorMessageBox(Exception ex) at Spotfire.Dxp.Forms.Data.ExpressionControl.Create()The crash occurs due to an incorrect expression saved in the Document Property. To resolve the issue, upgrade to versions 7.13 or higher or make sure that the string is a valid expression. In the above case "[search_dt] >= Date(DateAdd('dd',-90,DateTimeNow()))" is a valid expression.