Quantcast
Channel: Dafny: An Automatic Program Verifier for Functional Correctness
Viewing all articles
Browse latest Browse all 1106

Created Unassigned: Use of undefined member causes crash [131]

$
0
0
Dafny crashes on the following program:

```
class Cell {
method Test(c: Cell) {
assert c.F();
}
}

predicate F()
```

```
$ dafny Test.dfy
Dafny program verifier version 1.9.6.21116, Copyright (c) 2003-2015, Microsoft.

Unhandled Exception: System.Diagnostics.Contracts.__ContractsRuntime+ContractException: Assertion failed: orig.TraitsObj.Contains(cl)
at System.Diagnostics.Contracts.__ContractsRuntime.TriggerFailure(ContractFailureKind kind, String msg, String userMessage, String conditionTxt, Exception inner) in c:\dafny\Source\Dafny\Triggers\QuantifiersCollector.cs:line 0
at System.Diagnostics.Contracts.__ContractsRuntime.ReportFailure(ContractFailureKind kind, String msg, String conditionTxt, Exception inner) in c:\dafny\Source\Dafny\Triggers\QuantifiersCollector.cs:line 0
at System.Diagnostics.Contracts.__ContractsRuntime.Assert(Boolean condition, String msg, String conditionTxt) in c:\dafny\Source\Dafny\Triggers\QuantifiersCollector.cs:line 0
at Microsoft.Dafny.StaticReceiverExpr..ctor(IToken tok, UserDefinedType t, ClassDecl cl, Boolean isImplicit) in c:\dafny\Source\Dafny\DafnyAst.cs:line 5887
at Microsoft.Dafny.Resolver.ResolveDotSuffix(ExprDotName expr, Boolean isLastNameSegment, List`1 args, ResolveOpts opts, Boolean allowMethodCall) in c:\dafny\Source\Dafny\Resolver.cs:line 9236
at Microsoft.Dafny.Resolver.ResolveApplySuffix(ApplySuffix e, ResolveOpts opts, Boolean allowMethodCall) in c:\dafny\Source\Dafny\Resolver.cs:line 9453
at Microsoft.Dafny.Resolver.ResolveExpression(Expression expr, ResolveOpts opts) in c:\dafny\Source\Dafny\Resolver.cs:line 7702
at Microsoft.Dafny.Resolver.ResolveStatement(Statement stmt, ICodeContext codeContext) in c:\dafny\Source\Dafny\Resolver.cs:line 5594
at Microsoft.Dafny.Resolver.ResolveBlockStatement(BlockStmt blockStmt, ICodeContext codeContext) in c:\dafny\Source\Dafny\Resolver.cs:line 6904
at Microsoft.Dafny.Resolver.ResolveMethod(Method m) in c:\dafny\Source\Dafny\Resolver.cs:line 4595
at Microsoft.Dafny.Resolver.ResolveClassMemberBodies(ClassDecl cl) in c:\dafny\Source\Dafny\Resolver.cs:line 4052
at Microsoft.Dafny.Resolver.ResolveTopLevelDecls_Core(List`1 declarations, Graph`1 datatypeDependencies, Graph`1 codatatypeDependencies) in c:\dafny\Source\Dafny\Resolver.cs:line 1617
at Microsoft.Dafny.Resolver.ResolveModuleDefinition(ModuleDefinition m, ModuleSignature sig) in c:\dafny\Source\Dafny\Resolver.cs:line 725
at Microsoft.Dafny.Resolver.ResolveProgram(Program prog) in c:\dafny\Source\Dafny\Resolver.cs:line 326
at Microsoft.Dafny.Main.ParseCheck(IList`1 fileNames, String programName, ErrorReporter reporter, Program& program) in c:\dafny\Source\Dafny\DafnyMain.cs:line 70
at Microsoft.Dafny.DafnyDriver.ProcessFiles(IList`1 dafnyFileNames, ReadOnlyCollection`1 otherFileNames, ErrorReporter reporter, Boolean lookForSnapshots, String programId) in c:\dafny\Source\DafnyDriver\DafnyDriver.cs:line 174
at Microsoft.Dafny.DafnyDriver.ThreadMain(String[] args) in c:\dafny\Source\DafnyDriver\DafnyDriver.cs:line 106
at Microsoft.Dafny.DafnyDriver.<>c__DisplayClass1.<Main>b__0() in c:\dafny\Source\DafnyDriver\DafnyDriver.cs:line 34
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
```

Rather than crashing, Dafny should report some error about the unknown member `F` in the expression `c.F()`.

Rustan


Viewing all articles
Browse latest Browse all 1106

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>