So I tried what was advised to me.
python -c 'import pylab; pylab.plot();'
terminate called after throwing an instance of 'std::exception'
terminate called recursively
which happens here:
15 py_to_agg_transformation_matrix(PyObject* obj, bool errors = true)
17 PyArrayObject* matrix = NULL;
21 if (obj == Py_None)
22 throw std::exception();
Since I compiled w/o optimization flags I have this now:
#11 0xfffffd7ff46cf0b6 in __cxxabiv1::__cxa_throw (obj=<value
optimized out>, tinfo=<value optimized out>,
dest=<value optimized out>) at
#12 0xfffffd7ff4a3c708 in py_to_agg_transformation_matrix
(obj=0x774380, errors=false) at src/agg_py_transforms.cpp:22
#13 0xfffffd7ff4a4132e in _path_module::update_path_extents
(this=0x144e230, args=...) at src/path.cpp:380
#14 0xfffffd7ff4a537ce in
args=...) at ./CXX/Python2/ExtensionModule.hxx:184
#15 0xfffffd7ff4a389df in Py::method_varargs_call_handler
#16 0x00000000004a6071 in call_function (f=0x201e980, throwflag=<value
#17 PyEval_EvalFrameEx (f=0x201e980, throwflag=<value optimized out>)
#18 0x00000000004a79c1 in PyEval_EvalCodeEx (co=0x123a130,
globals=<value optimized out>, locals=<value optimized out>,
args=0x201eb20, argcount=<value optimized out>, kws=0x3,
kwcount=2, defs=0x12467e8, defcount=3, closure=0x0)
The function has now obj=0x774380 as an argument instead of <value
So what is generating a PyNull object is in src/path.cpp:380
but this file doesn't exist! If I look in _path.cpp though this is
where it fails:
360 ::get_path_extents(path, trans, &extents_data,
361 &extents_data, &extents_data,
I have no idea how to debug this since it seems the problem are in the
CXX extensions (calls to ceval.c)
Any idea how I can narrow down the problem?
On Sun, Mar 13, 2011 at 6:18 PM, Nicolas SCHEFFER <scheffer.nicolas@...287...> wrote:
Thanks much for the reply!
I'll try your advice as soon as I can.
BTW, I don't think this is a Solaris-related problem.
If you look at the pointers in my original post, the same error can
happen on other arch (I confess it can be for other reasons though).
On Sun, Mar 13, 2011 at 1:03 PM, Jouni K. Seppänen <jks@...397...> wrote:
Nicolas SCHEFFER <scheffer.nicolas@...287...> writes:
I didn't get much reply on this issue, so I'm just trying to resurrect
Probably not many devs using Solaris, so no-one has been able to
#12 0xfffffd7ff4a22fd8 in py_to_agg_transformation_matrix
(obj=0x774380, errors=<value optimized out>) at
#13 0xfffffd7ff4a32e7c in _path_module::update_path_extents
(this=<value optimized out>, args=...) at src/path.cpp:380
So it's in transforms-related code, but we can't see the locals. First
I'd try to recompile without optimizations and (hoping it still crashes)
inspect the local variables in these frames in gdb. Or maybe make the
functions print out their arguments and any other relevant locals.
Jouni K. Seppänen
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
Matplotlib-users mailing list