Mix phx.server does not recompile on changes!

I’m experiencing a similar issue after a system crash in the middle of developing my app (the phx.server was running).
The reason for crash is unknown (could be related to a faulty keyboard on my laptop).

Problem

The auto-recompile no longer happens, but manual recompile does see and recompile the changes, then I have to manually refresh the browser to see changes.
Same for all files: .ex, .eex, .leex, .scss

Note: I never changed any config records related to :code_reloader and they seem to be Ok, i.e. true for dev.

The following didn’t help:

  1. Manually updated all deps to latest versions.
  2. Manually removed the folders _build/, deps and node_modules and reinstalled latest dependencies.
  3. Replaced the local repo with freshly cloned from remote and ran mix setup with latest versions for all deps in mix.ex.
  4. Uninstalled Elixir-LS extension for VS Code.

Observation

I couldn’t reproduce this behavior, i.e. live code reloading works fine on a newly created app (with `mix phx.new testapp --live).

My setup:

OS: MX-18.3_x64
Elixir: Elixir 1.11.2 (Erlang/OTP 23)
Editor: VS Code (latest)

I’m not sure what to try next, so any help in fixing this issue is much appreciated!

I just upgraded to MX Linux-19.3 and completely reinstalled Erlang/Elixir, Postgres, inotify-tools.
But still my application doesn’t recompile on file change (for any file).
How do I repair the code reloading? Any ideas @NobbZ @OvermindDL1 ?

p.s: Never changed the settings related to :code_reloader

Looks like a similar issue was discussed here:

and the bug reported here - https://bugs.erlang.org/browse/ERL-933

So, when I tried to reproduce with the fsdebug.erl module suggested by @josevalim and the command:

for i in $(seq 1 20); do echo "koko" >> /tmp/koko; sleep 0.5; done

I get no events caught at all:

❯ erl
Erlang/OTP 23 [erts-11.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Eshell V11.1  (abort with ^G)
1> c("fsdebug").
fsdebug.erl:2: Warning: export_all flag enabled - all functions will be exported
{ok,fsdebug}
2> fsdebug:start_link()
2>  
2> 
2> 
BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo
       (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution

Appreciate any suggestions about possible workarounds!

p.s: My current system:
Linux ... 4.19.0-12-amd64 #1 SMP Debian 4.19.152-1 (2020-10-18) x86_64 GNU/Linux