Zulip Chat Archive

Stream: general

Topic: Disable timeout


Markus Himmel (Jul 14 2020 at 09:11):

Is there a set_option that disables the (deterministic) timeout message completely and just lets tactics run as long as they want? I tried set_option timeout 0 but that doesn't seem to do the trick.

Johan Commelin (Jul 14 2020 at 09:12):

@Mario Carneiro @Gabriel Ebner ??

Mario Carneiro (Jul 14 2020 at 09:12):

You could set it to something absurd

Markus Himmel (Jul 14 2020 at 09:13):

Mario Carneiro said:

You could set it to something absurd

Actually, I always get the (deterministic) timeout message in the same place, regardless of whether I set set_option timeout 100000000 or set_option timeout 1

Mario Carneiro (Jul 14 2020 at 09:14):

from reading the code it appears that set_option timeout 0 should indeed act as unbounded

Markus Himmel (Jul 14 2020 at 09:15):

That's interesting. The following times out for me:

set_option timeout 0

meta def stupid_tac : tactic unit :=
tactic.trace "Hi" >> stupid_tac

example : true :=
by stupid_tac

Patrick Massot (Jul 14 2020 at 09:17):

How did that end in the new members stream?

Markus Himmel (Jul 14 2020 at 09:18):

Sorry, I am sometimes unsure where to put these advanced-but-probably-trivial questions. Feel free to move the topic to a more fitting stream.

Johan Commelin (Jul 14 2020 at 09:19):

@Markus Himmel #general is for everything you are unsure about (-;

Patrick Massot (Jul 14 2020 at 09:21):

There is another rule that applies here: Markus, you are not a new member.

Notification Bot (Jul 14 2020 at 09:21):

This topic was moved here from #new members > Disable timeout by Mario Carneiro

Mario Carneiro (Jul 14 2020 at 09:22):

FWIW the test has the expected behavior when you run it from console mode (where the default timeout is infinity)

Markus Himmel (Jul 14 2020 at 09:22):

Can you reproduce the timeout from VS Code?

Kenny Lau (Jul 14 2020 at 09:23):

sometimes I post in #new members sarcastically

Mario Carneiro (Jul 14 2020 at 09:23):

although I think it causes a memory leak so you might also be seeing a memory abort

Mario Carneiro (Jul 14 2020 at 09:23):

I can

Mario Carneiro (Jul 14 2020 at 09:23):

Lean doesn't have tail recursion (!) so long loops are basically memory leaks

Markus Himmel (Jul 14 2020 at 09:26):

Okay, but can the memory leak cause the (deterministic) timeout message?

Mario Carneiro (Jul 14 2020 at 09:26):

It can definitely contribute to pushing the "time" along, but it shouldn't matter if the timeout is unlimited

Mario Carneiro (Jul 14 2020 at 09:27):

"time" is actually memory allocations

Mario Carneiro (Jul 14 2020 at 09:41):

On review it looks like that option is read on thread initialization time and on main() but not otherwise

Mario Carneiro (Jul 14 2020 at 09:41):

meaning that you are stuck with whatever timeout is set at the command line

Mario Carneiro (Jul 14 2020 at 09:43):

I believe you can modify the lean server invocation in vscode to include a timeout setting if you want to go that route

Markus Himmel (Jul 14 2020 at 10:10):

I turns out that there is a "Lean timeout" setting in the VS Code settings, and setting this to 0 indeed does the trick.

Markus Himmel (Jul 14 2020 at 12:24):

So can set_option timeout be fixed or should we add a remark to the docstring of the timeout option that says that it doesn't work?

Gabriel Ebner (Jul 20 2020 at 08:16):

This is theoretically fixable. Please file an issue if it is very important to you.


Last updated: Dec 20 2023 at 11:08 UTC