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