MinaProtocol / mina

Mina is a cryptocurrency protocol with a constant size blockchain, improving scaling while maintaining decentralization and security.
https://minaprotocol.com
Apache License 2.0
1.99k stars 529 forks source link

mina failing in docker on an M1 Mac #8154

Closed mrdomino closed 2 years ago

mrdomino commented 3 years ago

Following the Docker connecting directions, on the 1.0.2 tag, I ran:

docker run --platform linux/amd64 --name mina -d -p 8302:8302 --restart=always --mount "type=bind,source=$(pwd)/keys,dst=/keys,readonly" --mount "type=bind,source=$(pwd)/.mina-config,dst=/root/.mina-config" -e CODA_PRIVKEY_PASS=redacted minaprotocol/mina-daemon-baked:1.0.2-06f3c5c daemon --block-producer-key /keys/my-wallet --insecure-rest-server --file-log-level Debug --log-level Info --peer-list-url https://storage.googleapis.com/seed-lists/finalfinal2_seeds.txt

Output (stdout only) of docker logs mina:

2021-03-07 20:32:16 UTC [Info] Coda daemon is booting up; built with commit "06f3c5cdeb635b2564fcb2edac4f10db85b93c36" on branch "master"
Using password from environment variable CODA_PRIVKEY_PASS
2021-03-07 20:32:16 UTC [Info] Created daemon lockfile "/root/.mina-config/.mina-lock"
2021-03-07 20:32:16 UTC [Info] Registering async shutdown handler: "Remove daemon lockfile"
2021-03-07 20:32:16 UTC [Info] Daemon will expire at "2024-12-10 14:00:00-07:00"
2021-03-07 20:32:16 UTC [Info] Booting may take several seconds, please wait
2021-03-07 20:32:16 UTC [Info] Reading configuration files $config_files
    config_files: [ "/var/lib/coda/config_06f3c5cd.json", "/root/.mina-config/daemon.json" ]
2021-03-07 20:32:16 UTC [Warn] Could not read configuration from "/root/.mina-config/daemon.json": $error
    error: {
  "commit_id": "06f3c5cdeb635b2564fcb2edac4f10db85b93c36",
  "exn_name": "Async_kernel__Monitor.Error_",
  "exn": [
    "monitor.ml.Error",
    [
      "Unix.Unix_error", "No such file or directory", "open",
      "((filename /root/.mina-config/daemon.json) (mode (O_RDONLY O_CLOEXEC)) (perm 0o0))"
    ],
    [
      "Raised at file \"src/result.ml\", line 158, characters 17-26",
      "Called from file \"src/deferred1.ml\", line 17, characters 40-45",
      "Called from file \"src/job_queue.ml\" (inlined), line 131, characters 2-5",
      "Called from file \"src/job_queue.ml\", line 171, characters 6-47",
      "Caught by monitor try_with_or_error"
    ]
  ]
}
2021-03-07 20:32:16 UTC [Info] Initializing with runtime configuration. Ledger name: "finalfinal2"
2021-03-07 20:32:16 UTC [Info] Using the compiled constraint constants
2021-03-07 20:33:08 UTC [Info] Genesis proof file $path does not exist
    path: "/root/.mina-config/genesis/genesis_proof_1b98f674df5810c972820e86e03d20826bab822993bb9b4f976cfee89a3e6148"
2021-03-07 20:33:08 UTC [Info] Found genesis proof file at $path
    path: "/var/lib/coda/genesis_proof_1b98f674df5810c972820e86e03d20826bab822993bb9b4f976cfee89a3e6148"
2021-03-07 20:33:08 UTC [Info] Loaded ledger from $ledger_file and genesis proof from $proof_file
    ledger_file: "/root/.mina-config/genesis/genesis_ledger_accounts_9cde779ab7752e733ac74c331946ac9c11b689c2b4529e07830b4f63febbb8e0.tar.gz"
    proof_file: "/var/lib/coda/genesis_proof_1b98f674df5810c972820e86e03d20826bab822993bb9b4f976cfee89a3e6148"
