[1.7.x] Fixed #23946 -- Fixed runserver crash when socket error contains Unicode chars.

Backport of bba545345f from master
This commit is contained in:
Andriy Sokolovskiy 2014-12-02 16:12:33 +02:00 committed by Tim Graham
parent ccc30ffe57
commit 2d0d6cadd4
2 changed files with 5 additions and 2 deletions

View File

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

View File

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