[Mono-bugs] [Bug 55131][Nor] Changed - Thread.Abort() is causing a crash

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Wed, 31 Mar 2004 13:45:01 -0500 (EST)

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by dick@ximian.com.


--- shadow/55131	2004-03-08 12:01:46.000000000 -0500
+++ shadow/55131.tmp.19748	2004-03-31 13:45:01.000000000 -0500
@@ -78,6 +78,25 @@
 I'll try and set up a suse 9 box and try the new glibc on it.
 ------- Additional Comments From vargaz@freemail.hu  2004-03-08 12:01 -------
 This could be fixed by getting rid of the MONO_USE_EXC_TABLES stuff.
+------- Additional Comments From dick@ximian.com  2004-03-31 13:45 -------
+OK, I've just verified that removing the MONO_USE_EXC_TABLES define
+does indeed fix this problem.
+According to docs/exceptions __builtin_unwind_init() is a trick to
+force gcc to save all the caller saved registers on the stack.  Does
+that mean that our stack unwinding isn't taking some of it into account?
+A normally-compiled runtime with MONO_USE_EXC_TABLES defined throws
+two NullReferenceExceptions while it is handling the thread abort,
+whereas neither a non-NPTL run (with LD_ASSUME_KERNEL=2.4.19) nor a
+non-MONO_USE_EXC_TABLES build does.
+Unfortunately I can't find any gcc documentation for this feature.