3

I'm trying to start my application in phoenix on localhost, but I'm getting an error from tzdata that prevents the application from starting. I don't have any experience with phoenix, so any help is welcome. Here's the error I get when I try the command mix phoenix.server

Generated contai_server app
[info] Application tzdata exited: exited in: Tzdata.App.start(:normal, [])
    ** (EXIT) an exception was raised:
        ** (MatchError) no match of right hand side value: {:error, {:shutdown, {:failed_to_start_child, Tzdata.EtsHolder, {{:badmatch, {:error, {:read_error, {:file_error, [47, 85, 115, 101, 114, 115, 47, 103, 97, 98, 114, 105, 101, 108, 118, 105, 97, 110, 110, 97, 47, 87, 111, 114, 107, 83, 112, 97, 99, 101, 47, 67, 111, 110, ...], :enoent}}}}, [{Tzdata.EtsHolder, :load_ets_table, 1, [file: 'lib/tzdata/ets_holder.ex', line: 59]}, {Tzdata.EtsHolder, :load_release, 0, [file: 'lib/tzdata/ets_holder.ex', line: 52]}, {Tzdata.EtsHolder, :init, 1, [file: 'lib/tzdata/ets_holder.ex', line: 14]}, {:gen_server, :init_it, 2, [file: 'gen_server.erl', line: 374]}, {:gen_server, :init_it, 6, [file: 'gen_server.erl', line: 342]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 249]}]}}}}
            (tzdata) lib/tzdata/tzdata_app.ex:15: Tzdata.App.start/2
            (kernel) application_master.erl:277: :application_master.start_it_old/4
** (Mix) Could not start application tzdata: exited in: Tzdata.App.start(:normal, [])
    ** (EXIT) an exception was raised:
        ** (MatchError) no match of right hand side value: {:error, {:shutdown, {:failed_to_start_child, Tzdata.EtsHolder, {{:badmatch, {:error, {:read_error, {:file_error, [47, 85, 115, 101, 114, 115, 47, 103, 97, 98, 114, 105, 101, 108, 118, 105, 97, 110, 110, 97, 47, 87, 111, 114, 107, 83, 112, 97, 99, 101, 47, 67, 111, 110, ...], :enoent}}}}, [{Tzdata.EtsHolder, :load_ets_table, 1, [file: 'lib/tzdata/ets_holder.ex', line: 59]}, {Tzdata.EtsHolder, :load_release, 0, [file: 'lib/tzdata/ets_holder.ex', line: 52]}, {Tzdata.EtsHolder, :init, 1, [file: 'lib/tzdata/ets_holder.ex', line: 14]}, {:gen_server, :init_it, 2, [file: 'gen_server.erl', line: 374]}, {:gen_server, :init_it, 6, [file: 'gen_server.erl', line: 342]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 249]}]}}}}
            (tzdata) lib/tzdata/tzdata_app.ex:15: Tzdata.App.start/2
            (kernel) application_master.erl:277: :application_master.start_it_old/4
Paweł Obrok
  • 22,568
  • 8
  • 74
  • 70
  • 1
    The `:enoent` error you are getting is because the file that the tzdata package is trying to read is not there. `enoent` in general is "file or directory not found". Try doing a clean and build again. – Justin Wood Nov 07 '18 at 19:37

1 Answers1

0

I have the same issue with some versions of tzdata. I've narrowed it down to tzdata not working well with directories and subdirectories that contains spaces.

I can't offer a permanent fix but I can offer a workaround: Move your project to a path without any spaces.

kottkrig
  • 86
  • 4