Skip to content

RevisionGrid denies refresh after error #10957

@mstv

Description

@mstv

Environment

  • Git Extensions 33.33.33
  • Build 70e5c6d
  • Git 2.40.1.windows.1
  • Microsoft Windows NT 10.0.19045.0
  • .NET 6.0.16
  • DPI 96dpi (no scaling)
  • Portable: False

Issue description

The RevisionGrid denies to reload with debug assertion "The grid is already marked as 'data load in process'."
Then GE must be restarted.

Steps to reproduce

Throw exception / debug assertion when drawing graph.
The existing try catch in RevisionGraphColumnProvider.OnCellPainting does not help in this case.

Is there a way to tell Debug.Assert to throw an exception instead of instantly killing the app?

Did this work in previous version of GitExtensions?

No response

Diagnostics

[432184] git --no-optional-locks -c diff.ignoreSubmodules=none status --porcelain=2 -z --untracked-files 
[432184] git --no-optional-locks for-each-ref --format="%(if)%(authordate)%(then)%(objectname) %(refname)%(else)%(*objectname) %(*refname)%(end)" 
[432184] git -c log.showSignature=false log -z --pretty=format:"%H%T%P%n%at%n%ct%n%aN%n%aE%n%cN%n%cE%n%B" --max-count=100000 --exclude=refs/notes/commits --all -- 
[432184] git remote -v 
[432184] **** [RevisionReader] Emitted 15079 revisions in 521,1 ms. bufferSize=4096 parseErrors=0 
[432184] git ls-files -z --unmerged 
[432184] git --no-optional-locks -c diff.ignoreSubmodules=none status --porcelain=2 -z --untracked-files 
[432184] ---- DEBUG ASSERTION FAILED ---- 
[432184] ---- Assert Short Message ---- 
[432184] The grid is already marked as 'data load in process'. 
[432184] ---- Assert Long Message ---- 
[432184]  
[432184]    at GitUI.UserControls.RevisionGrid.RevisionDataGridView.MarkAsDataLoading() in F:\Build\gitextensions3\GitUI\UserControls\RevisionGrid\RevisionDataGridView.cs:line 500 
[432184]    at GitUI.RevisionGridControl.PerformRefreshRevisions(Func`2 getRefs, Boolean forceRefresh) in F:\Build\gitextensions3\GitUI\UserControls\RevisionGrid\RevisionGridControl.cs:line 915 
[432184]    at GitUI.UserControls.RevisionGrid.RevisionGridMenuCommands.<>c__DisplayClass18_0.<CreateBoolViewSettingItem>b__0() in F:\Build\gitextensions3\GitUI\UserControls\RevisionGrid\RevisionGridMenuCommands.cs:line 493 
[432184]    at GitUI.CommandsDialogs.BrowseDialog.MenuCommand.<>c__DisplayClass2_0.<CreateToolStripItem>b__0(Object obj, EventArgs sender) in F:\Build\gitextensions3\GitUI\CommandsDialogs\BrowseDialog\MenuCommand.cs:line 63 
[432184]    at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) 
[432184]    at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) 
[432184]    at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) 
[432184]    at System.Windows.Forms.ToolStripMenuItem.ProcessMnemonic(Char charCode) 
[432184]    at System.Windows.Forms.ToolStrip.ProcessMnemonicInternal(Char charCode) 
[432184]    at System.Windows.Forms.ToolStripDropDown.ProcessMnemonic(Char charCode) 
[432184]    at System.Windows.Forms.ToolStripDropDown.ProcessDialogChar(Char charCode) 
[432184]    at System.Windows.Forms.Control.PreProcessMessage(Message& msg) 
[432184]    at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg) 
[432184]    at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg) 
[432184]    at System.Windows.Forms.Application.ThreadContext.Interop.Mso.IMsoComponent.FPreTranslateMessage(MSG* msg) 
[432184]    at System.Windows.Forms.Application.ComponentManager.Interop.Mso.IMsoComponentManager.FPushMessageLoop(UIntPtr dwComponentID, msoloop uReason, Void* pvLoopData) 
[432184]    at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(msoloop reason, ApplicationContext context) 
[432184]    at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(msoloop reason, ApplicationContext context) 
[432184]    at System.Windows.Forms.Application.Run(Form mainForm) 
[432184]    at GitUI.GitUICommands.StartBrowseDialog(IWin32Window owner, BrowseArguments args) in F:\Build\gitextensions3\GitUI\GitUICommands.cs:line 1163 
[432184]    at GitExtensions.Program.RunApplication() in F:\Build\gitextensions3\GitExtensions\Program.cs:line 195 
[432184]    at GitExtensions.Program.Main() in F:\Build\gitextensions3\GitExtensions\Program.cs:line 105 
[432184]  
[432184] CLR: Managed code called FailFast. 
[432184] The grid is already marked as 'data load in process'. 
[432184]    at GitUI.UserControls.RevisionGrid.RevisionDataGridView.MarkAsDataLoading() in F:\Build\gitextensions3\GitUI\UserControls\RevisionGrid\RevisionDataGridView.cs:line 500 
[432184]    at GitUI.RevisionGridControl.PerformRefreshRevisions(Func`2 getRefs, Boolean forceRefresh) in F:\Build\gitextensions3\GitUI\UserControls\RevisionGrid\RevisionGridControl.cs:line 915 
[432184]    at GitUI.UserControls.RevisionGrid.RevisionGridMenuCommands.<>c__DisplayClass18_0.<CreateBoolViewSettingItem>b__0() in F:\Build\gitextensions3\GitUI\UserControls\RevisionGrid\RevisionGridMenuCommands.cs:line 493 
[432184]    at GitUI.CommandsDialogs.BrowseDialog.MenuCommand.<>c__DisplayClass2_0.<CreateToolStripItem>b__0(Object obj, EventArgs sender) in F:\Build\gitextensions3\GitUI\CommandsDialogs\BrowseDialog\MenuCommand.cs:line 63 
[432184]    at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) 
[432184]    at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) 
[432184]    at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) 
[432184]    at System.Windows.Forms.ToolStripMenuItem.ProcessMnemonic(Char charCode) 
[432184]    at System.Windows.Forms.ToolStrip.ProcessMnemonicInternal(Char charCode) 
[432184]    at System.Windows.Forms.ToolStripDropDown.ProcessMnemonic(Char charCode) 
[432184]    at System.Windows.Forms.ToolStripDropDown.ProcessDialogChar(Char charCode) 
[432184]    at System.Windows.Forms.Control.PreProcessMessage(Message& msg) 
[432184]    at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg) 
[432184]    at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg) 
[432184]    at System.Windows.Forms.Application.ThreadContext.Interop.Mso.IMsoComponent.FPreTranslateMessage(MSG* msg) 
[432184]    at System.Windows.Forms.Application.ComponentManager.Interop.Mso.IMsoComponentManager.FPushMessageLoop(UIntPtr dwComponentID, msoloop uReason, Void* pvLoopData) 
[432184]    at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(msoloop reason, ApplicationContext context) 
[432184]    at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(msoloop reason, ApplicationContext context) 
[432184]    at System.Windows.Forms.Application.Run(Form mainForm) 
[432184]    at GitUI.GitUICommands.StartBrowseDialog(IWin32Window owner, BrowseArguments args) in F:\Build\gitextensions3\GitUI\GitUICommands.cs:line 1163 
[432184]    at GitExtensions.Program.RunApplication() in F:\Build\gitextensions3\GitExtensions\Program.cs:line 195 
[432184]    at GitExtensions.Program.Main() in F:\Build\gitextensions3\GitExtensions\Program.cs:line 105 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions