I recently upgraded Google App Engine to 1.7.7. and have not been able to run any apps locally since. This includes apps that worked before the update and apps I've created since. I haven't come across any other references to this specific problem 'Unable to bind to localhost:0,' so any insights into clearing this hurdle would be much appreciated.

I'm including the log for a new 'Hello World' app I added today. Using Python 2.7 via ActivePython on OS X 10.6.8.

Update: I was able to deploy the 'Hello World' app through GAE Launcher without any issues. I ran the command errinfo -c -n GoogleAppEngineLauncher.app, which uses the included dtrace, and then attempted to run three apps, then closed them. Here is the output [which is somewhat beyond me]:

Try using strace to see what the actual errno from bind is, since GAE is too rude to print it out.
– Ben JacksonApr 13 '13 at 7:13

2

You might also like to check and see if something is already listening on the ports you selected. Specicially 12084
– Tim HoffmanApr 13 '13 at 7:25

@BenJackson I'll (eventually) get strace installed & give that a shot - the tar.gz is giving me trouble right now. @TimHoffman Unless I'm doing it wrong, nothing is listening on that port. I used the lsof command.
– YossarianApr 16 '13 at 6:58

how did you finally can run the helloworld app?
– ZyooApr 24 '13 at 4:49

@Zyoo, I was able to use the Launcher to get the helloworld app to the Google App Engine servers and can view it live online. Still unable to test it locally.
– YossarianJun 18 '13 at 10:46

I attempted to use a different port number when starting the server, and received the same error.
– YossarianApr 17 '13 at 20:43

Are you running just one application with the appengine? If I run my app X and try to run an app Y, even in another port, it return me "google.appengine.tools.devappserver2.wsgi_server.BindError: Unable to bind localhost:8000".
– Mario Jorge ValleApr 18 '13 at 6:55

Unfortunately, I get the same error, even running just one application. I think I'm going to have to uninstall this version, and reinstall an earlier one.
– YossarianApr 18 '13 at 23:06

Did you try to run just in the terminal without the Launcher?
– Mario Jorge ValleApr 19 '13 at 9:32

I have tried to run a few of them in the Terminal and get a variation on this error: Remnants:two-two-test b$ dev_appserver.py main.py ...raise yaml_errors.EventListenerYAMLError(e) google.appengine.api.yaml_errors.EventListenerYAMLError: mapping values are not allowed here in "main.py", line 35, column 22 where line 35 is def render(self, template, **kw): and column 22 is the space between self, and template.
– YossarianJun 18 '13 at 10:48

Ubuntu 14.04 has a lightweight server named "webfs" listening on localhost:8000. Run - sudo netstat -taupen | grep ":8000" - in a terminal to confirm. If it's listening run - sudo killall -q /usr/bin/webfsd - to kill it it. GAE uses ports 8000 and 8080 and won't start if one or both are busy.
On reflection, the webfs daemon can also be turned on and off as a service: sudo service webfs start/stop. However, as both methods require root privileges, they are not easy to automate.
As I start appengine locally from the command line, simply changing the admin port from 8000 to 8001 on startup proved a more considered approach. My command line looks like: google_appengine/dev_appserver.py --admin_port 8001 projects/helloworld/

The last time you ran the app engine command you shut it down with ctrl-z instead (shunt to background) instead of ctrl-c (kill). Restart the terminal and next time you shut down app engine from terminal use ctrl-c and you'll be fine.