STH-Dev / linux-bench

STH Linux benchmarking script
http://linux-bench.com
26 stars 14 forks source link

Django Error #76

Open n8twj opened 4 years ago

n8twj commented 4 years ago

I cloned the repository today and ran linux-bench-minimal.sh. Everything ran as expected until the very end when a Django error was presented.

`

NameError at /upload_file/

global name 'codecs' is not defined
Request Method: POST
Request URL: http://linux-bench.com/upload_file/
Django Version: 1.9.5
Exception Type: NameError
Exception Value:
global name 'codecs' is not defined
Exception Location: ./linuxbench/views.py in upload_file, line 182
Python Executable: /usr/local/bin/uwsgi
Python Version: 2.7.6
Python Path:
['.',
 '',
 '/home/linux-bench/django/venv/lib/python2.7',
 '/home/linux-bench/django/venv/lib/python2.7/plat-x86_64-linux-gnu',
 '/home/linux-bench/django/venv/lib/python2.7/lib-tk',
 '/home/linux-bench/django/venv/lib/python2.7/lib-old',
 '/home/linux-bench/django/venv/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/home/linux-bench/django/venv/local/lib/python2.7/site-packages',
 '/home/linux-bench/django/venv/lib/python2.7/site-packages']
Server time: Wed, 4 Dec 2019 15:59:02 +0000

Traceback Switch to copy-and-paste view

  • /home/linux-bench/django/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in get_response
    1.                         break
    2.             if response is None:
    3.                 wrapped_callback = self.make_view_atomic(callback)
    4.                 try:
    5.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
    6.                 except Exception as e:
    1.                     response = self.process_exception_by_middleware(e, request)
      ...
    1.             # Complain if the view returned None (a common error).
    2.             if response is None:
    3.                 if isinstance(callback, types.FunctionType):    # FBV
    4.                     view_name = callback.__name__
    5.                 else:                                           # CBV
    100 147k 0 13886 100 133k 28968 279k --:--:-- --:--:-- --:--:-- 279k
    Variable Value
    e
    NameError("global name 'codecs' is not defined",)
    callback_args
    ()
    resolver_match
    ResolverMatch(func=linuxbench.views.upload_file, args=(), kwargs={}, url_name=upload_file, app_names=[], namespaces=['linuxbench'])
    response_is_rendered
    False
    middleware_method
    <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fe332f4a550>>
    self
    <django.core.handlers.wsgi.WSGIHandler object at 0x7fe334357c10>
    request
    <WSGIRequest: POST '/upload_file/'>
    callback
    <function upload_file at 0x7fe332e8f7d0>
    wrapped_callback
    <function upload_file at 0x7fe332e8f7d0>
    resolver
    <RegexURLResolver 'mysite.urls' (None:None) ^/>
    callback_kwargs
    {}
    response
    None
    urlconf
    'mysite.urls'
  • /home/linux-bench/django/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in get_response
    1.                     response = middleware_method(request, callback, callback_args, callback_kwargs)
    2.                     if response:
    3.                         break
    4.             if response is None:
    5.                 wrapped_callback = self.make_view_atomic(callback)
    6.                 try:
    1.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
      ...
    1.                 except Exception as e:
    2.                     response = self.process_exception_by_middleware(e, request)
    3.             # Complain if the view returned None (a common error).
    4.             if response is None:
    5.                 if isinstance(callback, types.FunctionType):    # FBV
    Variable Value
    e
    NameError("global name 'codecs' is not defined",)
    callback_args
    ()
    resolver_match
    ResolverMatch(func=linuxbench.views.upload_file, args=(), kwargs={}, url_name=upload_file, app_names=[], namespaces=['linuxbench'])
    response_is_rendered
    False
    middleware_method
    <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fe332f4a550>>
    self
    <django.core.handlers.wsgi.WSGIHandler object at 0x7fe334357c10>
    request
    <WSGIRequest: POST '/upload_file/'>
    callback
    <function upload_file at 0x7fe332e8f7d0>
    wrapped_callback
    <function upload_file at 0x7fe332e8f7d0>
    resolver
    <RegexURLResolver 'mysite.urls' (None:None) ^/>
    callback_kwargs
    {}
    response
    None
    urlconf
    'mysite.urls'
  • /home/linux-bench/django/venv/local/lib/python2.7/site-packages/django/views/decorators/csrf.py in wrapped_view
    1.     """
    2.     Marks a view function as being exempt from the CSRF view protection.
    3.     """
    4.     # We could just do view_func.csrf_exempt = True, but decorators
    5.     # are nicer if they don't have side-effects, so we return a new
    6.     # function.
    7.     def wrapped_view(*args, **kwargs):
    1.         return view_func(*args, **kwargs)
      ...
    1.     wrapped_view.csrf_exempt = True
    2.     return wraps(view_func, assigned=available_attrs(view_func))(wrapped_view)
    Variable Value
    args
    (<WSGIRequest: POST '/upload_file/'>,)
    view_func
    <function upload_file at 0x7fe332e8f758>
    kwargs
    {}
  • ./linuxbench/views.py in upload_file
    1.     if request.method == 'POST':
    2.         form = UploadFileForm(request.POST, request.FILES)
    3.         if form.is_valid():
    4.             # lets save this file.
    5.             filename = str(request.FILES['file']) # received file name
    6.             print "uploading " + filename
    1.             utf8_file = codecs.EncodedFile(request.FILES['file'],"utf-8")
      ...
    1.             filename = saveFileToDisk(utf8_file,utf8_file.readlines())
    2.             context = parse_data(filename,utf8_file.readlines())
    3.             return HttpResponseRedirect('/')
    4.     else:
    5.         form = UploadFileForm()
    6.     return render_to_response('upload.html', {'form': form},  RequestContext(request))
    Variable Value
    request
    <WSGIRequest: POST '/upload_file/'>
    form
    <UploadFileForm bound=True, valid=True, fields=(file)>
    filename
    'linux-bench12.19_qss-freeswitch_2019_1204_145129.log'


Request information

GET

No GET data

POST

Variable Value
press
u'Upload'

FILES

Variable Value
file
<InMemoryUploadedFile: linux-bench12.19_qss-freeswitch_2019_1204_145129.log (application/octet-stream)>

No cookie data

META

Variable Value
wsgi.multiprocess
True
SCRIPT_NAME
u''
REQUEST_METHOD
'POST'
PATH_INFO
u'/upload_file/'
SERVER_PROTOCOL
'HTTP/1.1'
QUERY_STRING
''
UWSGI_SCHEME
'http'
CONTENT_LENGTH
'137198'
HTTP_USER_AGENT
'curl/7.52.1'
SERVER_NAME
'linux-bench.com'
REMOTE_ADDR
'167.99.0.54'
wsgi.url_scheme
'http'
SERVER_PORT
'80'
uwsgi.node
'linux-bench'
DOCUMENT_ROOT
'/usr/share/nginx/html'
HTTP_CONTENT_LENGTH
'137198'
wsgi.input
<uwsgi._Input object at 0x7fe332e273c0>
HTTP_HOST
'linux-bench.com'
wsgi.multithread
False
HTTP_EXPECT
'100-continue'
HTTP_CONTENT_TYPE
'multipart/form-data; boundary=------------------------366df70cc1e5cddd'
REQUEST_URI
'/upload_file/'
HTTP_ACCEPT
'*/*'
wsgi.version
(1, 0)
wsgi.run_once
False
wsgi.errors
<open file 'wsgi_errors', mode 'w' at 0x7fe333046f60>
REMOTE_PORT
'43034'
uwsgi.version
'2.0.10'
CONTENT_TYPE
'multipart/form-data; boundary=------------------------366df70cc1e5cddd'
wsgi.file_wrapper
''

Settings

Using settings module mysite.settings

100 193k 0 61033 100 133k 99640 218k --:--:-- --:--:-- --:--:-- 218k r>
Setting Value
SECURE_BROWSER_XSS_FILTER
False
USE_X_FORWARDED_PORT
False
USE_THOUSAND_SEPARATOR
False
CSRF_COOKIE_SECURE
False
LANGUAGE_CODE
'en-us'
ROOT_URLCONF
'mysite.urls'
MANAGERS
[]
BASE_DIR
'/home/linux-bench/django/mysite'
SILENCED_SYSTEM_CHECKS
[]
DEFAULT_CHARSET
'utf-8'
SESSION_SERIALIZER
'django.contrib.sessions.serializers.JSONSerializer'
STATIC_ROOT
'/Users/swillett/Desktop/django/mysite/mysite/static/'
ALLOWED_HOSTS
[]
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
EMAIL_SUBJECT_PREFIX
'[Django] '
SERVER_EMAIL
'root@localhost'
SECURE_HSTS_SECONDS
0
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
SESSION_CACHE_ALIAS
'default'
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_NAME
'sessionid'
TIME_INPUT_FORMATS
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
SECURE_REDIRECT_EXEMPT
[]
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.sqlite3',
             'HOST': '',
             'NAME': '/home/linux-bench/django/mysite/db.sqlite3',
             'OPTIONS': {},
             'PASSWORD': u'********************',
             'PORT': '',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': ''}}
EMAIL_SSL_KEYFILE
u'********************'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
['django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
DEFAULT_CONTENT_TYPE
'text/html'
APPEND_SLASH
True
LOCALE_PATHS
[]
DATABASE_ROUTERS
[]
DEFAULT_TABLESPACE
''
YEAR_MONTH_FORMAT
'F Y'
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
             'LOCATION': 'my_cache_table'}}
SESSION_COOKIE_PATH
'/'
EMAIL_HOST_PASSWORD
u'********************'
SECURE_CONTENT_TYPE_NOSNIFF
False
MIDDLEWARE_CLASSES
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.cache.UpdateCacheMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.cache.FetchFromCacheMiddleware']
USE_I18N
True
THOUSAND_SEPARATOR
','
SECRET_KEY
u'********************'
LANGUAGE_COOKIE_NAME
'django_language'
DEFAULT_INDEX_TABLESPACE
''
LOGGING_CONFIG
'logging.config.dictConfig'
TEMPLATE_LOADERS
['django.template.loaders.filesystem.Loader',
 'django.template.loaders.app_directories.Loader']
FIRST_DAY_OF_WEEK
0
WSGI_APPLICATION
'mysite.wsgi.application'
TEMPLATE_DEBUG
False
X_FRAME_OPTIONS
'SAMEORIGIN'
CSRF_COOKIE_NAME
'csrftoken'
FORCE_SCRIPT_NAME
None
USE_X_FORWARDED_HOST
False
CSRF_HEADER_NAME
'HTTP_X_CSRFTOKEN'
EMAIL_TIMEOUT
None
SECURE_SSL_HOST
None
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SESSION_COOKIE_SECURE
False
CSRF_COOKIE_DOMAIN
None
FILE_CHARSET
'utf-8'
DEBUG
True
CSRF_TRUSTED_ORIGINS
[]
LANGUAGE_COOKIE_DOMAIN
None
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
INSTALLED_APPS
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'linuxbench',
 'bootstrap3']
LANGUAGES
[('af', 'Afrikaans'),
 ('ar', 'Arabic'),
 ('ast', 'Asturian'),
 ('az', 'Azerbaijani'),
 ('bg', 'Bulgarian'),
 ('be', 'Belarusian'),
 ('bn', 'Bengali'),
 ('br', 'Breton'),
 ('bs', 'Bosnian'),
 ('ca', 'Catalan'),
 ('cs', 'Czech'),
 ('cy', 'Welsh'),
 ('da', 'Danish'),
 ('de', 'German'),
 ('el', 'Greek'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),
 ('eo', 'Esperanto'),
 ('es', 'Spanish'),
 ('es-ar', 'Argentinian Spanish'),
 ('es-co', 'Colombian Spanish'),
 ('es-mx', 'Mexican Spanish'),
 ('es-ni', 'Nicaraguan Spanish'),
 ('es-ve', 'Venezuelan Spanish'),
 ('et', 'Estonian'),
 ('eu', 'Basque'),
 ('fa', 'Persian'),
 ('fi', 'Finnish'),
 ('fr', 'French'),
 ('fy', 'Frisian'),
 ('ga', 'Irish'),
 ('gd', 'Scottish Gaelic'),
 ('gl', 'Galician'),
 ('he', 'Hebrew'),
 ('hi', 'Hindi'),
 ('hr', 'Croatian'),
 ('hu', 'Hungarian'),
 ('ia', 'Interlingua'),
 ('id', 'Indonesian'),
 ('io', 'Ido'),
 ('is', 'Icelandic'),
 ('it', 'Italian'),
 ('ja', 'Japanese'),
 ('ka', 'Georgian'),
 ('kk', 'Kazakh'),
 ('km', 'Khmer'),
 ('kn', 'Kannada'),
 ('ko', 'Korean'),
 ('lb', 'Luxembourgish'),
 ('lt', 'Lithuanian'),
 ('lv', 'Latvian'),
 ('mk', 'Macedonian'),
 ('ml', 'Malayalam'),
 ('mn', 'Mongolian'),
 ('mr', 'Marathi'),
 ('my', 'Burmese'),
 ('nb', 'Norwegian Bokmal'),
 ('ne', 'Nepali'),
 ('nl', 'Dutch'),
 ('nn', 'Norwegian Nynorsk'),
 ('os', 'Ossetic'),
 ('pa', 'Punjabi'),
 ('pl', 'Polish'),
 ('pt', 'Portuguese'),
 ('pt-br', 'Brazilian Portuguese'),
 ('ro', 'Romanian'),
 ('ru', 'Russian'),
 ('sk', 'Slovak'),
 ('sl', 'Slovenian'),
 ('sq', 'Albanian'),
 ('sr', 'Serbian'),
 ('sr-latn', 'Serbian Latin'),
 ('sv', 'Swedish'),
 ('sw', 'Swahili'),
 ('ta', 'Tamil'),
 ('te', 'Telugu'),
 ('th', 'Thai'),
 ('tr', 'Turkish'),
 ('tt', 'Tatar'),
 ('udm', 'Udmurt'),
 ('uk', 'Ukrainian'),
 ('ur', 'Urdu'),
 ('vi', 'Vietnamese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese')]
USE_L10N
True
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
STATICFILES_DIRS
[('images', 'mysite/static/images/'), ('scripts', 'mysite/static/scripts/')]
PREPEND_WWW
False
SECURE_PROXY_SSL_HEADER
None
LANGUAGE_COOKIE_AGE
None
SESSION_COOKIE_HTTPONLY
True
DEBUG_PROPAGATE_EXCEPTIONS
False
CSRF_COOKIE_AGE
31449600
MONTH_DAY_FORMAT
'F j'
LOGIN_URL
'/accounts/login/'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
TIME_FORMAT
'P'
AUTH_USER_MODEL
'auth.User'
DATE_INPUT_FORMATS
['%Y-%m-%d',
 '%m/%d/%Y',
 '%m/%d/%y',
 '%b %d %Y',
 '%b %d, %Y',
 '%d %b %Y',
 '%d %b, %Y',
 '%B %d %Y',
 '%B %d, %Y',
 '%d %B %Y',
 '%d %B, %Y']
AUTHENTICATION_BACKENDS
['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
SESSION_FILE_PATH
None
CACHE_MIDDLEWARE_ALIAS
'default'
SESSION_SAVE_EVERY_REQUEST
False
NUMBER_GROUPING
0
SESSION_ENGINE
'django.contrib.sessions.backends.db'
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_COOKIE_PATH
'/'
LOGIN_REDIRECT_URL
'/accounts/profile/'
DECIMAL_SEPARATOR
'.'
IGNORABLE_404_URLS
[]
MIGRATION_MODULES
{}
TEMPLATE_STRING_IF_INVALID
''
LOGOUT_URL
'/accounts/logout/'
EMAIL_USE_TLS
False
FIXTURE_DIRS
[]
EMAIL_HOST
'localhost'
DATE_FORMAT
'N j, Y'
MEDIA_ROOT
''
DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter'
ADMINS
[]
FORMAT_MODULE_PATH
None
DEFAULT_FROM_EMAIL
'webmaster@localhost'
MEDIA_URL
''
DATETIME_FORMAT
'N j, Y, P'
TEMPLATE_DIRS
[]
DISALLOWED_USER_AGENTS
[]
ALLOWED_INCLUDE_ROOTS
[]
LOGGING
{}
SHORT_DATE_FORMAT
'm/d/Y'
TEMPLATES
[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': [],
  'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
                                     'django.template.context_processors.request',
                                     'django.contrib.auth.context_processors.auth',
                                     'django.contrib.messages.context_processors.messages']}}]
TEST_RUNNER
'django.test.runner.DiscoverRunner'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
SECURE_SSL_REDIRECT
False
TIME_ZONE
'UTC'
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_SSL
False
TEMPLATE_CONTEXT_PROCESSORS
['django.contrib.auth.context_processors.auth',
 'django.template.context_processors.debug',
 'django.template.context_processors.i18n',
 'django.template.context_processors.media',
 'django.template.context_processors.static',
 'django.template.context_processors.tz',
 'django.contrib.messages.context_processors.messages']
SESSION_COOKIE_AGE
1209600
SETTINGS_MODULE
'mysite.settings'
USE_ETAGS
False
LANGUAGES_BIDI
['he', 'ar', 'fa', 'ur']
FILE_UPLOAD_TEMP_DIR
None
INTERNAL_IPS
[]
STATIC_URL
'/static/'
EMAIL_PORT
25
USE_TZ
True
SHORT_DATETIME_FORMAT
'm/d/Y P'
TEST_NON_SERIALIZED_APPS
[]
PASSWORD_HASHERS
u'********************'
ABSOLUTE_URL_OVERRIDES
{}
LANGUAGE_COOKIE_PATH
'/'
CACHE_MIDDLEWARE_SECONDS
600
EMAIL_SSL_CERTFILE
None
CSRF_COOKIE_HTTPONLY
False
DATETIME_INPUT_FORMATS
['%Y-%m-%d %H:%M:%S',
 '%Y-%m-%d %H:%M:%S.%f',
 '%Y-%m-%d %H:%M',
 '%Y-%m-%d',
 '%m/%d/%Y %H:%M:%S',
 '%m/%d/%Y %H:%M:%S.%f',
 '%m/%d/%Y %H:%M',
 '%m/%d/%Y',
 '%m/%d/%y %H:%M:%S',
 '%m/%d/%y %H:%M:%S.%f',
 '%m/%d/%y %H:%M',
 '%m/%d/%y']
EMAIL_HOST_USER
''

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.

ref_link: 39041575474819 `