On Tue, 2002-04-30 at 04:57, Linus Upson wrote: > I found the problem. When unwinding the stack in exceptions.c a test was > using EIP when it should have used EBP.
just committed your fix - thanks. There was a similar typo in the > exceptions docs file. At least i have documented the error ;-) A patch for both is attached. It is just dumb luck > that on Linux the top of the stack is at a larger address than the code. > > Other things I found along the way and am looking in to: > > - MethodInfo.GetMethod(System.String) doesn't work on mono. The overload > which takes an array of parameter Types does, however. > > - .Net's implementation of MethodInfo.Invoke() catches all Exceptions > (need to check if it also catches non-CLS exceptions) and wraps them in > a TargetInvocationException before throwing that to the caller. Mono > lets the original exception pass through. if so, we can catch them in the class lib. > > - I have a vague recollection of reading somewhere that .Net doesn't run > finally clauses until it finds a matching catch block for the exception. really - that sounds strange. > Mono calls the finally blocks as it unwinds the stack. I'm scratching my > head to figure out if it matters. I'm going to write some tests to see > if I can find any ways in which mono's behavior differs from .Net in > this area. yes, more tests would be good (we already have some tests in mono/mono/tests/exception*.cs) > > Now that the corlib unit tests are kind of working on windows, I'm > working on a test case for MethodInfo as I go. Please let me know if I > should enter these issues in bugzilla as well. I prefer patches ;-) If you find errors you don't want to fix yourself enter them into bugzilla. - Dietmar _______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
