I could use some help trying to track down where this might be coming from. My DB admin is telling me that he doesn’t see anything on his side and I’ve had the same code work on a different box. The main differences between the two boxes (one where it works and one where it crashes) are: a) using Elixir 1.3.2 on the box where it works, using Elixir 1.4.1 on the box where it crashes and b) the box where it crashes is newer and less busy.
I’m using some fairly recent commits of Ecto and Postgrex - I can supply the commit SHAs if that would help. db_connection is at 1.1.0.
This is the stack trace of the crasher:
=SUPERVISOR REPORT==== 17-Feb-2017::08:15:14 ===
Supervisor: {local,loader_supervisor}
Context: child_terminated
Reason: {#{'__exception__' => true,
'__struct__' => 'Elixir.DBConnection.ConnectionError',
message => <<"tcp recv: closed">>},
[{'Elixir.Ecto.Adapters.Postgres.Connection',execute,4,
[{file,"lib/ecto/adapters/postgres/connection.ex"},
{line,108}]},
{'Elixir.Ecto.Adapters.SQL',sql_call,6,
[{file,"lib/ecto/adapters/sql.ex"},{line,243}]},
{'Elixir.Ecto.Adapters.SQL',execute_or_reset,7,
[{file,"lib/ecto/adapters/sql.ex"},{line,441}]},
{'Elixir.Ecto.Repo.Queryable',execute,5,
[{file,"lib/ecto/repo/queryable.ex"},{line,130}]},
{'Elixir.Ecto.Repo.Queryable',all,4,
[{file,"lib/ecto/repo/queryable.ex"},{line,35}]},
{'Elixir.Ecto.Repo.Preloader',fetch_query,8,
[{file,"lib/ecto/repo/preloader.ex"},{line,171}]},
{'Elixir.Ecto.Repo.Preloader',preload_assoc,10,
[{file,"lib/ecto/repo/preloader.ex"},{line,111}]},
{'Elixir.Task.Supervised',do_apply,2,
[{file,"lib/task/supervised.ex"},{line,85}]}]}