Page MenuHomePhabricator

Fix incorrect string value error for iPhone user agent
Closed, ResolvedPublic

Description

Weird bug where /partners/ threw a server error - something to do with the requests log:

Traceback:  

File "/venv/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  131.                 response = middleware_method(request, response)

File "/venv/lib/python2.7/site-packages/request/middleware.py" in process_response
  41.         r.from_http_request(request, response)

File "/venv/lib/python2.7/site-packages/request/models.py" in from_http_request
  85.             self.save()

File "/venv/lib/python2.7/site-packages/request/models.py" in save
  123.         super(Request, self).save(*args, **kwargs)

File "/venv/lib/python2.7/site-packages/django/db/models/base.py" in save
  808.                        force_update=force_update, update_fields=update_fields)

File "/venv/lib/python2.7/site-packages/django/db/models/base.py" in save_base
  838.             updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)

File "/venv/lib/python2.7/site-packages/django/db/models/base.py" in _save_table
  924.             result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)

File "/venv/lib/python2.7/site-packages/django/db/models/base.py" in _do_insert
  963.                                using=using, raw=raw)

File "/venv/lib/python2.7/site-packages/django/db/models/manager.py" in manager_method
  85.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/venv/lib/python2.7/site-packages/django/db/models/query.py" in _insert
  1079.         return query.get_compiler(using=using).execute_sql(return_id)

File "/venv/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
  1112.                 cursor.execute(sql, params)

File "/venv/lib/python2.7/site-packages/django/db/backends/utils.py" in execute
  64.                 return self.cursor.execute(sql, params)

File "/venv/lib/python2.7/site-packages/django/db/utils.py" in __exit__
  94.                 six.reraise(dj_exc_type, dj_exc_value, traceback)

File "/venv/lib/python2.7/site-packages/django/db/backends/utils.py" in execute
  64.                 return self.cursor.execute(sql, params)

File "/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py" in execute
  101.             return self.cursor.execute(query, args)

File "/venv/lib/python2.7/site-packages/MySQLdb/cursors.py" in execute
  206.         res = self._query(query)

File "/venv/lib/python2.7/site-packages/MySQLdb/cursors.py" in _query
  312.         db.query(q)

File "/venv/lib/python2.7/site-packages/MySQLdb/connections.py" in query
  224.         _mysql.connection.query(self, query)

Exception Type: OperationalError at /partners/
Exception Value: (1366, "Incorrect string value: '\\xA0(iPho...' for column `twlight`.`request_request`.`user_agent` at row 1")

Full user agent was:

HTTP_USER_AGENT = 'Mozilla/5.0\xa0(iPhone\xa0U\xa0CPU like\xa0Mac\xa0OS X\xa0en)\xa0AppleWebKit/420+\xa0(KHTML,\xa0like\xa0Gecko)Version/3.0\xa0Mobile/1A543\xa0Safari/419.3'