> I'm experiencing a strange problem with Soya. When I run any code
> which calls soya.Shape.get, soya.Material.get (and probably some
> others - I haven't managed to find more) I get an error like this one:
> #v+
> $ python basic-1.py
> * Soya 3D * Using 8 bits stencil buffer
> 
> * Soya 3D * version 0.9.2
> * Using OpenGL 1.3 Mesa 6.2.1
> *   - renderer : Mesa DRI R200 20040929 AGP 1x TCL
> *   - vendor   : Tungsten Graphics, Inc.
> *   - maximum number of lights        : 8
> *   - maximum number of clip planes   : 6
> *   - maximum number of texture units : 4
> *   - maximum texture size            : 1024 pixels
> 
> * Soya * Converting data/worlds/sword.data to Shape...
> Traceback (most recent call last):
>   File "/usr/lib64/python2.4/site-packages/soya/__init__.py", line
>   308, in 
> load
>   File "/usr/lib64/python2.4/site-packages/soya/__init__.py", line
>   168, in 
> save
>   File "/usr/lib64/python2.4/site-packages/soya/__init__.py", line
>   176, in 
> __reduce__
>   File "base.pyx", line 338, in _soya._CObj.__reduce__
>   File "base.pyx", line 331, in _soya._CObj.__getstate__
>   File "shape.pyx", line 136, in _soya._SimpleShape.__getcstate__
> KeyError: -1431482704
> * Soya * WARNING : can't save compiled shape sword!
> zsh: segmentation fault  python basic-1.py


> The problem is, as one might see, the random-like list index. I had a
> look at the shape.pyx and that line 136 is
> chunk_add_int_endian_safe (chunk,
> material_id2index[face.pack.material_id]) Most probably
> face.pack.material_id contains some rubbish instead of a real index.

Actually Soya doesn't support 64 bits yet, mainly because it has never
been tested with it.

face.pack.material_id should contain the memory address of the material
(i.e. id(material)) ; material_id is defined as an int, but maybe this
is not enough for a 64bit memory address ?

Jiba

Reply via email to