Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy do I have two empty ThreadAbortExceptions on my heap?
    primarykey
    data
    text
    <p>I am investigating a memory dump with WinDBG and I am wondering why the heap holds two <code>System.Threading.ThreadAbortExceptions</code> which are both empty. </p> <p>For the other three found exceptions I understand why they are there and that they are created by default:</p> <ol> <li><p><code>System.ExecutionEngineException</code></p></li> <li><p><code>System.StackOverflowException</code></p></li> <li><p><code>System.OutOfMemoryException</code></p></li> </ol> <p>WinDBG output</p> <p><strong>0:000> !dumpheap -type System.Threading.ThreadAbortException</strong></p> <pre><code>Address MT Size 010210fc 79330ef8 72 01021144 79330ef8 72 total 2 objects Statistics: MT Count TotalSize Class Name 79330ef8 2 144 System.Threading.ThreadAbortException Total 2 objects </code></pre> <p><strong>0:000> !pe 010210fc</strong></p> <pre><code>Exception object: 010210fc Exception type: System.Threading.ThreadAbortException Message: &lt;none&gt; InnerException: &lt;none&gt; StackTrace (generated):&lt;none&gt; StackTraceString: &lt;none&gt; HResult: 80131530 </code></pre> <p><strong>0:000> !pe 01021144</strong> </p> <pre><code>Exception object: 01021144 Exception type: System.Threading.ThreadAbortException Message: &lt;none&gt; InnerException: &lt;none&gt; StackTrace (generated): &lt;none&gt; StackTraceString: &lt;none&gt; HResult: 80131530 </code></pre> <p>So my questions would be: </p> <ol> <li>Are these two also created by default and - if so - why are there two?</li> <li>If not, why are they empty?</li> </ol> <p>The memory dump is from a Windows Service.</p> <p>Update with thread information from dump</p> <p><strong>0:000> !threads</strong></p> <pre><code>ThreadCount: 14 UnstartedThread: 0 BackgroundThread: 8 PendingThread: 0 DeadThread: 4 Hosted Runtime: no PreEmptive GC Alloc Lock ID OSID ThreadOBJ State GC Context Domain Count APT Exception 0 1 11d4 0015c538 a020 Enabled 00000000:00000000 00163aa0 0 MTA 2 2 71c 0016f6a0 b220 Enabled 00000000:00000000 00163aa0 0 MTA (Finalizer) 3 4 1914 0019ac48 180b220 Enabled 6a205b0c:6a207910 00163aa0 0 MTA (Threadpool Worker) 5 6 1bd4 001b1580 200b020 Enabled 00000000:00000000 00163aa0 0 MTA 6 7 16a4 001bd260 200b220 Enabled 6a1dc7b8:6a1dd910 00163aa0 0 MTA 7 8 870 001c4a58 200b220 Enabled 6a1da740:6a1db910 00163aa0 0 MTA 8 9 2204 001cf798 b220 Enabled 00000000:00000000 00163aa0 0 MTA 9 d 4d8 0021cb98 80a220 Enabled 00000000:00000000 00163aa0 0 MTA (Threadpool Completion Port) 10 e 1b70 002227c0 200b220 Enabled 6a27d820:6a27d910 00163aa0 0 MTA 11 89 2224 68a3fbd0 880b220 Enabled 00000000:00000000 00163aa0 0 MTA (Threadpool Completion Port) XXXX 11 0 2336e658 8801820 Enabled 00000000:00000000 00163aa0 0 Ukn (Threadpool Completion Port) XXXX 46 0 16d17270 8801820 Enabled 00000000:00000000 00163aa0 0 Ukn (Threadpool Completion Port) XXXX 3a 0 16ca7a70 8801820 Enabled 00000000:00000000 00163aa0 0 Ukn (Threadpool Completion Port) XXXX 3b 0 10e64250 8801820 Enabled 00000000:00000000 00163aa0 0 Ukn (Threadpool Completion Port) </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload