TabularEditor / TabularEditor3

Bug reports, feature requests, discussion and documentation for Tabular Editor 3 (commercial version).
64 stars 7 forks source link

TE3 Crashes after setting up Incremental Refresh #1356

Open SharmaAntriksh opened 2 months ago

SharmaAntriksh commented 2 months ago

Description

I have noticed that after setting up the Incremental Refresh if I interact with that table in TE3 then it crashes.

Tabular Editor 3 Version

3.16.2

Screenshots

https://github.com/user-attachments/assets/a169ce21-c503-49ff-bde6-ac29d9f22cb6

Steps to Reproduce

Setup Incremental Refresh in PBI Desktop

Expected behavior

No response

Crash Report

Tabular Editor Unhandled Exception Error Report

Tabular Editor version: 3.16.2 (3.16.2.23191) OS version: Microsoft Windows NT 10.0.19045.0 Model details: CompatibilityLevel: 1567 CompatibilityMode: PowerBI IsPbiDesktop: True SourceType: Database TableCount: 13 FirstTimeModelLoad: False DatabaseNameSHA256: 3712451531fa7bcf1b07f7b1c6916721f30d88f5bf7d38f5 ServerVersion: 16.0.131.18 ServerLocation: OnPremise ServerProductLevel: RTM ServerProductName: Microsoft SQL Server Analysis Services ServerEdition: Enterprise64 ServerNameSHA256: 1c6bae01c581d5db5c94620aac5dd6b1fb3d799a31effa5d User description: This error occured while setting up Incremental Refresh policy in PBI Desktop Exception message: The given key 'Microsoft.AnalysisServices.Tabular.BasicRefreshPolicy' was not present in the dictionary. Exception source: System.Private.CoreLib Stack trace: at System.Collections.Generic.Dictionary2.get_Item(TKey key) at TabularEditor.TOMWrapper.Table.get_RefreshPolicy() at TabularEditor.TOMWrapper.Table.get_EnableRefreshPolicy() at TabularEditor.TOMWrapper.Table.GetExpressionProperties()+MoveNext() at System.Collections.Immutable.ImmutableHashSet1.Union(IEnumerable1 other, MutationInput origin) at System.Collections.Immutable.ImmutableHashSet1.Union(IEnumerable1 items, Boolean avoidWithComparer) at System.Collections.Immutable.ImmutableHashSet1.Union(IEnumerable1 other) at System.Collections.Immutable.ImmutableHashSet.ToImmutableHashSet[TSource](IEnumerable1 source, IEqualityComparer1 equalityComparer) at System.Collections.Immutable.ImmutableHashSet.ToImmutableHashSet[TSource](IEnumerable1 source) at TabularEditor.UI.Controllers.QuickEditorViewController.GetEditorType(IExpressionObject obj, ExpressionProperty property) at TabularEditor.UI.Controllers.QuickEditorViewController.SetEditObject(IExpressionObject newObject, ExpressionProperty newProperty) at TabularEditor.UI.Controllers.QuickEditorViewController.GoTo(IExpressionObject obj, IPreselectEditorObjectBehavior gotoBehavior) at TabularEditor.UI.Views.QuickEditorView.GoTo(IExpressionObject obj, IPreselectEditorObjectBehavior gotoBehavior) at TabularEditor.UI.App.TabularExplorer_PropertyChanged(Object sender, PropertyChangedEventArgs e) at DevExpress.Mvvm.BindableBase.RaisePropertyChanged(String propertyName) at DevExpress.Mvvm.BindableBase.SetPropertyCore[T](String propertyName, T value, T& oldValue) at DevExpress.Mvvm.BindableBase.SetPropertyCore[T](String propertyName, T value, Action changedCallback) at DevExpress.Mvvm.BindableBase.SetValue[T](T value, Action changedCallback, String propertyName) at DevExpress.Mvvm.BindableBase.SetValue[T](T value, String propertyName) at TabularEditor.UI.ViewModels.TabularExplorerViewModel.set_Selection(Selection value) at TabularEditor.UI.Views.TabularExplorerView.treeList_SelectionChanged(Object sender, EventArgs e) at DevExpress.XtraTreeList.TreeList.RaiseSelectionChanged() at DevExpress.XtraTreeList.TreeList.OnSelectionChanged() at DevExpress.XtraTreeList.TreeListMultiSelection.Changed(Boolean needRaiseEvent) at DevExpress.XtraTreeList.TreeListMultiSelection.EndSelect() at DevExpress.XtraTreeList.TreeList.EndSelection() at DevExpress.XtraTreeList.TreeList.InternalSetFocusedRowIndex(Int32 newFocusedRowIndex) at DevExpress.XtraTreeList.TreeList.ValidateAndSetFocusedRowIndex(Int32 newFocusedRowIndex, Boolean force) at DevExpress.XtraTreeList.TreeList.UpdateFocusedRowIndex(Int32 newFocusedRowIndex, Boolean updateSelection, Boolean force) at DevExpress.XtraTreeList.Handler.TreeListHandler.TreeListControlState.ChangeSelection(RowInfo pressRowInfo) at DevExpress.XtraTreeList.Handler.TreeListHandler.NormalState.MouseDown(MouseEventArgs e, TreeListHitTest ht) at DevExpress.XtraTreeList.Handler.TreeListHandler.RegularState.MouseDown(MouseEventArgs e, TreeListHitTest ht) at DevExpress.XtraTreeList.Handler.TreeListHandler.OnMouseDownCore(MouseEventArgs e, TreeListHitTest hitTest) at DevExpress.XtraTreeList.Handler.TreeListHandler.OnMouseDown(MouseEventArgs e) at DevExpress.XtraTreeList.TreeList.OnMouseDown(MouseEventArgs e) at TabularEditor.UI.DxExtensions.TreeListCustomCellSelect.OnMouseDown(MouseEventArgs e) at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at DevExpress.XtraEditors.Container.EditorContainer.WndProc(Message& m) at DevExpress.XtraTreeList.TreeList.WndProc(Message& m) at TabularEditor.UI.DxExtensions.TreeListCustomPadding.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam) Modules loaded: TabularEditor3.dll

Windows Version

Window 10

mlonsk commented 2 months ago

Hi @SharmaAntriksh

Thank you for reporting. Does this also happen if you open Tabular Editor after you have set the incremental refresh up in Power BI, or does it only happen when you already have Tabular Editor open and then switch?

SharmaAntriksh commented 2 months ago

I checked and it doesn't crash if TE3 is launched after setting up IR

SharmaAntriksh commented 2 months ago

Also, I noticed in the error message pange there is a check mark for "send error report" but there is no "send" button only abort/ignore.

mlonsk commented 2 months ago

Hi @SharmaAntriksh Thank you for checking. Does saving the PBIX file before starting to work in Tabular Editor make a difference?

If the send report checkbox is checked, the report will automatically be sent when you click either abort or ignore.

SharmaAntriksh commented 2 months ago

I am not seeing any errors in other scenarios but it always crashes if I follow the steps show in the first post.