Error error creating a new machine machine: failed to launch VM: Mounts source volume "...." is in the wrong region ("sin" != "iad")

Hi

I have an app using Remix, then I try to deploy it here. I am using Github Action to deploy my app.
Every time I run the deployment action, I got this message (as in my title).

Does anyone know why this happens?

Thanks.

Warmly,
Hani H.

Hi!

If you’re comfortable sharing could you post your application fly.toml and the github action config itself?

Also the outputs of -

fly status 

fly regions list

fly volumes list

These may be useful in tracking down the issue.


If you look in fly.toml you should see primary_region configured -

primary_region = "sin"

From discussing this internally it sounds like this entry may not be present.

If this is indeed missing could you try adding this in. It should be a top-level entry in the config file. Alongside app = "aaa-bbb-111" etc.

2 Likes

Ah maybe.

Thanks for the answer, team :smiley:

1 Like

This is my fly.toml looks like right now,

app = "hanihusam-com"
primary_region = "sin"

kill_signal = "SIGINT"
kill_timeout = 5
processes = []

[experimental]
  allowed_public_ports = []
  auto_rollback = true
  cmd = "start.sh"
  entrypoint = "sh"

[mounts]
  source = "data"
  destination = "/data"

[[services]]
  internal_port = 8080
  processes = ["app"]
  protocol = "tcp"
  script_checks = []

  [services.concurrency]
    hard_limit = 25
    soft_limit = 20
    type = "connections"

  [[services.ports]]
    handlers = ["http"]
    port = 80
    force_https = true

  [[services.ports]]
    handlers = ["tls", "http"]
    port = 443

  [[services.tcp_checks]]
    grace_period = "1s"
    interval = "15s"
    restart_limit = 0
    timeout = "2s"

  [[services.http_checks]]
    interval = "10s"
    grace_period = "5s"
    method = "get"
    path = "/healthcheck"
    protocol = "http"
    timeout = "2s"
    tls_skip_verify = false
    [services.http_checks.headers]
fly status

Screenshot 2023-04-02 at 16.44.00

With the current fly.tomlI still got this error,

Hi,

Apologies for the delay getting back to you.
This looks like a different error to what you were originally seeing. It looks like the deploy is failing once it has started (it wasn’t even starting previously due to region issue).

Do you see anything in the logs on the dashboard for the app (under Monitoring tab)?
Or via the cli with fly logs

I got this log from email,

Out of memory: Killed process 539 (node) total-vm:11113532kB, anon-rss:112832kB, file-rss:0kB, shmem-rss:0kB, UID:0 pgtables:1208kB oom_score_adj:0

It looks like your machine is resource constrained right now due to its size. It does not have enough memory to keep your app running and is regularly restarting (due to “Out of memory” error).

Check the docs here for options on how to scale memory up -

Be sure to check out the notes at the top of that page around Apps V2 vs Apps V1. Things are moving rapidly around Apps V2 so be sure to check the docs for recent changes/updates.

Also help via the cli commands is useful for checking options etc. -

fly machine update --help

Preset sizes (cpu and memory) are listed here -

Hope this helps and let us know if you have any issues scaling your app up.

Now, I already update the machine (I guess). But I got this error now,

2023-04-04T09:51:13.402 health[3287dd0a0d9785] sin [error] Health check on port 8080 has failed. Your app is not responding properly. Services exposed on ports [80, 443] will have intermittent failures until the health check passes.

Looking at your app config you have a healthcheck configured on the url -

/healthcheck

This is configured in this section of fly.toml -

  [[services.http_checks]]
  grace_period = "5s"
  interval = "10s"
  method = "get"
  path = "/healthcheck"
  protocol = "http"
  timeout = "2s"
  tls_skip_verify = false

For this to work you should ensure you have a corresponding endpoint in your app for this url.

Alternatively you can update your healthcheck in the config to / or some other known good endpoint that Fly.io can use to determine if your app is healthy or not.

Thanks a lot, team! :smiley:

It’s resolved now.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.