Skip to content

arc crashes when trying to delete a file with a :skipped transform #280

@OvermindDL1

Description

@OvermindDL1

Environment

  • Elixir version (elixir -v): OTP21 Elixir 1.8.0
  • Arc version (mix deps): 0.11.0
  • Arc dependencies when applicable (mix deps): arc_ecto is 0.11.1
  • Operating system: RedHat

Expected behavior

Deleting a file (specifically done through arc_ecto but ditto when calling to delete it directly) while using a :skip transform should not crash

Actual behavior

Deleting a file (specifically done through arc_ecto but ditto when calling to delete it directly) while using a :skip transform crashes the process and thus the phoenix connection due to the task crashing propagating to it due to trying to delete a nil file. Stacktrace:

2019-05-31:11:50:48.163 [error] Task #PID<0.26883.0> started from #PID<0.26863.0> terminating
** (FunctionClauseError) no function clause matching in IO.chardata_to_string/1
    (elixir) lib/io.ex:461: IO.chardata_to_string(nil)
    (elixir) lib/path.ex:521: Path.do_join/3
    (elixir) lib/path.ex:514: Path.join/2
    (elixir) lib/path.ex:483: Path.join/1
    (ccc_server) lib/arc/storage/fixed_local.ex:31: Arc.Storage.FixedLocal.delete/3
    (elixir) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
    (elixir) lib/task/supervised.ex:35: Task.Supervised.reply/5
    (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Function: #Function<0.46176319/0 in Arc.Actions.Delete.async_delete_version/3>
    Args: []

This makes it impossible to delete those files and is also crashing connections that try it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions