Zulip Chat Archive

Stream: general

Topic: InfoView completely blank


Moritz R (Jan 30 2026 at 12:01):

Since updating to v4.28-rc1, every few seconds in my project the infoview goes blank on me. Reopening it works, but it fails soon again.
image.png

Moritz R (Jan 30 2026 at 12:02):

Holdup, i have some custom css in the Lean4 Infoview: Style setting, maybe that broke. Let me test that

Moritz R (Jan 30 2026 at 12:25):

It is not the css

Moritz R (Jan 30 2026 at 12:25):

:(

Marc Huisinga (Jan 30 2026 at 12:27):

Does the developer console contain any errors? 'Developer: Toggle Developer Tools'

Moritz R (Jan 30 2026 at 12:32):

No new messages from the point where it went grey

Moritz R (Jan 30 2026 at 12:33):

These are the messages i get (which i think are probably unrelated) before. Then i waited ~40seconds and the infoview went gray without any new messages
image.png

Marc Huisinga (Jan 30 2026 at 12:36):

Can you confirm that the issue does not occur now if you go back to a commit of your project before v4.28.0-rc1?

Moritz R (Jan 30 2026 at 12:38):

i will downgrade my version again and update you

Moritz R (Jan 30 2026 at 12:39):

I was using 4.27.0 before

Moritz R (Jan 30 2026 at 12:40):

i wanted to upgrade to something, since 4.27 broke the autocomplete suggestions with modules(always completing to
Meta. ......... .Tactic.assumption instead of assumption)

Moritz R (Jan 30 2026 at 12:40):

Which got fixed at some point

Moritz R (Jan 30 2026 at 12:42):

Oh heck no

Moritz R (Jan 30 2026 at 12:42):

Its still happening

Moritz R (Jan 30 2026 at 12:43):

i also remember that i had no issues yesterday before sleep, when i was already on 4.28-rc1

Marc Huisinga (Jan 30 2026 at 12:43):

Did you update VS Code recently by any chance? :-)

Moritz R (Jan 30 2026 at 12:43):

so its probably not the lean version

Moritz R (Jan 30 2026 at 12:44):

Not actively at least

Moritz R (Jan 30 2026 at 12:47):

image.png
Whatever this menu is, it shows that my system at least didn't do an update this night

Moritz R (Jan 30 2026 at 12:47):

image.png
And this suggests, im on a 1 week old vscode?

Marc Huisinga (Jan 30 2026 at 12:49):

What's your Lean VS Code extension version? Also, does the issue still occur if you disable all non-Lean extensions and fully restart VS Code?

Moritz R (Jan 30 2026 at 12:54):

image.png
It's 1 month? old

Moritz R (Jan 30 2026 at 12:54):

And yes, disabling all the extensions (except "Even Better TOML" which the Lean 4 extension seems to depend on) still produces the gray screen (after a restart of vscode)

Moritz R (Jan 30 2026 at 12:59):

hmm maybe it has to do with trace messages

Moritz R (Jan 30 2026 at 13:00):

i was debugging a looping simp_all and had

set_option trace.Meta.Tactic.simp.unify true
set_option diagnostics true

active.
Now that i have commented them out, it has not yet gone gray yet

Moritz R (Jan 30 2026 at 13:05):

Aha!
I need the looping simp_all call and tracing enabled. Then it happens

Moritz R (Jan 30 2026 at 13:05):

I will try to reduce

Moritz R (Jan 30 2026 at 13:44):

image.png

Moritz R (Jan 30 2026 at 13:45):

Any suggestions on how to create such a high succeeded count with a loop in simp?

Moritz R (Jan 30 2026 at 13:48):

My reduced examples always stop at max : 167, because they stop via max recursion depth, not via timeout at whnf

Moritz R (Jan 30 2026 at 13:49):

Enabling more traces also helps it go faster gray in my application:

set_option trace.Meta.Tactic.simp.unify true
set_option trace.Meta.Tactic.simp.rewrite true
set_option diagnostics true

Moritz R (Jan 30 2026 at 13:49):

I think one just needs to generate an absurd amount of failed to unify or other messages

Moritz R (Jan 30 2026 at 14:37):

I could recreate it

Moritz R (Jan 30 2026 at 14:37):

@Marc Huisinga

Moritz R (Jan 30 2026 at 14:37):

set_option maxRecDepth 20000
set_option trace.Meta.Tactic.simp.unify true
set_option trace.Meta.Tactic.simp.rewrite true
set_option diagnostics true

opaque bar : Nat  Type
opaque foo : Nat  Type

@[simp]
axiom bar_eq_foo : bar x = foo x

@[simp]
axiom foo_eq_bar : foo x = bar x






@[simp 100000]
axiom foo_eq_bar2 : foo (x + 1) = bar x

@[simp 100000]
axiom foo_eq_bar3 : foo (x + 2) = bar x

@[simp 100000]
axiom foo_eq_bar4 : foo (x + 3) = bar x

@[simp 100000]
axiom foo_eq_bar5 : foo (x + 4) = bar x





@[simp 100000]
axiom bar_eq_foo2 : bar (x + 1) = foo x

@[simp 100000]
axiom bar_eq_foo3 : bar (x + 2) = foo x

@[simp 100000]
axiom bar_eq_foo4 : bar (x + 3) = foo x

@[simp 100000]
axiom bar_eq_foo5 : bar (x + 4) = foo x

example : foo 5 = foo 7 := by
  simp_all  -- Loops: foo 5 → bar 5 → foo 5 → ...

Moritz R (Jan 30 2026 at 14:38):

I know im setting recursion depth and diagnostics threshold unreasonably high, but it creates the gray screen error i was getting in my project where i didn't touch any of these settings

Moritz R (Jan 30 2026 at 14:38):

It doesn't recreate on Lean 4 Web tough

Moritz R (Jan 30 2026 at 14:39):

So it might have to do with machine specs

Moritz R (Jan 30 2026 at 14:39):

Can you recreate on your machine?

Moritz R (Jan 30 2026 at 14:39):

You need to put the cursor after the simp_all and wait a bit (<= 3 minutes for me i think)

Moritz R (Jan 30 2026 at 14:43):

Edit: The diagnostics threshold doesn't need to be changed, i deleted that line

Moritz R (Jan 30 2026 at 14:46):

The idea of the example is to create a huge amount of messages, by having the rewrite loop of
bar x -> foo x -> bar x -> foo x ...
so that set_option trace.Meta.Tactic.simp.rewrite true will generate a message for each rewrite.
In between we generate even more messages by having some high priority simp lemmas, that will fail the unification (and set_option trace.Meta.Tactic.simp.unify true will generate a message from this)

Moritz R (Jan 30 2026 at 14:48):

If it doesn't reproduce for you, try adding even more unification-fail-lemmas in each step.


Last updated: Feb 28 2026 at 14:05 UTC