Spotfire Analyst crashes when writing custom expressions and editing calculated columns

G'day,

We are running Spotfire 7.8.0.1.32 on Windows 7 and 10. 

Occasionally, Spotfire Analyst will crash when writing a custom expression or adding a calculated column. After restarting Analyst the expression or calculated column can be successfully created. This happens non-deterministically, i.e. there is no specific custom expression or calculated column that will consistently crash Analyst, making it difficult to replicate. 

Nevertheless, the dump file and stack trace suggest the cause is an unhanded System.ArgumentOutOfRangeException exception that should be caught and handled gracefully, i.e. without crashing Analyst. Below is an example stack trace from the dump file after such a crash. 

In the CrashDumpMetaData file is the exception: 

System.ArgumentOutOfRangeException: Index and length must refer to a location within the string. 
Parameter name: length 
   at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous) 
   at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args) 
   at Spotfire.Dxp.Forms.Data.Ncfe.SampleValueCapableExpression.UpdatingSample(IDataTable sourceTable) 
   at Spotfire.Dxp.Forms.Data.Ncfe.SampleValueCapableExpression.UpdateExpressionControlWithSampleValue() 
   at Spotfire.Dxp.Forms.Data.Ncfe.ExpressionBase.set_Expression(String value) 
   at System.Windows.Forms.Timer.OnTick(EventArgs e) 
   at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m) 
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) 
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner) 
   at Spotfire.Dxp.Forms.Data.Ncfe.SampleValueCapableExpression.ShowDialog(DataManager dataManager, Control parent) 
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) 
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) 
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) 
   at System.Windows.Forms.ToolStripMenuItem.ProcessMnemonic(Char charCode) 
   at System.Windows.Forms.ToolStripDropDown.ProcessDialogChar(Char charCode) 
   at System.Windows.Forms.Control.PreProcessMessage(Message& msg) 
   at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg) 
   at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg) 
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner) 
   at Spotfire.Dxp.Forms.Data.DataPropertiesUserAction.HandleActionImpl(Object sender, EventArgs e) 
   at Spotfire.Dxp.Forms.Framework.Menu.UserActionRegistration.DispatchEventToHandlers(Object sender, EventArgs e) 
   at Spotfire.Dxp.Forms.Framework.Menu.UserActionRegistration.Invoke(Object sender, EventArgs e) 
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) 
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) 
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) 
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) 
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) 
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) 
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 
   at System.Windows.Forms.Control.WndProc(Message& m) 
   at System.Windows.Forms.ToolStrip.WndProc(Message& m) 
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) 
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) 
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 
   at Spotfire.Dxp.Forms.MainFormManager.Run()

Regards,
Chris.

1 Comment

Hello Chris,

Can you apply the latest hotfix and see if that resolves the problem? If that still doesn't help, please raise a ticket with support @ support.tibco.com

https://community.tibco.com/wiki/list-hotfixes-tibco-spotfire-clients-an...

Seema K - Apr 03, 2018 - 9:06pm
+ Add a Comment
Login