[Mono-list] mono swallows threadpool exceptions

Atsushi Eno atsushieno at veritas-vos-liberabit.com
Thu Jul 22 00:04:32 EDT 2010


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<stifu at free.fr>  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<trampster at gmail.com>
>>> 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<trampster at gmail.com>
>>>> 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<trampster at gmail.com>
>>>>> 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  -  Mono-list at lists.ximian.com
>>> 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  -  Mono-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-list
>>
>>      
> _______________________________________________
> Mono-list maillist  -  Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>
>
>
>    



More information about the Mono-list mailing list