Hi,

as announced on the devel list here my report on "my" Bus error.

I first noticed the Bus error with a freshly compiled version from
today's git.  A ``import matplotlib.figure`` was sufficient to produce
the bus error.  ``python2.6 -v`` showed that it appears when
matplotlib.ft2font is imported, dynamically loaded from
matplotlib/ft2font.so.

I don't know much about this C++ stuff (ft2font.cpp), but I did a
bisect.  Unfortunately, it seems (to me) that bisect acts on the
timeline, not respecting the branch structure, hence it gets it a bit
wrong, at least not right enough to enable me to find the offending
commit.

``git bisect`` finds "some" first bad commit, but due to the commits
in other branches after the first real bad commit it gets it a bit
wrong.  The binary search then skips too far.

Nevertheless, I found that e05c2fa32f0fc31 fails, its parent cb609d5
fails too.  The very first ancestor of this tree in 2011 I can find is
05631088 (2011-02-20): That one succeeds.  But it has some nonstandard
setupext.py.  So my test script for ``git bisect run`` cannot be
applied.  Its only child is df25e31309b, with a standard setupext.py:
It succeeds.

git bisect seems to work on the full timeline, so it's useless here.
Manual bisecting (using gitk on cb609d5415e): 9a93a5c4 (2011-02-24)
fails; 2ab8582f (2011-02-21) fails; df25e3130 (2011-02-20, the merge
of 0.98 into 0.99) succeeds (see above).  13894992 (2011-02-20, the
merge of 0.99 into 1.0) fails.

So I conclude the failure is introduced somewhere in the 0.99 branch.

Compiling randomly while searching the history: e38440f2 (2010-08-18) fails.

A git blame _src/ft2font.cpp shows that most lines are due to Michael
Droettboom in 6b643862.  Unfortunately this is just "Standardizing
formatting of C/C++ code."

The 1.0.0 release 668a769fb fails.

Finally testing the 6b643862 ("Standardizing formatting [...]",
2010-06-24): fails

The next one with modifications to ft2font.cpp is b5ce84214f2
(2010-06-10): fails, its predecessor 97b98e33c: fails.

Next with modifications to ft2font.cpp is 7c228264e (2010-06-04):
fails, its predecessor e8f143c78: fails.

Next one is 857adaee2 (2010-04-16): fails, its predecessor 5a9d580b81: fails.

There is no other modification to ft2font.cpp apparently in 2010 on this branch.

Btw, python2.6-32 signals "Bus error", while python-64 exits with
"Abort trap".  The Python is self-compiled Python 2.6:

Python 2.6.5 (r265:79063, Jul 18 2010, 12:14:53)
[GCC 4.2.1 (Apple Inc. build 5659)] on darwin

I'm building by patching setupext.py to include /usr/local/.

Can anyone maybe provide with a pointer what I should try to sort this
out, aside of updating my freetype2 (what shouldn't count as a
solution, it should just work also with not fully-recent freetype2).
I'm not sure if I'm doing something stupid wrong, but since it
succeeds before the 0.99 branch is merged in I suspect something
non-trivial.

I wonder why I did not notice this before on my machine.  Admittedly,
I did not compile in 2011 at all, I think.  But in Autumn 2010, I did,
and with success.  So I wonder how this error was making its way
around my machine?  I remember that the git mirror of the svn was no
longer maintained the time I last worked on matplotlib.

Friedrich

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to