I have a rather puzzling issue.
On my production server I can start my application in production or dev mode, but on the dev machine it will only start in dev mode. If I try and start it in prod mode I get the following in the log:
- - - - -
2014-06-09 23:07:09.512 [info] <0.6.0> Application lager started on node egolf@testhost
2014-06-09 23:07:09.518 [info] <0.59.0> Starting Boss in production mode....
2014-06-09 23:07:09.693 [info] <0.6.0> Application mnesia started on node egolf@testhost
2014-06-09 23:07:09.712 [info] <0.59.0> Starting master services on egolf@testhost
2014-06-09 23:07:09.717 [info] <0.6.0> Application tinymq started on node egolf@testhost
2014-06-09 23:07:09.728 [info] <0.59.0> SSL:[]
2014-06-09 23:07:09.734 [info] <0.6.0> Application boss started on node egolf@testhost
2014-06-09 23:07:09.739 [error] <0.268.0> CRASH REPORT Process <0.268.0> with 0 neighbours exited with reason: no function clause matching filename:join({error,bad_name}, "egolf.routes") line 406 in gen_server:init_it/6 line 328
2014-06-09 23:07:09.830 [error] <0.267.0> Supervisor boss_router_sup had child router_controller started with boss_router_controller:start_link([{application,egolf},{controllers,[]}]) at undefined exit with reason no function clause matching filename:join({error,bad_name}, "egolf.routes") line 406 in context start_error
2014-06-09 23:07:09.919 [error] <0.58.0> Supervisor boss_sup had child boss_web_controller started with boss_web_controller:start_link([{ip,"0.0.0.0"},{port,8001}]) at <0.59.0> exit with reason shutdown in context child_terminated
2014-06-09 23:07:10.008 [error] <0.214.0> Supervisor poolboy_sup had child boss_session_controller started with boss_session_controller:start_link([{size,20},{max_overflow,40},{adapter,boss_session_adapter_mock},{session_exp_time,525600},{session_key,...}]) at undefined exit with reason shutdown in context shutdown_error
- - - - -
Then the app tries to restart with the same result, eventually giving up.
This app has been around a LONG time (>3 years) and to upgrade to new versions of CB I just point my boss.config file to the directory where the new version lives (at elast with the more recent versions of CB. I am conscious of the fact that this is not upgrading the various pieces that live in MY directory (rebar et al) and I have a suspicion that this could be part of the issue, but replacing those with a new set from a newly generated app does no good. Also, there is still the fact that this runs fine on the production server.