[Django] #21773: development server sometimes takes a long time to restart after source has been changed

8 views
Skip to first unread message

Django

unread,
Jan 12, 2014, 5:46:22 PM1/12/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------+--------------------
Reporter: clime | Owner: nobody
Type: Bug | Status: new
Component: Uncategorized | Version: 1.6
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------
There are cases when development server takes a long time to restart after
sources have been changed. It happens when an exception has been raised. I
fix the exception and refresh the page but it keeps throwing the same
error. I usually kill the server with ctrl-c to restart it manually. But
then comes another problem when I try to start it, that is: "Error: That
port is already in use." Django server does not release the port when
being killed. Would it be possible to release it so I can start it
immediately?

--
Ticket URL: <https://code.djangoproject.com/ticket/21773>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Jan 20, 2014, 7:12:48 AM1/20/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------+--------------------------------------

Reporter: clime | Owner: nobody
Type: Bug | Status: new
Component: Uncategorized | Version: 1.6
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------------------------
Changes (by clime):

* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0


Comment:

One additional note, after ctrl-c, some thread of the server probably
keeps running for some time because later I get a message about keyboard
interrupt in the console. So that is probably the reason the port is not
immediately available in such situation.

--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:1>

Django

unread,
Jan 20, 2014, 9:05:56 AM1/20/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------+------------------------------------

Reporter: clime | Owner: nobody
Type: Bug | Status: new
Component: Uncategorized | Version: 1.6
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------+------------------------------------
Changes (by mjtamlyn):

* stage: Unreviewed => Accepted


Comment:

I do occasionally see this behaviour. I have no idea what causes it. The
thread continuing to run in the background is very annoying and normally I
have to resort to `kill`

--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:2>

Django

unread,
Jan 20, 2014, 9:19:23 AM1/20/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------+------------------------------------

Reporter: clime | Owner: nobody
Type: Bug | Status: new
Component: Uncategorized | Version: 1.6
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------+------------------------------------

Comment (by aaugustin):

Yes, I've seen that too. Last time I hit this problem, I had an infinite
loop in a view.

--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:3>

Django

unread,
Jan 20, 2014, 12:19:56 PM1/20/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------+------------------------------------

Reporter: clime | Owner: nobody
Type: Bug | Status: new
Component: Uncategorized | Version: 1.6
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------+------------------------------------

Comment (by claudep):

It would be useful to know on which platform(s) and which exact Django
version that behavior arises, as the reload method might be different.

--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:4>

Django

unread,
Jan 27, 2014, 1:08:41 PM1/27/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------+------------------------------------

Reporter: clime | Owner: nobody
Type: Bug | Status: new
Component: Uncategorized | Version: 1.6
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------+------------------------------------

Comment (by clime):

Replying to [comment:4 claudep]:


> It would be useful to know on which platform(s) and which exact Django
version that behavior arises, as the reload method might be different.


The first version of Django I have used was 1.4 and I think I have been
hitting this issue since beginning. I am totally sure that it is in 1.5
and 1.6.

The platform is linux/fedora. By the way I have just encountered this
issue again. This exception was raised:

{{{
Environment:


Request Method: GET
Request URL: http://127.0.0.1:8008/messagethreads/

Django Version: 1.6.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'south',
'grappelli',
'django.contrib.admin',
'django.contrib.admindocs',
'endless_pagination',
'debug_toolbar',
'djangoratings',
'imagekit',
'watson',
'web')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'middleware.UserMemberMiddleware',
'middleware.ProfilerMiddleware',
'middleware.VaryOnAcceptMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'watson.middleware.SearchContextMiddleware')


Traceback:
File "/srv/www/envs/cb/lib/python2.7/site-
packages/django/core/handlers/base.py" in get_response
107. response = middleware_method(request, callback,
callback_args, callback_kwargs)
File "/srv/www/envs/cb/lib/python2.7/site-
packages/debug_toolbar/middleware.py" in process_view
73. response = panel.process_view(request, view_func,
view_args, view_kwargs)
File "/srv/www/envs/cb/lib/python2.7/site-
packages/debug_toolbar/panels/profiling.py" in process_view
133. return self.profiler.runcall(view_func, *args,
**view_kwargs)
File "/usr/lib64/python2.7/cProfile.py" in runcall
149. return func(*args, **kw)
File "/srv/www/envs/cb/lib/python2.7/site-
packages/django/contrib/auth/decorators.py" in _wrapped_view
22. return view_func(request, *args, **kwargs)
File "/srv/www/cb/web/views.py" in messagethread_list
1176. 'model_tag': MessageThread.tag,

Exception Type: NameError at /messagethreads/
Exception Value: global name 'model_tag' is not defined
}}}

I fixed it and then tried to refresh the page repeatedly. Nevertheless, I
was still getting the same exeption. In the end, I lost patience and
decided to restart the server (the usual scenario). After killing it by
ctrl-c, I tried to restart it:

{{{
^C(cb)clime@den /srv/www/cb ./manage.py runserver 127.0.0.1:8008
Validating models...

0 errors found
January 27, 2014 - 18:49:35
Django version 1.6.1, using settings 'cb.settings'
Starting development server at http://127.0.0.1:8008/
Quit the server with CONTROL-C.


Error: That port is already in use.

(cb)clime@den /srv/www/cb $ Exception KeyboardInterrupt in <module
'threading' from '/usr/lib64/python2.7/threading.pyc'> ignored
}}}

The KeyboardInterrupt exception appeared around 10 secs later. Then I
could finally start the server again.

--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:5>

Django

unread,
Apr 10, 2014, 1:26:32 PM4/10/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------------+-------------------------------------

Reporter: clime | Owner: nobody
Type: Bug | Status: new
Component: Core (Management | Version: 1.6
commands) | Resolution:
Severity: Normal | Triage Stage: Accepted
Keywords: | Needs documentation: 0
Has patch: 0 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by timo):

* component: Uncategorized => Core (Management commands)


--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:6>

Django

unread,
May 19, 2014, 2:33:34 PM5/19/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------------+-------------------------------------

Reporter: clime | Owner: nobody
Type: Bug | Status: new
Component: Core (Management | Version: 1.6
commands) | Resolution:
Severity: Normal | Triage Stage: Accepted
Keywords: | Needs documentation: 0
Has patch: 0 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by mardini):

It's probably not a bug in Django, it might be caused by ThreadingMixIn of
Python's SocketServer module, which Django relies on. I didn't investigate
it thoroughly though, so I'm not sure.

--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:7>

Django

unread,
May 19, 2014, 2:59:52 PM5/19/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------------+-------------------------------------
Reporter: clime | Owner: mardini
Type: Bug | Status: assigned

Component: Core (Management | Version: 1.6
commands) | Resolution:
Severity: Normal | Triage Stage: Accepted
Keywords: | Needs documentation: 0
Has patch: 0 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by mardini):

* status: new => assigned
* owner: nobody => mardini


--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:8>

Django

unread,
May 19, 2014, 3:19:11 PM5/19/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------------+-------------------------------------
Reporter: clime | Owner: mardini
Type: Bug | Status: assigned
Component: Core (Management | Version: master

commands) | Resolution:
Severity: Normal | Triage Stage: Accepted
Keywords: | Needs documentation: 0
Has patch: 0 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by mardini):

* version: 1.6 => master


--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:9>

Django

unread,
May 20, 2014, 9:30:15 AM5/20/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------------+-------------------------------------
Reporter: clime | Owner: mardini
Type: Bug | Status: assigned
Component: Core (Management | Version: master
commands) | Resolution:
Severity: Normal | Triage Stage: Accepted
Keywords: | Needs documentation: 0
Has patch: 0 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by mardini):

PR: https://github.com/django/django/pull/2690
Thanks.

--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:10>

Django

unread,
May 22, 2014, 1:26:18 AM5/22/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------------+-------------------------------------
Reporter: clime | Owner: mardini
Type: Bug | Status: assigned
Component: Core (Management | Version: master
commands) | Resolution:
Severity: Normal | Triage Stage: Accepted
Keywords: | Needs documentation: 0
Has patch: 1 | Patch needs improvement: 0

Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by mardini):

* has_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:11>

Django

unread,
Jun 5, 2014, 12:27:11 PM6/5/14
to django-...@googlegroups.com
#21773: development server sometimes takes a long time to restart after source has
been changed
-------------------------------------+-------------------------------------
Reporter: clime | Owner: mardini
Type: Bug | Status: closed

Component: Core (Management | Version: master
commands) | Resolution: fixed

Severity: Normal | Triage Stage: Accepted
Keywords: | Needs documentation: 0
Has patch: 1 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by Tim Graham <timograham@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"4f72e5f03ae803fd9faa1445245c1050ca004526"]:
{{{
#!CommitTicketReference repository=""
revision="4f72e5f03ae803fd9faa1445245c1050ca004526"
Fixed #21773 -- made daemon threads default in the development server.

Thanks clime for the report.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/21773#comment:12>

Reply all
Reply to author
Forward
0 new messages