codespecs / daikon-dot-net-front-end

Celeriac .NET Front-End for Daikon
Other
9 stars 1 forks source link

Multiple method exits when a thread is aborted #76

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
When a thread catches an ThreadAbortedException, the method can exit normally, 
but the exception is also rethrown resulting in two exit PPTs being visited.

Mono test cases:

async-exc-compilation
finally_guard

Original issue reported on code.google.com by Todd.Sch...@gmail.com on 12 Mar 2013 at 4:08

GoogleCodeExporter commented 9 years ago
I think the only reason we have this issue is because the catch block falls 
through the end of the method, so we are adding exit instrumentation code. For 
the ThreadAbortedException case, we can solve the problem by:

*Not adding the instrumentation IL for the exit PPT in the catch block
*Jumping to the common exit instrumentation instead of the last return at the 
end of the catch block (this is necessary since I think the user can "cancel" 
the re-raising of the exception).

Original comment by Todd.Sch...@gmail.com on 12 Mar 2013 at 4:28

GoogleCodeExporter commented 9 years ago

Original comment by Todd.Sch...@gmail.com on 12 Mar 2013 at 4:28

GoogleCodeExporter commented 9 years ago

Original comment by melonhea...@gmail.com on 2 Apr 2013 at 8:53

GoogleCodeExporter commented 9 years ago

Original comment by Todd.Sch...@gmail.com on 4 Apr 2013 at 8:43

GoogleCodeExporter commented 9 years ago
Fixed in a794f0c5f153

Original comment by melonhea...@gmail.com on 9 Apr 2013 at 10:53