Problem with libopencascade - salome-platform
@pcpa
Submitted by Paulo Cesar Pereira de Andrade Assigned to Default DRI bug account
Description
I am working on a "salome" package for mandriva: http://www.salome-platform.org, that uses opencascade in the "geometry" module.
It appears to work correctly in software rendering (i.e. force it to
use swraster, usually by switching the Xorg module to fbdev or vesa as
a "fast hack"), but with radeon drm it doesn't work correctly.
Running the command:
% MESA_DEBUG=FP LIBGL_DEBUG=verbose runSalome
then loading a sample file, gdb -p'ing the pid of SALOME_Session_Server,
when I select the geometry module (what causes it to load the opencascade
module/library), I see the mesa debug:
libGL: XF86DRIGetClientDriverName: 5.3.0 r300 (screen 0)
libGL: OpenDriver: trying /usr/lib64/dri/r300_dri.so
Using x11AppColormap
libGL: Can't open configuration file /etc/drirc: Arquivo ou diretório não encontrado.
Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable
Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72)
Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72)
Mesa: 1 similar GL_INVALID_ENUM errors
Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72)
Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72)
Mesa: 1 similar GL_INVALID_ENUM errors
Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72)
Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72)
Mesa: 1 similar GL_INVALID_ENUM errors
Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72)
Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72)
Mesa: 1 similar GL_INVALID_ENUM errors
Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72)
Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72)
Mesa: 1 similar GL_INVALID_ENUM errors
Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72)
Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72)
and if I tell to to "show" the geometry, it keeps poping up a message
about SIGFPE, that in gcc is:
Program received signal SIGFPE, Arithmetic exception.<br>
0x00007f33daad9928 in _tnl_RasterPos () from /usr/lib64/dri/libdricore.so<br>
(gdb) bt<br>
#0 0x00007f33daad9928 in _tnl_RasterPos () from /usr/lib64/dri/libdricore.so<br>
#1 0x00007f33daa86c97 in ?? () from /usr/lib64/dri/libdricore.so<br>
#2 0x00007f33db0e3261 in MarkerSetDisplay (data=..., n=<value optimized out>, <br>
k=<value optimized out>) at ../../../src/OpenGl/OpenGl_mrkrset.c:179<br>
#3 0x00007f33db103235 in TsmSendMessage (el=<value optimized out>, <br>
msg=<value optimized out>, data=..., n=44999116)<br>
at ../../../src/OpenGl/OpenGl_tsm.c:134<br>
#4 0x00007f33db0d0beb in ExecuteStructureDisplay (data=<value optimized out>, <br>
n=<value optimized out>, k=0x7fffadeaf5f0)<br>
at ../../../src/OpenGl/OpenGl_execstruct.c:463<br>
#5 0x00007f33db103235 in TsmSendMessage (el=<value optimized out>, <br>
msg=<value optimized out>, data=..., n=44999116)<br>
at ../../../src/OpenGl/OpenGl_tsm.c:134<br>
#6 0x00007f33db0d0d51 in ExecuteStructureDisplay (data=<value optimized out>, <br>
n=<value optimized out>, k=0x7fffadeafae0)<br>
at ../../../src/OpenGl/OpenGl_execstruct.c:423<br>
#7 0x00007f33db103235 in TsmSendMessage (el=<value optimized out>, <br>
msg=<value optimized out>, data=..., n=44999116)<br>
at ../../../src/OpenGl/OpenGl_tsm.c:134<br>
#8 0x00007f33db10368e in TsmDisplayStructure (stid=<value optimized out>, <br>
wsid=<value optimized out>) at ../../../src/OpenGl/OpenGl_tsm.c:339<br>
#9 0x00007f33db0d30a8 in redraw_all_structs (wsid=203, vstid=203)<br>
at ../../../src/OpenGl/OpenGl_funcs.c:567<br>
```<br>
<br>
The only suspecting thing I can see is:<br>
```<br>
(gdb) frame 2<br>
#2 0x00007f33db0e3261 in MarkerSetDisplay (data=..., n=<value optimized out>, <br>
k=<value optimized out>) at ../../../src/OpenGl/OpenGl_mrkrset.c:179<br>
179 glRasterPos3f( ptr->xyz[0], ptr->xyz[1], ptr->xyz[2] );<br>
(gdb) p ptr->xyz[0]<br>
$1 = 0<br>
(gdb) p ptr->xyz[1]<br>
$2 = 0<br>
(gdb) p ptr->xyz[2]<br>
$3 = 0<br>
```<br>
<br>
all the other offsets are not 0,0,0.