Hey, folks! I've seen this has already been reported a few times in the past, but it doesn't seem like the main issue was fixed, so I'm trying to bring up some more info.
The problem is that Alteryx will hard crash with no error messages nor logs whenever I select an anchor or tool (presumably when it's updating the Results window).
With a fresh installation, selecting any anchor with 1+ rows of data will cause the crash. It doesn't matter if there's only a Text Input node with a single field and row—selecting the output anchor results in the hard crash.
As per the linked threads, disabling "Collect and display data profile information" helps! Clicking on anchors won't cause issues anymore, and the only Tool I've found (so far) to cause the crash with that configuration is the Browse Tool. For some tests, I connected a Text Input node into a Browse Tool and checked which conditions consistently trigger the crash:
By this point, I thought it had something to do with the amount of data, but then it worked with 5 fields and 2 rows... But it crashes if those 2 rows are filled with [1, 1, 1, 1, 1] instead of [1, 2, 3, 4, 5]. Bonkers.
I decided to also test it under E1 instead of AMP and... It works? With AMP disabled, I couldn't trigger a crash at all. That is, unless I turn "Collect and display data profile information" back on again, in which case every Browse Tool and anchor start triggering crashes regardless of the selected engine, like the status quo of the fresh installation.
Since these crashes generate no error messages or logs, I attached a debugger in order to get some more information. The exception thrown is `System.Runtime.InteropServices.SEHException` with the message "External component has thrown an exception." in both cases.
The call-stack for the "Collect and display profile information: ON" case:
at SrcUtils_DotNet.DataWrapC.GetNextRecord(IntPtr hDataWrap)
at SrcUtils_DotNet.DataProfilingDataSource.Init()
at SrcUtils_DotNet.DataProfilingDataSource..ctor(String filePath)
at SrcUtils_DotNet.BrowseDataSource.SetProfilingComplete(Int32 nToolId, String errorMessage, String dataProfileFileName, String samplingPath)
at AlteryxGuiToolkit.BrowseWrDb.DataProfileRunner.CallbackComplete(Int32 nToolId, String errorMessage, String fileName)
at AlteryxGuiToolkit.Utility.InternalWorkflow.EngineRunner.RunWorkflow()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
The call-stack for the Browse Tool with "Collect and display profile information: OFF" case:
at SrcUtils_DotNet.DataWrapC.GetNextRecord(IntPtr hDataWrap)
at SrcUtils_DotNet.BrowseDataSource.GetRecord(Int64 record)
at SrcUtils_DotNet.BrowseDataSource.FieldValue(Int64 record, Int32 column, Boolean& bIsNull, String& strNote, Boolean bNeedNote)
at SrcUtils_DotNet.BrowseDataSource.FieldValue(Int64 record, Int32 column)
at AlteryxGuiToolkit.OutputWindow.BrowseDataControl.UpdateDataView()
at AlteryxGuiToolkit.OutputWindow.ResultsWindow.UpdateView()
at AlteryxGuiToolkit.MainWindow.View_ResultsChanged(Object sender, ResultsChangedEventArgs e)
at AlteryxGuiToolkit.Document.View.OnResultsChanged(ResultsChangedEventArgs e)
at AlteryxGuiToolkit.Document.View.ResultsManager_SelectionChanged(Object sender, SelectionChangedEventArgs e)
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at AlteryxGuiToolkit.OutputWindow.ResultsManager.OnSelectionChanged(SelectionChangedEventArgs e)
at AlteryxGuiToolkit.OutputWindow.ResultsManager.SelectBrowseTool(DiagramNode selectedBrowseNode, IBrowseDataSource bds)
at AlteryxGuiToolkit.OutputWindow.ResultsManager.Select(DiagramNode dNode, PointF lastClickedPoint, BrowseDataSource bds)
at AlteryxGuiToolkit.Document.View.UpdateProperties(Boolean bProblemAfterRun)
at AlteryxGuiToolkit.Document.View.m_flowChart_SelectionChanged(Object sender, EventArgs e)
at MindFusion.Diagramming.DiagramBase.OnSelectionChanged(EventArgs e)
at MindFusion.Diagramming.DiagramBase.RaiseSelectionChanged(EventArgs e)
at MindFusion.Diagramming.Diagram.RaiseSelectionChanged()
at MindFusion.Diagramming.Selection.Change(DiagramItem item)
at MindFusion.Diagramming.WinForms.Behaviors.BehaviorBase.SelectItemAt(PointF currentPoint)
at MindFusion.Diagramming.WinForms.Behaviors.BehaviorBase.OnMouseUp(Point mousePosition, MouseButtons mouseButton)
at MindFusion.Diagramming.WinForms.DiagramView.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(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 AlteryxGuiToolkit.Main.StartApp(String[] args)
at AlteryxGui.CMain.Main(String[] args)
This is using an (honestly weak and outdated) 4-core 4-threads 16GB machine with:
I'd appreciate any pointers on fixes or even on how to obtain more information that might be needed for a fix.
Cheers!
I think what will be useful is for you to keep track of the crash with the logs. Use this post as part of your ticket to Alteryx on the Mission Control side.
In addition, try to force a scenario crash with an Alteryx engineer on call. They will be able to help and recommend solutions.
User | Count |
---|---|
107 | |
82 | |
70 | |
54 | |
40 |