Le 25 juin 2012 à 15:02, Manuel Palenciano Guerrero a écrit : > Hello there, > > I seem to have a problem with unix-sockets, and cannot see many people with > the same situation when googling. > > The problem is when upgrading (USR2 + QUIT) our applications. I get the > following error very frequently but not always. > > E, [2012-06-21T11:40:46.386486 #29401] ERROR -- : adding listener failed > addr=/tmp/unicorn.app.sock (in use) > E, [2012-06-21T11:40:46.386669 #29401] ERROR -- : retrying in 0.5 seconds (4 > tries left) > E, [2012-06-21T11:40:46.887724 #29401] ERROR -- : adding listener failed > addr=/tmp/unicorn.app.sock (in use) > E, [2012-06-21T11:40:46.887832 #29401] ERROR -- : retrying in 0.5 seconds (3 > tries left) > E, [2012-06-21T11:40:47.388813 #29401] ERROR -- : adding listener failed > addr=/tmp/unicorn.app.sock (in use) > E, [2012-06-21T11:40:47.388894 #29401] ERROR -- : retrying in 0.5 seconds (2 > tries left) > E, [2012-06-21T11:40:47.889878 #29401] ERROR -- : adding listener failed > addr=/tmp/unicorn.app.sock (in use) > E, [2012-06-21T11:40:47.889957 #29401] ERROR -- : retrying in 0.5 seconds (1 > tries left) > E, [2012-06-21T11:40:48.390939 #29401] ERROR -- : adding listener failed > addr=/tmp/unicorn.app.sock (in use) > E, [2012-06-21T11:40:48.391020 #29401] ERROR -- : retrying in 0.5 seconds (0 > tries left) > E, [2012-06-21T11:40:48.892002 #29401] ERROR -- : adding listener failed > addr=/tmp/unicorn.app.sock (in use) > /var/www/app/staging/shared/bundle/ruby/1.8/gems/unicorn-4.3.0/lib/unicorn/socket_helper.rb:140:in > `initialize': Address already in use - /tmp/unicorn.app.sock > (Errno::EADDRINUSE) > > ...and the only way around that I know is stoping and starting the app, even > in production. > > We have preload_app => true, and ONLY listening on unix-sockets, no > TCP-sockets. > > The only solution I can think of would we switching to TCP, but would there > be a reason on doing such ? > > Is this happening to any body else ? and would you know a possible solution ?
Hi, I've had the same issue, in the exact same context, and I've found found a fix. As I was starting to play with Unicorn, I copied/pasted an init script and an Unicorn config script separately. They were both trying to do a rolling upgrade and obviously one of them failed. I've remove the rolling upgrade from the init script and do it only in the "before_fork" part of my Unicorn script. You can find my configuration and init scripts in this Gist : https://gist.github.com/2988648 I hope this helps you. Jérémy Lecour Conception et développement d'applications web 06 22 43 88 94 - http://jeremy.wordpress.com - http://twitter.com/jlecour _______________________________________________ Unicorn mailing list - [email protected] http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying
