Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UnicodeDecodeError and failed test_multiline.test #3704

Closed
xiaoweiz opened this issue Oct 22, 2014 · 7 comments
Closed

UnicodeDecodeError and failed test_multiline.test #3704

xiaoweiz opened this issue Oct 22, 2014 · 7 comments
Milestone

Comments

@xiaoweiz
Copy link

Just updated to 1.4.1 through Anaconda in OS X Mavericks

Running the test suite yields 1 error and 2 failures:

Python 2.7.8 |Continuum Analytics, Inc.| (default, Aug 21 2014, 15:21:46)
Type "copyright", "credits" or "license" for more information.

IPython 2.3.0 -- An enhanced Interactive Python.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import matplotlib as mpl

In [2]: mpl.test()
...KKKKKK...K..K.....K....K..K..K..K..K..K..K.............................K..K..K..K....K..K..K..K..K..K..K...K..K..K..K..K..K....K..K..K..K..K..K..K..K..K..K.....K.........K..K..K......K..K..K..K..K..K..K..K..K..K...K........K..K..K..K..K..K..K..K..K..K....K..K..K..K..............K..K..K..K..K..K..K....K.....................................K..........................K..K...K...K..K..K..K......................K..K..K..K..K..K..K..K..K..K..K..K..K..................................../Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/colors.py:1535: RuntimeWarning: invalid value encountered in true_divide
  (intensity.max() - intensity.min())
/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/colors.py:1543: RuntimeWarning: invalid value encountered in greater
  intensity > 0),
/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/colors.py:1548: RuntimeWarning: invalid value encountered in greater
  hsv[:, :, 2] = np.where(intensity > 0,
/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/colors.py:1554: RuntimeWarning: invalid value encountered in less
  intensity < 0),
/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/colors.py:1558: RuntimeWarning: invalid value encountered in less
  hsv[:, :, 2] = np.where(intensity < 0,
.........K./Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/text.py:52: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  if rotation in ('horizontal', None):
/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/text.py:54: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  elif rotation == 'vertical':
.......................................................................................K..K..K...........K..K..K..K..K.K..K.K..K.K..............K..K..K..K..K..K..K..K..K...K..........................................................................................................................................................................................K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K..K........................................................................................../Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/mlab.py:3742: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  elif bw_method == 'scott':
/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/mlab.py:3744: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  elif bw_method == 'silverman':
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................../Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/tri/triangulation.py:110: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.
  self._neighbors)
.K..K..K..K..K........K..K..K..K...................KK.................................................K...K..K..K..K..K..K..K..K..K......K..K..K..K..K..K.......K.......K...EFFK..K...........K..K..K..K..K..K..K..K.................K................./Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/tri/triangulation.py:212: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.
  self._cpp_triangulation.set_mask(self.mask)
............K..K./Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_pdf.py:2264: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.
  different = bool(ours != theirs)
.K..K..K..K..K..K..K..K..K..K..K
======================================================================
ERROR: test suite for <class 'matplotlib.tests.test_text.test_font_styles'>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/nose/util.py", line 470, in try_run
    return func()
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/testing/decorators.py", line 134, in setup_class
    cls._func()
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/tests/test_text.py", line 45, in test_font_styles
    size=14,
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/tests/test_text.py", line 21, in find_matplotlib_font
    path = findfont(prop, directory=data_path)
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/font_manager.py", line 1418, in findfont
    font = fontManager.findfont(prop, **kw)
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/font_manager.py", line 1258, in findfont
    os.path.commonprefix([font.fname, directory]) != directory):
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/genericpath.py", line 71, in commonprefix
    s1 = min(m)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 15: ordinal not in range(128)

======================================================================
FAIL: matplotlib.tests.test_text.test_multiline.test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/testing/decorators.py", line 51, in failer
    result = f(*args, **kwargs)
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/testing/decorators.py", line 196, in do_test
    '(RMS %(rms).3f)'%err)
ImageComparisonFailure: images not close: /Users/zhangxiaowei/Downloads/result_images/test_text/multiline.png vs. /Users/zhangxiaowei/Downloads/result_images/test_text/multiline-expected.png (RMS 27.663)

======================================================================
FAIL: matplotlib.tests.test_text.test_multiline.test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/testing/decorators.py", line 51, in failer
    result = f(*args, **kwargs)
  File "/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/testing/decorators.py", line 196, in do_test
    '(RMS %(rms).3f)'%err)
ImageComparisonFailure: images not close: /Users/zhangxiaowei/Downloads/result_images/test_text/multiline_pdf.png vs. /Users/zhangxiaowei/Downloads/result_images/test_text/multiline-expected_pdf.png (RMS 35.875)

----------------------------------------------------------------------
Ran 4745 tests in 449.966s

FAILED (KNOWNFAIL=382, errors=1, failures=2)
/Users/zhangxiaowei/anaconda/lib/python2.7/site-packages/matplotlib/__init__.py:1312: UserWarning:  This call to matplotlib.use() has no effect
because the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.

  warnings.warn(_use_error_msg)
Out[2]: False
@tacaswell
Copy link
Member

Could you post the generated images?

For the unicode issue can you try deleting your font-cache (~/.config/matplotlib/fontcache.something)?

@xiaoweiz
Copy link
Author

There isn't a matplotlib directory inside ~/.config.

Here are the images:

  • Failure 1:
    result_images/test_text/multiline.png
    multiline
    result_images/test_text/multiline-expected.png
    multiline-expected
  • Failure 2:
    result_images/test_text/multiline_pdf.png
    multiline_pdf

result_images/test_text/multiline-expected_pdf.png
multiline-expected_pdf

@xiaoweiz
Copy link
Author

Another update:
I also run the test suite on a Linux machine (Xubuntu 14.04) and the test is successful without any error or failure.

@tacaswell
Copy link
Member

@xiaoweiz Can you look at what ever folder matplotlib.get_cachedir() points to and remove any font cache in it?

I would really like to track down that unicode issue.

It looks like we are missing an @cleanup someplace and the tests got crossed. Is that failure reproducible?

@xiaoweiz
Copy link
Author

After I removed the font cache, the test suite is now successful (with 383 known failures).

@tacaswell
Copy link
Member

Great, closing this as the problem was transient.

I assume you have font paths with non ascii characters it them?

@xiaoweiz
Copy link
Author

I'm not sure whether I have non ascii characters in font paths.... But glad the problem is solved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants