@@ -20,6 +20,7 @@ import viper.silver.reporter._
2020import viper .silver .verifier .{DefaultDependency => SilDefaultDependency , Failure => SilFailure , Success => SilSuccess , TimeoutOccurred => SilTimeoutOccurred , VerificationResult => SilVerificationResult , Verifier => SilVerifier }
2121import viper .silicon .common .config .Version
2222import viper .silicon .interfaces .Failure
23+ import viper .silicon .logger .SymbExLogger
2324import viper .silicon .reporting .condenseToViperResult
2425import viper .silicon .verifier .DefaultMasterVerifier
2526import viper .silver .cfg .silver .SilverCfg
@@ -206,8 +207,14 @@ class Silicon(val reporter: Reporter, private var debugInfo: Seq[(String, Any)]
206207
207208 result = Some (condenseToViperResult(failures))
208209 } catch { /* Catch exceptions thrown during verification (errors are not caught) */
209- case _ : TimeoutException =>
210+ case _ : TimeoutException => {
211+ // verification was interrupted, therefore close the current member's scope:
212+ SymbExLogger .currentLog().closeMemberScope()
213+ if (config.ideModeAdvanced()) {
214+ reporter report ExecutionTraceReport (SymbExLogger .memberList, List (), List ())
215+ }
210216 result = Some (SilFailure (SilTimeoutOccurred (config.timeout(), " second(s)" ) :: Nil ))
217+ }
211218 case exception : Exception if ! config.disableCatchingExceptions() =>
212219 config.assertVerified() // Raises an exception itself, if it fails
213220
0 commit comments