Bug 24806 - System.Environment.FailFast throws NotImplementedException
Summary: System.Environment.FailFast throws NotImplementedException
Status: NEW
Alias: None
Product: Class Libraries
Classification: Mono
Component: System (show other bugs)
Version: master
Hardware: PC Linux
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2014-11-25 10:03 UTC by delcypher
Modified: 2015-03-17 02:42 UTC (History)
2 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description delcypher 2014-11-25 10:03:26 UTC
I'm using mono 3.10.0 and I came across an issue where an external project I link against calls 

System.Diagnostics.Contract.Assume()

which throws NotImplementedException when using mono and building an application is debug mode because when the Contract fails because it calls System.Environment.FailFast() to handle the failure which currently just throws NotImplementedException

Here is simple test case

```
using System;
using System.Diagnostics.Contracts;

namespace ConsoleTest
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            string x = null;
            Contract.Assume(x != null);
        }
    }
}
```

```
Unhandled Exception:
System.NotImplementedException: The requested feature is not implemented.
  at System.Environment.FailFast (System.String message) [0x00000] in /build/mono/src/mono-3.10.0/mcs/class/corlib/System/Environment.cs:850 
  at System.Diagnostics.Contracts.Internal.ContractHelper.TriggerFailure (ContractFailureKind kind, System.String displayMessage, System.String userMessage, System.String conditionText, System.Exception innerException) [0x00052] in /build/mono/src/mono-3.10.0/mcs/class/corlib/System.Diagnostics.Contracts.Internal/ContractHelper.cs:134 
  at System.Diagnostics.Contracts.Contract.ReportFailure (ContractFailureKind kind, System.String userMessage, System.String conditionText, System.Exception innerException) [0x00010] in /build/mono/src/mono-3.10.0/mcs/class/corlib/System.Diagnostics.Contracts/Contract.cs:71 
  at System.Diagnostics.Contracts.Contract.Assume (Boolean condition) [0x00007] in /build/mono/src/mono-3.10.0/mcs/class/corlib/System.Diagnostics.Contracts/Contract.cs:110 
  at ConsoleTest.MainClass.Main (System.String[] args) [0x00003] in /home/dsl11/test/ConsoleTest/ConsoleTest/Program.cs:11 
[ERROR] FATAL UNHANDLED EXCEPTION: System.NotImplementedException: The requested feature is not implemented.
  at System.Environment.FailFast (System.String message) [0x00000] in /build/mono/src/mono-3.10.0/mcs/class/corlib/System/Environment.cs:850 
  at System.Diagnostics.Contracts.Internal.ContractHelper.TriggerFailure (ContractFailureKind kind, System.String displayMessage, System.String userMessage, System.String conditionText, System.Exception innerException) [0x00052] in /build/mono/src/mono-3.10.0/mcs/class/corlib/System.Diagnostics.Contracts.Internal/ContractHelper.cs:134                                                                                      
  at System.Diagnostics.Contracts.Contract.ReportFailure (ContractFailureKind kind, System.String userMessage, System.String conditionText, System.Exception innerException) [0x00010] in /build/mono/src/mono-3.10.0/mcs/class/corlib/System.Diagnostics.Contracts/Contract.cs:71                                                                                                                                                    
  at System.Diagnostics.Contracts.Contract.Assume (Boolean condition) [0x00007] in /build/mono/src/mono-3.10.0/mcs/class/corlib/System.Diagnostics.Contracts/Contract.cs:110                                       
  at ConsoleTest.MainClass.Main (System.String[] args) [0x00003] in /home/dsl11/test/ConsoleTest/ConsoleTest/Program.cs:11
```
Comment 1 Arsen.Shnurkov 2015-03-17 02:42:51 UTC
https://github.com/Microsoft/CodeContracts

Note You need to log in before you can comment on or make changes to this bug.