[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: