Stream: General

Topic: sledgeham: exception Io {cause = SysErr ("Access is denied."


view this post on Zulip Chengsong Tan (Sep 11 2024 at 17:26):

Hi,

I got this error when doing some sledgehammer calls on Windows (using Isabelle2023):

Warning: exception Io {cause = SysErr ("Access is denied.", SOME ERROR_ACCESS_DENIED), function = "BinIO.openOut", name =
"prob15193332_1_proof.p"} raised (line 124 of "./basis/BinIO.sml")

has anyone else encountered this?
How do you fix this?

Thanks a lot,
Chengsong

view this post on Zulip Mathias Fleury (Sep 11 2024 at 17:40):

that means that sledgehammer is trying to read a proof file but does not have the rights to do so

view this post on Zulip Chengsong Tan (Sep 12 2024 at 08:15):

Mathias Fleury said:

that means that sledgehammer is trying to read a proof file but does not have the rights to do so

Thank you! But if it created that file itself, what could cause this to happen? Weirdly that after downloading and decompressing Isabelle2023 again to a different folder (Documents instead of Desktop) this issue does not turn up for the same s/h call now......

view this post on Zulip Mathias Fleury (Sep 12 2024 at 08:24):

An antivirus maybe?

view this post on Zulip Mathias Fleury (Sep 12 2024 at 08:25):

the proof files are stored somewhere /tmp or whatever this is called under windows

view this post on Zulip Mathias Fleury (Sep 12 2024 at 08:25):

especially for antivirus, waiting longer can make issues appear and disappear…

view this post on Zulip Chengsong Tan (Sep 12 2024 at 08:29):

Mathias Fleury said:

An antivirus maybe?

I've turned off windows defender and no antivirus other than that installed.

view this post on Zulip Chengsong Tan (Sep 12 2024 at 08:29):

Mathias Fleury said:

especially for antivirus, waiting longer can make issues appear and disappear…

Windows sledgehammer is so buggy.......

view this post on Zulip Chengsong Tan (Sep 12 2024 at 08:30):

Mathias Fleury said:

the proof files are stored somewhere /tmp or whatever this is called under windows

I do lots of s/h calls at the same time. Could it be the case that at some point a certain problem file's name collides with another, such that it cannot be created?

view this post on Zulip Mathias Fleury (Sep 12 2024 at 08:31):

no they cannot collide (unless you use the overlord option)

view this post on Zulip Mathias Fleury (Sep 12 2024 at 08:32):

Chengsong Tan said:

Mathias Fleury said:

especially for antivirus, waiting longer can make issues appear and disappear…

Windows sledgehammer is so buggy.......

No really. Some people encounter a lot of issues, but most are fine (including students)

view this post on Zulip Chengsong Tan (Sep 12 2024 at 08:32):

Mathias Fleury said:

no they cannot collide (unless you use the overlord option)

LOL that's a funny name for an option

view this post on Zulip Chengsong Tan (Sep 12 2024 at 08:33):

(deleted)

view this post on Zulip Chengsong Tan (Sep 12 2024 at 08:34):

Mathias Fleury said:

Chengsong Tan said:

Mathias Fleury said:

especially for antivirus, waiting longer can make issues appear and disappear…

Windows sledgehammer is so buggy.......

No really. Some people encounter a lot of issues, but most are fine (including students)

Not sure if raised in the mailing list/forum, but haven't you noticed that Isabelle 2024 on windows will have e provers hanging around even after sledgehammer has terminated?

view this post on Zulip Chengsong Tan (Sep 12 2024 at 08:34):

which will quickly exhaust system memory after you do a number of s/h calls.

view this post on Zulip Mathias Fleury (Sep 12 2024 at 08:37):

Yeah I saw this one (and my last take is that we still do not know why)

view this post on Zulip Mathias Fleury (Sep 12 2024 at 08:37):

in particular sledgehammer is supposed to kill jobs

view this post on Zulip Mathias Fleury (Sep 12 2024 at 08:38):

so windows for some reason is not killing jobs properly

view this post on Zulip Mathias Fleury (Sep 12 2024 at 08:38):

There are good reasons why most heavy Isabelle users are on linux or mac…

view this post on Zulip Chengsong Tan (Sep 12 2024 at 08:43):

Mathias Fleury said:

so windows for some reason is not killing jobs properly

But could we integrate a stronger killing method into Isabelle2024 on windows? Say taskkill, which does kill properly (which is how I try to kill eprover.exe).

view this post on Zulip Mathias Fleury (Sep 12 2024 at 08:44):

Sure. But for that we need someone who uses windows and bothers enough to try to fix the issue.

view this post on Zulip Chengsong Tan (Sep 12 2024 at 08:59):

Mathias Fleury said:

Sure. But for that we need someone who uses windows and bothers enough to try to fix the issue.

I use Windows. Is this an easy fix? It does sound like one and presumably you can just find the place where the killing API is called in isabelle/ML and do a search+replace?

view this post on Zulip Mathias Fleury (Sep 12 2024 at 09:16):

It will not be as easy as a search and replace.
So:

lemma "(∀(x::nat). P x)"
  sledgehammer[e,verbose]

view this post on Zulip Mathias Fleury (Sep 12 2024 at 09:18):

They issue might go down as far as it is a polyml bug (after unpealing the Isabelle_Threads layer and so on). In that case, it might be end up with a Polyml bug if you can reproduce it without isabelle

view this post on Zulip Chengsong Tan (Sep 13 2024 at 13:48):

Mathias Fleury said:

They issue might go down as far as it is a polyml bug (after unpealing the Isabelle_Threads layer and so on). In that case, it might be end up with a Polyml bug if you can reproduce it without isabelle

Have you ever encountered a polyml bug before?

view this post on Zulip Mathias Fleury (Sep 13 2024 at 13:49):

I have not

view this post on Zulip Mathias Fleury (Sep 13 2024 at 13:49):

but I have debugged weird Windows + Sledgehammer problems before

view this post on Zulip Mathias Fleury (Sep 13 2024 at 13:50):

(where that file you have issues with was empty instead of containing the proof)

view this post on Zulip Chengsong Tan (Sep 13 2024 at 13:51):

Mathias Fleury said:

(where that file you have issues with was empty instead of containing the proof)

What tends to be the cause of such problems?

view this post on Zulip Mathias Fleury (Sep 13 2024 at 13:52):

In that case, there was a weird timing problems. In that case if you waited just a tiny bit longer the file had the content (like if the flush was too slow)

view this post on Zulip Mathias Fleury (Sep 13 2024 at 13:52):

Usually the hard part is to identify what is the issue exactly

view this post on Zulip Mathias Fleury (Sep 13 2024 at 13:53):

or at least finding a way to reproduce it consistently (or consistently enough)

view this post on Zulip irvin (Nov 04 2024 at 00:32):

Mathias Fleury said:

It will not be as easy as a search and replace.
So:

lemma "(∀(x::nat). P x)"
  sledgehammer[e,verbose]

if your interested @Moritz R you could try to fix this.

view this post on Zulip irvin (Nov 04 2024 at 00:34):

note that there appear to have some changes in sledgehammer so base your work on the latest branch.


Last updated: Dec 21 2024 at 12:33 UTC