Gitlab init script fails to launch unicorn at boot, succeeds afterwards

Created by: mcdelorme

Hello,

I've installed Gitlab on Ubuntu 10.04 as per the installtion instructions here:

https://github.com/gitlabhq/gitlabhq/blob/stable/doc/installation.md

It seems as though when the provided init script launches at boot, unicorn fails to load the application. If I manually relaunch the init script after I log in, however, it seems to work. I added the "-d" flag to the end of the DAEMON_OPTS line to help diagnose the problem. The following is the unsuccessful output I get at boot time:

Starting Gitlab service:
{:unicorn_options=>
  {:listeners=>[], :config_file=>"/home/gitlab/gitlab/config/unicorn.rb"},
 :app=>
  #<Proc:0x00000001a3d3f0@/home/gitlab/gitlab/vendor/bundle/ruby/1.9.1/gems/unicorn-4.2.0/bin/unicorn_rails:135 (lambda)>,
 :daemonize=>true}
Exception `Errno::EEXIST' at /usr/local/lib/ruby/1.9.1/fileutils.rb:243 - File exists - tmp/cache
Exception `Errno::EEXIST' at /usr/local/lib/ruby/1.9.1/fileutils.rb:243 - File exists - tmp/pids
Exception `Errno::EEXIST' at /usr/local/lib/ruby/1.9.1/fileutils.rb:243 - File exists - tmp/sessions
Exception `Errno::EEXIST' at /usr/local/lib/ruby/1.9.1/fileutils.rb:243 - File exists - tmp/sockets
unicorn.
Exception `EOFError' at /home/gitlab/gitlab/vendor/bundle/ruby/1.9.1/gems/unicorn-4.2.0/lib/unicorn/launcher.rb:46 - end of file reached
master failed to start, check stderr log for details
unicorn.

On the other hand, if I run sudo /etc/init.d/gitlab start after the machine comes up, the application comes up successfully with the following output:

Starting Gitlab service:
{:unicorn_options=>
  {:listeners=>[], :config_file=>"/home/gitlab/gitlab/config/unicorn.rb"},
 :app=>
  #<Proc:0x00000001a3d3f0@/home/gitlab/gitlab/vendor/bundle/ruby/1.9.1/gems/unicorn-4.2.0/bin/unicorn_rails:135 (lambda)>,
 :daemonize=>true}
Exception `Errno::EEXIST' at /usr/local/lib/ruby/1.9.1/fileutils.rb:243 - File exists - tmp/cache
Exception `Errno::EEXIST' at /usr/local/lib/ruby/1.9.1/fileutils.rb:243 - File exists - tmp/pids
Exception `Errno::EEXIST' at /usr/local/lib/ruby/1.9.1/fileutils.rb:243 - File exists - tmp/sessions
Exception `Errno::EEXIST' at /usr/local/lib/ruby/1.9.1/fileutils.rb:243 - File exists - tmp/sockets
unicorn.

Any ideas as to what could be going on?

Thanks, Mike