2021-03-07 20:33:09 UTC [Info] Using block producer keypair private-key password from environment variable CODA_PRIVKEY_PASS
2021-03-07 20:33:13 UTC [Info] Setting current protocol version to "2.0.0" from compile-time config
2021-03-07 20:33:13 UTC [Fatal] Unhandled top-level exception: $exn
Generating crash report
    exn: {
  "commit_id": "06f3c5cdeb635b2564fcb2edac4f10db85b93c36",
  "sexp": [
    "monitor.ml.Error",
    [
      "Writer error from inner_monitor",
      [
        "Unix.Unix_error", "Broken pipe", "writev_assume_fd_is_nonblocking",
        ""
      ],
      [
        "writer",
        [
          [ "id", "8" ],
          [
            "fd",
            [
              [ "file_descr", "22" ],
              [
                "info",
                [
                  "child process",
                  [
                    "stdin",
                    [ "pid", "93" ],
                    [ "prog", "/proc/26/exe" ],
                    [ "args", [ "parallel-worker" ] ]
                  ],
                  "src/process.ml:62:17"
                ]
              ],
              [ "kind", "Fifo" ],
              [ "supports_nonblock", "true" ],
              [ "have_set_nonblock", "true" ],
              [ "state", [ "Open", "Empty" ] ],
              [
                "watching",
                [ [ "read", "Not_watching" ], [ "write", "Not_watching" ] ]
              ],
              [ "watching_has_changed", "false" ],
              [ "num_active_syscalls", "0" ],
              [ "close_finished", "Empty" ]
            ]
          ],
          [
            "monitor",
            [
              [
                [ "name", [ "id", "151" ] ],
                [ "here", [] ],
                [ "id", "151" ],
                [ "has_seen_error", "false" ],
                [ "is_detached", "false" ]
              ],
              [
                [ "name", "" ],
                [ "here", [] ],
                [ "id", "136" ],
                [ "has_seen_error", "false" ],
                [ "is_detached", "true" ]
              ]
            ]
          ],
          [
            "inner_monitor",
            [
              [
                [ "name", [ "id", "152" ] ],
                [ "here", [] ],
                [ "id", "152" ],
                [ "has_seen_error", "true" ],
                [ "is_detached", "true" ]
              ],
              [
                [ "name", "" ],
                [ "here", [] ],
                [ "id", "136" ],
                [ "has_seen_error", "false" ],
                [ "is_detached", "true" ]
              ]
            ]
          ],
          [ "background_writer_state", "Stopped_permanently" ],
          [ "background_writer_stopped", [ "Full", [] ] ],
          [ "syscall", "Per_cycle" ],
          [ "bytes_received", "349" ],
          [ "bytes_written", "0" ],
          [ "scheduled_bytes", "0" ],
          [ "scheduled_back", "0" ],
          [ "back", "0" ],
          [ "close_state", "Open" ],
          [ "close_finished", "Empty" ],
          [ "close_started", "Empty" ],
          [ "num_producers_to_flush_at_close", "0" ],
          [ "flush_at_shutdown_elt", [ "<opaque>" ] ],
          [
            "check_buffer_age",
            [
              [
                [ "writer", "<opaque>" ],
                [ "maximum_age", "2m" ],
                [ "bytes_received_at_now_minus_maximum_age", "0" ],
                [ "bytes_received_queue", [] ],
                [ "times_received_queue", [] ],
                [ "bytes_seen", "0" ],
                [ "too_old", "Empty" ]
              ]
            ]
          ],
          [ "consumer_left", [ "Full", [] ] ],
          [ "raise_when_consumer_leaves", "true" ],
          [ "open_flags", [ "Full", [ "Ok", [ "wronly" ] ] ] ],
          [ "line_ending", "Unix" ]
        ]
      ]
    ],
    [ "Caught by monitor (id 151)" ]
  ],
  "backtrace": [
    "Raised at file \"src/result.ml\", line 158, characters 17-26",
    "Called from file \"src/deferred1.ml\", line 17, characters 40-45",
    "Called from file \"src/job_queue.ml\" (inlined), line 131, characters 2-5",
    "Called from file \"src/job_queue.ml\", line 171, characters 6-47"
  ]
}
Mina process exited with status code 1
2021-03-07 20:33:13 UTC [Warn] Shutdown before Coda instance was created, not saving a visualization

  ☠  Coda Daemon crashed.
   The Coda Protocol developers would like to know why!

    Please:
      Open an issue:
        <https://github.com/CodaProtocol/coda/issues/new>

      Briefly describe what you were doing and attach the crash report /root/.mina-config/coda_crash_report_2021-03-07_20-33-13.280107.tar.gz

2021-03-07 20:33:26 UTC [Info] Coda daemon is booting up; built with commit "06f3c5cdeb635b2564fcb2edac4f10db85b93c36" on branch "master"
Using password from environment variable CODA_PRIVKEY_PASS
2021-03-07 20:33:26 UTC [Info] Created daemon lockfile "/root/.mina-config/.mina-lock"
2021-03-07 20:33:26 UTC [Info] Registering async shutdown handler: "Remove daemon lockfile"
2021-03-07 20:33:26 UTC [Info] Daemon will expire at "2024-12-10 14:00:00-07:00"
2021-03-07 20:33:26 UTC [Info] Booting may take several seconds, please wait
2021-03-07 20:33:26 UTC [Info] Reading configuration files $config_files
    config_files: [ "/var/lib/coda/config_06f3c5cd.json", "/root/.mina-config/daemon.json" ]
