Skip to content
This repository was archived by the owner on Feb 2, 2022. It is now read-only.

Commit c51a4f7

Browse files
stishkinstas
andauthored
RESTler agent fails with System.IO.IOException: Interrupted system call when running result analyzer (#174)
Co-authored-by: stas <[email protected]>
1 parent f702eb6 commit c51a4f7

File tree

2 files changed

+12
-18
lines changed

2 files changed

+12
-18
lines changed

src/Agent/RESTlerAgent/RESTlerDriver.fs

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -159,24 +159,20 @@ module private RESTlerInternal =
159159
let getRunExperimentFolder (fuzzingWorkingDirectory) (runStartTime: DateTime) =
160160
let restlerResults = IO.DirectoryInfo(fuzzingWorkingDirectory ++ "RestlerResults")
161161
if restlerResults.Exists then
162-
let experiments = restlerResults.EnumerateDirectories("experiment*")
163-
if Seq.isEmpty experiments then
164-
None
165-
else
166-
try
162+
try
163+
let experiments = restlerResults.EnumerateDirectories("experiment*")
164+
if Seq.isEmpty experiments then
165+
None
166+
else
167167
let startedExperiments =
168168
experiments
169169
|> Seq.filter ( fun e -> e.CreationTimeUtc >= runStartTime)
170170
|> Seq.sortByDescending ( fun e -> e.CreationTimeUtc )
171-
172-
if (Seq.length startedExperiments > 1) then
173-
printfn "There are : %d [%A] that have been create past %A. Using one closest to start time of this run."
174-
(Seq.length startedExperiments) startedExperiments runStartTime
175171
startedExperiments |> Seq.tryHead
176-
with
177-
| :? System.IO.IOException as ioex ->
178-
printfn "Getting experiment folder interrupted due to : %s" ioex.Message
179-
None
172+
with
173+
| :? System.IO.IOException as ioex ->
174+
printfn "Getting experiment folder interrupted due to : %s" ioex.Message
175+
None
180176
else
181177
None
182178

@@ -261,8 +257,7 @@ module private RESTlerInternal =
261257
| None ->
262258
printfn "RESTler engine did not produce exit code"
263259

264-
let engineError = IO.FileInfo(engineStdErr)
265-
if engineError.Length > 0L then
260+
if IO.File.Exists(engineStdErr) then
266261
failwithf "RESTler engined failed. See RESTler error log %s for more information." engineStdErr
267262
}
268263

src/Agent/RaftResultAnalyzer/RaftResultAnalyzerMain.fs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,8 @@ let main argv =
251251
| Some b ->
252252
let bugBuckets = IO.FileInfo b
253253
if bugBuckets.Exists then
254-
let textStream = bugBuckets.OpenText()
255254
try
255+
use textStream = bugBuckets.OpenText()
256256
let rec parseBugBuckets () =
257257
let line = textStream.ReadLine()
258258
if line.StartsWith stopWhenHit then
@@ -265,9 +265,8 @@ let main argv =
265265
parseBugBuckets()
266266

267267
parseBugBuckets()
268-
269268
finally
270-
textStream.Close()
269+
()
271270
else
272271
summary
273272

0 commit comments

Comments
 (0)