From bba545345f46f09245799f7ae0a22177a84eba71 Mon Sep 17 00:00:00 2001 From: Andriy Sokolovskiy Date: Tue, 2 Dec 2014 16:12:33 +0200 Subject: [PATCH] Fixed #23946 -- Fixed runserver crash when socket error contains Unicode chars. --- django/core/management/commands/runserver.py | 4 ++-- docs/releases/1.7.2.txt | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/django/core/management/commands/runserver.py b/django/core/management/commands/runserver.py index 28b52e31ac..f29204bd1d 100644 --- a/django/core/management/commands/runserver.py +++ b/django/core/management/commands/runserver.py @@ -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.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 @@ -148,7 +148,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) diff --git a/docs/releases/1.7.2.txt b/docs/releases/1.7.2.txt index 85ebd1a6dc..39e89a25d1 100644 --- a/docs/releases/1.7.2.txt +++ b/docs/releases/1.7.2.txt @@ -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`).