Hello, You can (and please) feel free to contribute bug reports. We just don't accept your patches to mono itself (including mcs).
Atsushi Eno On 2010/07/22 11:40, Daniel Hughes wrote: > I do not believe I am allowed to contribute to mono as I have used > reflector on the .net class libraries. > > On Thu, Jul 22, 2010 at 12:02 AM, Stifu<[email protected]> wrote: > >> Among the bugs I reported, the ones which tended to get fixed the fastest >> were the ones I submitted patches for. :) >> Not catching an Exception (or throwing one) sounds like a trivial patch, but >> I could be wrong. >> >> >> Daniel Hughes wrote: >> >>> And I found the bug. >>> >>> Bug 491191 >>> >>> Which is over a year old. >>> >>> This one is not in an obscure part of the framework like my serial >>> port bug so it should be fixed quickly?? >>> >>> >>> >>> On Wed, Jul 21, 2010 at 10:21 PM, Daniel Hughes<[email protected]> >>> wrote: >>> >>>> Ok I think I have it: >>>> >>>> http://msdn.microsoft.com/en-us/library/ms228965.aspx#ChangeFromPreviousVersions >>>> >>>> tells us that since .net 2.0 the runtime does not swallow threadpool >>>> exceptions. So that means that the mono implementation is wrong. >>>> >>>> On Wed, Jul 21, 2010 at 9:51 PM, Daniel Hughes<[email protected]> >>>> wrote: >>>> >>>>> upon further reading this appears to be the correct behavior. Although >>>>> it does not seem to be what is happening in .net I will need to do >>>>> more investigation it seems. >>>>> >>>>> On Wed, Jul 21, 2010 at 9:16 PM, Daniel Hughes<[email protected]> >>>>> wrote: >>>>> >>>>>> In trying to port our application to run on mono I have discovered >>>>>> that mono is silently swallowing exceptions. This is a really big >>>>>> deal, we expect these exceptions to bubble up and kill the >>>>>> application. >>>>>> >>>>>> There is not even any indication that an exception has occurred it is >>>>>> just lost. >>>>>> >>>>>> public static void Main (string[] args) >>>>>> { >>>>>> Action action = () => >>>>>> { >>>>>> throw new Exception("this should Kill >>>>>> the process but doesn't"); >>>>>> }; >>>>>> >>>>>> ThreadPool.QueueUserWorkItem(_ => action()); >>>>>> while(true) >>>>>> { >>>>>> Thread.Sleep(1000); >>>>>> Console.WriteLine("wrongly still >>>>>> running"); >>>>>> } >>>>>> } >>>>>> >>>>>> The implications of this could be catastrophic. Imagine some code >>>>>> which performs a check, finds bad data and throws an exception. >>>>>> However mono swallows that exception so instead of the program closing >>>>>> it carries on running and uses the bad data. This results in sensitive >>>>>> data being lost. Or in our case a radio being bricked. >>>>>> >>>>>> Can someone explain why mono is doing this and if their is some >>>>>> setting / environment variable I can change to make unhandled >>>>>> threadpool exceptions terminate the process as is expected. >>>>>> >>>>>> >>>>> >>>> >>> _______________________________________________ >>> Mono-list maillist - [email protected] >>> http://lists.ximian.com/mailman/listinfo/mono-list >>> >>> >>> >> -- >> View this message in context: >> http://mono.1490590.n4.nabble.com/mono-swallows-threadpool-exceptions-tp2296815p2296994.html >> Sent from the Mono - General mailing list archive at Nabble.com. >> _______________________________________________ >> Mono-list maillist - [email protected] >> http://lists.ximian.com/mailman/listinfo/mono-list >> >> > _______________________________________________ > Mono-list maillist - [email protected] > http://lists.ximian.com/mailman/listinfo/mono-list > > > > _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
