aws-samples / aws-lambda-elixir-runtime

Example implementation of a custom runtime for running Elixir on AWS Lambda.
MIT No Attribution
127 stars 32 forks source link

Runtime.ExitError: Cannot create directory ‘/var/task/var’: Read-only file system #7

Open ecrmnn opened 5 years ago

ecrmnn commented 5 years ago

I've deployed this to Lambda, but I get an error when invoking the function. It looks like the issue is mkdir. How can I change the path.

CloudWatch

START RequestId: aa29cf83-7b5f-47a4-947d-4f3db5fdf179 Version: $LATEST
++ dirname /var/task/bootstrap
+ BASE=/var/task
+ EXE=/var/task/bin/hello_world_lambda
+ HOME=/tmp
+ export HOME
+ export RELEASE_READ_ONLY=true
+ RELEASE_READ_ONLY=true
+ export LD_LIBRARY_PATH=/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib:/opt/lib:/var/task/lib/elixir_runtime-0.1.0/priv
+ LD_LIBRARY_PATH=/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib:/opt/lib:/var/task/lib/elixir_runtime-0.1.0/priv
+ /var/task/bin/hello_world_lambda foreground
mkdir: cannot create directory ‘/var/task/var’: Read-only file system
END RequestId: aa29cf83-7b5f-47a4-947d-4f3db5fdf179
REPORT RequestId: aa29cf83-7b5f-47a4-947d-4f3db5fdf179  Duration: 315.32 ms Billed Duration: 400 ms     Memory Size: 128 MB Max Memory Used: 13 MB  
RequestId: aa29cf83-7b5f-47a4-947d-4f3db5fdf179 Error: Runtime exited with error: exit status 1
Runtime.ExitError

Invoking from CLI

aws lambda invoke \
    --function-name HelloWorld \
    --region eu-north-1 \
    --log-type Tail \
    --payload '{"msg": "a fake request"}' \
    outputfile.txt

output.txt

> cat outputfile.txt

{"errorType":"Runtime.ExitError","errorMessage":"RequestId: 403e99d9-896d-4541-a913-0c45ac7debac Error: Runtime exited with error: exit status 1"}%

hello_world_lambda.ex

defmodule HelloWorldLambda do
  @moduledoc """
  Documentation for HelloWorldLambda.
  """

  @doc """
  Hello world.

  ## Examples

      iex> HelloWorldLambda.hello()
      :world

  """
  def hello(request, context) do
    """
    Hello World!
    Request: #{Kernel.inspect(request)}
    Context: #{Kernel.inspect(context)}
    """
    |> IO.puts()

    :ok
  end
end
erald14 commented 3 years ago

did you find out whats happening?

ecrmnn commented 3 years ago

Unfortunately not