wasmCloud/wasmcloud-otp

[BUG] Hot reloading fails to create hotwatch

brooksmtownsend opened this issue · 2 comments

Describe the bug

When attempting to hotwatch a file on disk, I get this message:

16:52:07.234 [info] Starting actor MAVU7CIQWXSTM5AW6OGSVGQMDNTFUOFI7RPOG435O4G7Z75Q2WXEA6DI
16:52:07.294 [error] GenServer :actor_watcher terminating
** (MatchError) no match of right hand side value: :ignore
    (wasmcloud_host 0.57.1) lib/wasmcloud_host/actor_watcher.ex:91: WasmcloudHost.ActorWatcher.handle_call/3
    (stdlib 4.0.1) gen_server.erl:1146: :gen_server.try_handle_call/4
    (stdlib 4.0.1) gen_server.erl:1175: :gen_server.handle_msg/6
    (stdlib 4.0.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message (from #PID<0.2522.0>): {:hotwatch_actor, "/Users/brooks/github.com/wasmcloud/examples/actor/echo-messaging/build/echo_messaging_s.wasm", 1}
16:52:07.295 [error] GenServer #PID<0.2522.0> terminating
** (stop) exited in: GenServer.call(:actor_watcher, {:hotwatch_actor, "/Users/brooks/github.com/wasmcloud/examples/actor/echo-messaging/build/echo_messaging_s.wasm", 1}, 60000)
    ** (EXIT) an exception was raised:
        ** (MatchError) no match of right hand side value: :ignore
            (wasmcloud_host 0.57.1) lib/wasmcloud_host/actor_watcher.ex:91: WasmcloudHost.ActorWatcher.handle_call/3
            (stdlib 4.0.1) gen_server.erl:1146: :gen_server.try_handle_call/4
            (stdlib 4.0.1) gen_server.erl:1175: :gen_server.handle_msg/6
            (stdlib 4.0.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
    (elixir 1.13.4) lib/gen_server.ex:1030: GenServer.call/3
    (wasmcloud_host 0.57.1) lib/wasmcloud_host_web/live/components/start_actor_component.ex:69: StartActorComponent.handle_event/3
    (phoenix_live_view 0.16.4) lib/phoenix_live_view/channel.ex:553: anonymous fn/4 in Phoenix.LiveView.Channel.inner_component_handle_event/4
    (telemetry 0.4.3) /Users/brooks/github.com/wasmcloud/wasmcloud-otp/wasmcloud_host/deps/telemetry/src/telemetry.erl:272: :telemetry.span/3
    (phoenix_live_view 0.16.4) lib/phoenix_live_view/diff.ex:199: Phoenix.LiveView.Diff.write_component/4
    (phoenix_live_view 0.16.4) lib/phoenix_live_view/channel.ex:483: Phoenix.LiveView.Channel.component_handle_event/6
    (stdlib 4.0.1) gen_server.erl:1120: :gen_server.try_dispatch/4
    (stdlib 4.0.1) gen_server.erl:1197: :gen_server.handle_msg/6

This likely has to do with changing return values and the hotwatch module.

To Reproduce

Steps to reproduce the behavior:

  1. Try to hotwatch a signed actor file
  2. See error

Expected behavior

Hotwatch begins and changes to the signed actor refresh it

Environment (please complete the following information)

  • OS: [e.g. Linux, MacOS, Windows] MacOs
  • Arch: [e.g. x86_64, aarch64] aarch64
  • wasmCloud Version: [e.g. 0.51.0] 0.58.2

@vados-cosmonic didn't you fix hotwatching? I believe we can close this issue

I personally haven't had issues with hot-reloading local files -- I don't remember working on hot-watching specifically though? I only worked on size upload limits IIRC...

I vaguely remember something with inotify (possibly having to install it locally) but I don't think I made a change related to that in wasmcloud-otp...