Bug#514791: libgl1-mesa-glx: segfault calling glGenLists();
On Fri, Feb 13, 2009 at 08:50:20AM +0100, Michel D?nzer wrote:
> On Thu, 2009-02-12 at 20:43 +0100, Kurt Roeckx wrote:
> > On Thu, Feb 12, 2009 at 08:16:49PM +0100, Michel D?nzer wrote:
> > > On Thu, 2009-02-12 at 19:36 +0100, Kurt Roeckx wrote:
> > > >
> > > > It does not call glXMakeCurrent at all.
> > >
> > > Then it could never work in a GLX environment. It doesn't call it
> > > directly but probably via GLUT.
> >
> > Well, I never hit the breakpoint.
>
> Can you please provide a little more information? E.g., does the
> glGenLists breakpoint get hit? Is this with the version of Mesa that
> crashes? If not, does the program work? ...
I was already happy with you stating it was a bug in icc examine, but
if you really want more info. :)
The glGenLists call is where the first problem in the software happens,
and is the reason I made that small test program. If I comment
out that part of the code, the next problem is the
gl_font( FL_HELVETICA, 10 ); 2 lines lower.
What I see with the 7.0 version of mesa is:
- I see a border for the new window being drawn, but the canvas of it
is transparent.
- I hit the breakpoint
- It segfaults
Where the problem happens is this piece of assembler code from
glapi_x86-64.S:
#elif defined(PTHREADS)
pushq %rdi
call _x86_64_get_dispatch@PLT
popq %rdi
movq 40(%rax), %r11
jmp *%r11
I'm guessing that the %rax does not contain what is expected.
I understand that the 7.3 version uses the TLS code instead, which might
lead to the different behaviour.
If I use the 7.3 version, I still hit that breakpoint, but I
do not get a segfault anymore, and everything appears to be
working normally.
I did not try to build everything for i386, so I guess
that the small test program working on i386 was just
pure concidence.
Kurt
Reply to: