Fixed #23946 -- Fixed runserver crash when socket error contains Unicode chars.

This commit is contained in:
Andriy Sokolovskiy 2014-12-02 16:12:33 +02:00 committed by Tim Graham
parent 0623f4dea4
commit bba545345f
2 changed files with 5 additions and 2 deletions

View File

@ -12,7 +12,7 @@ from django.core.servers.basehttp import run, get_internal_wsgi_application
from django.db import connections, DEFAULT_DB_ALIAS from django.db import connections, DEFAULT_DB_ALIAS
from django.db.migrations.executor import MigrationExecutor from django.db.migrations.executor import MigrationExecutor
from django.utils import autoreload from django.utils import autoreload
from django.utils.encoding import get_system_encoding from django.utils.encoding import get_system_encoding, smart_text
from django.utils import six from django.utils import six
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
@ -148,7 +148,7 @@ class Command(BaseCommand):
try: try:
error_text = ERRORS[e.errno] error_text = ERRORS[e.errno]
except KeyError: except KeyError:
error_text = str(e) error_text = smart_text(e)
self.stderr.write("Error: %s" % error_text) self.stderr.write("Error: %s" % error_text)
# Need to use an OS exit because sys.exit doesn't work in a thread # Need to use an OS exit because sys.exit doesn't work in a thread
os._exit(1) os._exit(1)

View File

@ -98,3 +98,6 @@ Bugfixes
* Fixed a regression in ``contrib.admin`` add/change views which caused some * Fixed a regression in ``contrib.admin`` add/change views which caused some
``ModelAdmin`` methods to receive the incorrect ``obj`` value ``ModelAdmin`` methods to receive the incorrect ``obj`` value
(:ticket:`23934`). (:ticket:`23934`).
* Fixed ``runserver`` crash when socket error message contained Unicode
characters (:ticket:`23946`).