This is happening to everyone at my company who is using Django and 
Vagrant. I don't know why. I typically only workin the .py files and so 
hadn't seen this issue before. We're buying VMWare workstation for Vagrant 
and installing it to get around this issue. There has to be a better way. 
I've Googled but to no avail. Anyone hear of anything like this before?

Repro

   1. in vagrant guest vm, 'python manage.py runserver 0.0.0.0:8000'
   2. open page in browser, it works
   3. modify and save any template (.html) file in the django project
   4. runserver doesn't say, "changes detected, restarting"
   5. try to open any page, observe 'waiting for...' forever. page never 
   loads. 
   6. observe that the runserver console is not doing anything. no 
   exception, no activity. just sitting

only fix is to ctrl-c the runserver and runserver again. very annoying. 

using Virtualbox.

I tried "runserver --noreload" to no avail. 

stack trace observed when hitting ctrl-c after hang:

1; args=(1762032096,)
[30/Jul/2014 19:19:47] DEBUG [django.db.backends:79] (0.002) SELECT 
`django_site`.`id`, `django_site`.`domain`, `django_site`.`name` FROM 
`django_site` WHERE `django_site`.`id` = 1 ; args=(1,)
----------------------------------------
Exception happened during processing of request from ('10.0.2.2', 52048)
Traceback (most recent call last):
  File "/usr/lib64/python2.6/SocketServer.py", line 283, in 
_handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib64/python2.6/SocketServer.py", line 309, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib64/python2.6/SocketServer.py", line 322, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib64/python2.6/SocketServer.py", line 617, in __init__
    self.handle()
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/werkzeug/serving.py", 
line 200, in handle
    rv = BaseHTTPRequestHandler.handle(self)
  File "/usr/lib64/python2.6/BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/werkzeug/serving.py", 
line 235, in handle_one_request
    return self.run_wsgi()
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/werkzeug/serving.py", 
line 177, in run_wsgi
    execute(self.server.app)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/werkzeug/serving.py", 
line 167, in execute
    for data in application_iter:
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/werkzeug/debug/__init__.py",
 
line 89, in debug_application
    for item in app_iter:
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/werkzeug/debug/__init__.py",
 
line 88, in debug_application
    app_iter = self.app(environ, start_response)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/contrib/staticfiles/handlers.py",
 
line 67, in __call__
    return self.application(environ, start_response)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/core/handlers/wsgi.py",
 
line 206, in __call__
    response = self.get_response(request)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/core/handlers/base.py",
 
line 196, in get_response
    response = self.handle_uncaught_exception(request, resolver, 
sys.exc_info())
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/core/handlers/base.py",
 
line 231, in handle_uncaught_exception
    return debug.technical_500_response(request, *exc_info)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django_extensions/management/technical_response.py",
 
line 5, in null_technical_500_response
    six.reraise(exc_type, exc_value, tb)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/core/handlers/base.py",
 
line 114, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/contrib/auth/decorators.py",
 
line 21, in _wrapped_view
    if test_func(request.user):
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/contrib/auth/decorators.py",
 
line 47, in <lambda>
    lambda u: u.is_authenticated(),
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/utils/functional.py",
 
line 213, in inner
    self._setup()
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/utils/functional.py",
 
line 298, in _setup
    self._wrapped = self._setupfunc()
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/contrib/auth/middleware.py",
 
line 18, in <lambda>
    request.user = SimpleLazyObject(lambda: get_user(request))
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/contrib/auth/middleware.py",
 
line 10, in get_user
    request._cached_user = auth.get_user(request)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/django/contrib/auth/__init__.py",
 
line 144, in get_user
    user = backend.get_user(user_id) or AnonymousUser()
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/fool_auth_for_django/backends.py",
 
line 13, in get_user
    api_user_info = users_api.user_info_for_username(user_id)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/fool_api_kit/users.py", 
line 12, in user_info_for_username
    return user_info_for_identifier(username)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/fool_api_kit/users.py", 
line 18, in user_info_for_identifier
    json_payload = __user_info_json(identifier)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/fool_api_kit/users.py", 
line 27, in __user_info_json
    r = __user_info_for_identifier_request(identifier)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/fool_api_kit/users.py", 
line 38, in __user_info_for_identifier_request
    return requests_session.get(url, verify=False)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/requests/sessions.py", 
line 347, in get
    return self.request('GET', url, **kwargs)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/requests/sessions.py", 
line 335, in request
    resp = self.send(prep, **send_kwargs)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/requests/sessions.py", 
line 438, in send
    r = adapter.send(request, **kwargs)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/requests/adapters.py", 
line 292, in send
    timeout=timeout
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py",
 
line 428, in urlopen
    body=body, headers=headers)
  File 
"/var/src/venv/infotron/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py",
 
line 290, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib64/python2.6/httplib.py", line 990, in getresponse
    response.begin()
  File "/usr/lib64/python2.6/httplib.py", line 391, in begin
    version, status, reason = self._read_status()
  File "/usr/lib64/python2.6/httplib.py", line 349, in _read_status
    line = self.fp.readline()
  File "/usr/lib64/python2.6/socket.py", line 427, in readline
    data = recv(1)
  File "/usr/lib64/python2.6/ssl.py", line 215, in recv
    return self.read(buflen)
  File "/usr/lib64/python2.6/ssl.py", line 136, in read
    return self._sslobj.read(len)

is it getting stuck in ssl.py?


contents of vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant::Config.run do |config|
  # All Vagrant configuration is done here. The most common configuration
  # options are documented and commented below. For a complete reference,
  # please see the online documentation at vagrantup.com.

  # Every Vagrant virtual environment requires a box to build off of.
  config.vm.box = "squeeze"

  # The url from where the 'config.vm.box' box will be fetched if it
  # doesn't already exist on the user's system.
   config.vm.box_url = "squeeze32-4.1.4.box"

  # Boot with a GUI so you can see the screen. (Default is headless)
  # config.vm.boot_mode = :gui

  # Assign this VM to a host-only network IP, allowing you to access it
  # via the IP. Host-only networks can talk to the host machine as well as
  # any other machines on the same network, but cannot be accessed (through 
this
  # network interface) by any external networks.
  # config.vm.network :hostonly, "192.168.33.10"

  # Assign this VM to a bridged netgwork, allowing you to connect directly 
to a
  # network using the host's network device. This makes the VM appear as 
another
  # physical device on your network.
  # config.vm.network :bridged

  # Forward a port from the guest to the host, which allows for outside
  # computers to access the VM, whereas host only networking does not.
  config.vm.forward_port 8000, 8001
  # Share an additional folder to the guest VM. The first argument is
  # an identifier, the second is the path on the guest to mount the
  # folder, and the third is the path on the host to the actual folder.
  # config.vm.share_folder "v-data", "/vagrant_data", "../data"
  config.vm.share_folder "vagrant-root", "/var/src/infotron", "."
  config.vm.customize ["setextradata", :id, 
"VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
  packages_path = "../packages"
  if File.exists?(packages_path) and File.directory?(packages_path)
    config.vm.share_folder "v-packages", "/var/src/packages", "../packages"
  end
end

any assistance is greatly appreciated. I can't believe this is happening to 
everyone here but not anyone else on the internet. 

For a minute it appeared that this only occurs when I use "runserver_plus" 
instead of "runserver". However, it's now happening in both cases. :-/

Thanks,
spencer

-- 
You received this message because you are subscribed to the Google Groups 
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to