U4-9606 - Investigate ThreadAbortException [in ModelsBuilder]

Created by Stephan 07 Mar 2017, 15:12:20 Updated by Claus Jensen 16 Mar 2017, 14:39:52

Tags: Unscheduled

Relates to: U4-9595

Subtask of: U4-9609

See https://github.com/zpqrtbnk/Zbu.ModelsBuilder/issues/127


Stephan 07 Mar 2017, 15:13:10

Really not sure about what is going on here. Need to think about it...

Stephan 13 Mar 2017, 16:41:58

Have created PR https://github.com/zpqrtbnk/Zbu.ModelsBuilder/pull/136 on the ModelsBuilder code, see details in https://github.com/zpqrtbnk/Zbu.ModelsBuilder/issues/127. It's probably better than what we have today but I cannot really figure out the cause of the timeout and it's super hard to troubleshoot without repro.

Stephan 14 Mar 2017, 18:05:58

Hijacking this issue to investigate ThreadAbortException more generally. Conclusion is, could not figure out what's happening and whether one of our lock is deadlocking, just by looking at the code.

So, PR https://github.com/umbraco/Umbraco-CMS/pull/1797 adds a magic setting in web.config appSettings, Umbraco.CoreDebug.DumpOnTimeoutThreadAbort -- when set to "true", we create a minidump in ~/App_Data/MiniDump when we log a ThreadAbortException which we detect is due to a timeout.

False by default, not sure if it should be true... to be discussed.

Stephan 14 Mar 2017, 18:08:07

Review: same as U4-9595 to force a timeout and a ThreadAbortException, only this time, a *.dmp file should appear in ~/App_Data/MiniDump that you should be able to inspect with WinDBG.

Stephan 16 Mar 2017, 13:05:04

Have updated the PR so that we always minidump (even if setting is false) if the ThreadAbortException occured while in Monitor.ReliableEnter.

Claus Jensen 16 Mar 2017, 14:39:05

Have reviewed and tested creating a minidump by forcing the exception. Haven't validated the dump but assume it contains whatever you need to debug further on the issue.

Priority: Normal

Type: Task

State: Fixed


Difficulty: Normal


Backwards Compatible: True

Fix Submitted:

Affected versions:

Due in version: 7.5.12

Sprint: Sprint 54

Story Points: