Re: [cgkit-user] segfault help?
Brought to you by:
mbaas
|
From: Alejandro A. M. <fe...@gm...> - 2012-03-26 11:01:46
|
Hello Matthias,
I've just discovered that evolution sends the email you are writing if
you hit ctrl+enter... well, here is the full answer.
> What do you mean they have a different version? From what I can see,
> both libs pick up the same versions, don't they? For example, both pick
> up libstdc++ from /usr/lib/libstdc++.so.6
> So that looks ok to me.
I thought the hex numbers were the version numbers, as I told you, is
the first time I use ldd.
> I see those as well. I have to admit, I don't know what symbol that is
> and who needs it, but as I see the same here and I don't get the
> segfault, it's probably not related to our problem.
>
> I think the most interesting libraries we should look for at this point
> are boost and std++, so when I set LD_DEBUG to "libs" and I run the
> import I get this:
>
> 30815: find library=libboost_python.so.5 [0]; searching
> 30815: search cache=/etc/ld.so.cache
> 30815: trying file=/usr/lib64/libboost_python.so.5
> 30815:
> [...]
> 30815: find library=libstdc++.so.6 [0]; searching
> 30815: search cache=/etc/ld.so.cache
> 30815: trying file=/usr/lib64/libstdc++.so.6
>
> You could try the same, but I guess you will just see the same paths
> that ldd already showed you (but the LD_DEBUG method will tell you what
> really happens as this displays what actually gets loaded).
> But as you said, you actually always get the segfault, no matter whether
> pygames was imported first or not, I don't expect to see any real
> difference then.
Searching for libboost and libstd in all log gives me the next in order
results:
27158: find library=libboost_python-py26.so.1.40.0 [0]; searching
27158: search cache=/etc/ld.so.cache
27158: trying file=/usr/lib/libboost_python-py26.so.1.40.0
[...]
27158: find library=libstdc++.so.6 [0]; searching
27158: search cache=/etc/ld.so.cache
27158: trying file=/usr/lib/libstdc++.so.6
[...]
27158: calling init: /usr/lib/libstdc++.so.6
[...]
27158: calling init: /usr/lib/libboost_python-py26.so.1.40.0
> By the way, as it seems C++ exceptions don't make it into Python-land,
> what happens if you run the following from a Python shell:
>
> >>> from cgkit.cgtypes import *
> >>> vec3(0).normalize()
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> ZeroDivisionError: vec3.normalize(): divide by zero
>
> This is basically the exception that causes the segfault on your
> machine. So do you see the above ZeroDivisionError exception or does it
> also segfault?
>
> Another test would be to import the lookat module directly as this is
> the one that causes the crash in your case:
>
> >>> import cgkit.lookat
>
> Does that also segfault?
As you predicted both tests gives segmentation fault in my machine.
Should I test anything else??
Thanks,
Alejandro.
|