New issue
Advanced search Search tips

Issue 861919 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

CQ status sending doesn't deal with unicode correctly.

Project Member Reported by tandrii@chromium.org, Jul 9

Issue description

cq-status Error rate is too high: 26 errors for 259 requests (10%) within the last 424 seconds.
Found 26 errors: Transient error: 'ascii' codec can't encode character u'\u2026' in position 540: ordinal not in range(128)
  File "/opt/infra-system/lib/python2.7/threading.py", line 774, in __bootstrap
    self.__bootstrap_inner()
  File "/opt/infra-system/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/opt/infra-system/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 492, in _work
    self._safe_process_batch(batch)
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/errors.py", line 217, in wrapper
    return func(obj, *args, **kwargs), None
  File "/opt/infra-system/lib/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/errors.py", line 176, in track_exceptions
    self.stacktrace = (''.join(traceback.format_stack()) +
Traceback (most recent call last):
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/errors.py", line 173, in track_exceptions
    yield ctx
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/errors.py", line 217, in wrapper
    return func(obj, *args, **kwargs), None
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 521, in _safe_process_batch
    return self._process_batch(batch)
  File "/opt/cq-stable/infra_internal/ENV/lib/python2.7/site-packages/infra/libs/decorators/decorators.py", line 89, in wrapper
    return f(*args, **kwargs)
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 458, in _send_batch_to_cq_status
    data = [('p', json.dumps(packet.to_dict())) for packet in batch_items]
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 163, in to_dict
    'fields': self._sanitize_fields(self._fields),
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 183, in _sanitize_fields
    return {k: self._sanitize_fields(v) for k, v in fields.iteritems()}
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 183, in <dictcomp>
    return {k: self._sanitize_fields(v) for k, v in fields.iteritems()}
  File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 187, in _sanitize_fields
    return str(fields)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2026' in position 540: ordinal not in range(128)
 
Owner: tandrii@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 9

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infra/infra_internal/+/f9bf7397a9274784e0ce34b72a36be1687c864e9

commit f9bf7397a9274784e0ce34b72a36be1687c864e9
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date: Mon Jul 09 22:57:10 2018

Status: Fixed (was: Started)
Has been released 3 days ago.

Sign in to add a comment