2021-03-07 20:33:26 UTC [Warn] Could not read configuration from "/root/.mina-config/daemon.json": $error
    error: {
  "commit_id": "06f3c5cdeb635b2564fcb2edac4f10db85b93c36",
  "exn_name": "Async_kernel__Monitor.Error_",
  "exn": [
    "monitor.ml.Error",
    [
      "Unix.Unix_error", "No such file or directory", "open",
      "((filename /root/.mina-config/daemon.json) (mode (O_RDONLY O_CLOEXEC)) (perm 0o0))"
    ],
    [
      "Raised at file \"src/result.ml\", line 158, characters 17-26",
      "Called from file \"src/deferred1.ml\", line 17, characters 40-45",
      "Called from file \"src/job_queue.ml\" (inlined), line 131, characters 2-5",
      "Called from file \"src/job_queue.ml\", line 171, characters 6-47",
      "Caught by monitor try_with_or_error"
    ]
  ]
}
2021-03-07 20:33:26 UTC [Info] Initializing with runtime configuration. Ledger name: "finalfinal2"
2021-03-07 20:33:26 UTC [Info] Using the compiled constraint constants
2021-03-07 20:33:27 UTC [Info] Genesis proof file $path does not exist
    path: "/root/.mina-config/genesis/genesis_proof_1b98f674df5810c972820e86e03d20826bab822993bb9b4f976cfee89a3e6148"
2021-03-07 20:33:27 UTC [Info] Found genesis proof file at $path
    path: "/var/lib/coda/genesis_proof_1b98f674df5810c972820e86e03d20826bab822993bb9b4f976cfee89a3e6148"
2021-03-07 20:33:27 UTC [Info] Loaded ledger from $ledger_file and genesis proof from $proof_file
    ledger_file: "/var/lib/coda/genesis_ledger_accounts_9cde779ab7752e733ac74c331946ac9c11b689c2b4529e07830b4f63febbb8e0.tar.gz"
    proof_file: "/var/lib/coda/genesis_proof_1b98f674df5810c972820e86e03d20826bab822993bb9b4f976cfee89a3e6148"
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Mina process exited with status code 139
2021-03-07 20:33:28 UTC [Info] Using block producer keypair private-key password from environment variable CODA_PRIVKEY_PASS
2021-03-07 20:33:40 UTC [Info] Coda daemon is booting up; built with commit "06f3c5cdeb635b2564fcb2edac4f10db85b93c36" on branch "master"
Using password from environment variable CODA_PRIVKEY_PASS
2021-03-07 20:33:40 UTC [Info] Created daemon lockfile "/root/.mina-config/.mina-lock"
2021-03-07 20:33:40 UTC [Info] Registering async shutdown handler: "Remove daemon lockfile"
2021-03-07 20:33:40 UTC [Info] Daemon will expire at "2024-12-10 14:00:00-07:00"
2021-03-07 20:33:40 UTC [Info] Booting may take several seconds, please wait
2021-03-07 20:33:40 UTC [Info] Reading configuration files $config_files
    config_files: [ "/var/lib/coda/config_06f3c5cd.json", "/root/.mina-config/daemon.json" ]
2021-03-07 20:33:40 UTC [Warn] Could not read configuration from "/root/.mina-config/daemon.json": $error
    error: {
  "commit_id": "06f3c5cdeb635b2564fcb2edac4f10db85b93c36",
  "exn_name": "Async_kernel__Monitor.Error_",
  "exn": [
    "monitor.ml.Error",
    [
      "Unix.Unix_error", "No such file or directory", "open",
      "((filename /root/.mina-config/daemon.json) (mode (O_RDONLY O_CLOEXEC)) (perm 0o0))"
    ],
    [
      "Raised at file \"src/result.ml\", line 158, characters 17-26",
      "Called from file \"src/deferred1.ml\", line 17, characters 40-45",
      "Called from file \"src/job_queue.ml\" (inlined), line 131, characters 2-5",
      "Called from file \"src/job_queue.ml\", line 171, characters 6-47",
      "Caught by monitor try_with_or_error"
    ]
  ]
}
2021-03-07 20:33:40 UTC [Info] Initializing with runtime configuration. Ledger name: "finalfinal2"
2021-03-07 20:33:40 UTC [Info] Using the compiled constraint constants
2021-03-07 20:33:42 UTC [Info] Genesis proof file $path does not exist
    path: "/root/.mina-config/genesis/genesis_proof_1b98f674df5810c972820e86e03d20826bab822993bb9b4f976cfee89a3e6148"
2021-03-07 20:33:42 UTC [Info] Found genesis proof file at $path
    path: "/var/lib/coda/genesis_proof_1b98f674df5810c972820e86e03d20826bab822993bb9b4f976cfee89a3e6148"
2021-03-07 20:33:42 UTC [Info] Loaded ledger from $ledger_file and genesis proof from $proof_file
    ledger_file: "/var/lib/coda/genesis_ledger_accounts_9cde779ab7752e733ac74c331946ac9c11b689c2b4529e07830b4f63febbb8e0.tar.gz"
    proof_file: "/var/lib/coda/genesis_proof_1b98f674df5810c972820e86e03d20826bab822993bb9b4f976cfee89a3e6148"
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Mina process exited with status code 139

Crash report: coda_crash_report_2021-03-07_20-33-13.280107.tar.gz

edkim commented 3 years ago

Any progress on this?

I'm having the same problem on my M1 Macbook Air. I've set Docker Desktop to use 8 CPUs and 16GB Memory.

shimkiv commented 2 years ago

https://github.com/MinaProtocol/mina/issues/11745 https://github.com/MinaProtocol/mina/issues/8970#issuecomment-1232790073