[Mesa-users] Mesa 7.11.2 Segmentation fault

tom fogal tfogal at sci.utah.edu
Wed Jan 18 08:07:20 PST 2012


I think the linking issue is mischaracterized; it's not a Mesa issue but 
a VTK issue.  Any recent VTK will have trouble linking both libGL and 
libOSMesa.

I didn't necessarily mean the valgrind output is interesting for *me*... 
I think you should save the full log in a text file (e.g. 
'--log-file=mesa.vglog.txt') and attach that to the bug report you open. 
  It would be good if you could run with --track-origins=yes as well.

Good luck!

-tom

On 01/18/2012 08:16 AM, Eduard Deines wrote:
> Hi Tom,
>
> thank you for your response. I'll try the git's master version. \
> I've compiled mesa 7.11 without asm support. I see only a black
> window/image. I also ran it with valgrind. Here is a part of the
> output. I didn't put in the complete output since it is to long and
> there are a bunch of similar errors. I've read on ParaView forum that
> "Using Mesa>  7.7.1 requires you to only link libGL.so OR
> libOSMesa.so, you cannot link both with newer mesa. Also if using
> libOSMesa you need to turn VTK_USE_X OFF". Do you know about this
> issue and if this is still true for 7.11?
>
> ==16754== Memcheck, a memory error detector
> ==16754== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
> ==16754== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
> Mesa warning: couldn't open libtxc_dxtn.so, software DXTn
> compression/decompression unavailable
> ==16754== Conditional jump or move depends on uninitialised value(s)
> ==16754==    at 0x4F2FAE9: vtkOpenGLProperty::Render(vtkActor*,
> vtkRenderer*) (vtkOpenGLProperty.cxx:89)
> ==16754==    by 0x4D69576:
> vtkActor::RenderOpaqueGeometry(vtkViewport*) (vtkActor.cxx:167)
> ==16754==    by 0x4E47B16: vtkRenderer::UpdateGeometry() (vtkRenderer.cxx:571)
> ==16754==    by 0x4F34770: vtkOpenGLRenderer::DeviceRender()
> (vtkOpenGLRenderer.cxx:266)
> ==16754==    by 0x4E46EB9: vtkRenderer::Render() (vtkRenderer.cxx:300)
> ==16754==    by 0x4E52C45: vtkRendererCollection::Render()
> (vtkRendererCollection.cxx:51)
> ==16754==    by 0x4E3849B: vtkRenderWindow::DoStereoRender()
> (vtkRenderWindow.cxx:676)
> ==16754==    by 0x4E383AA: vtkRenderWindow::DoFDRender()
> (vtkRenderWindow.cxx:645)
> ==16754==    by 0x4E37E4A: vtkRenderWindow::DoAARender()
> (vtkRenderWindow.cxx:537)
> ==16754==    by 0x4E37413: vtkRenderWindow::Render() (vtkRenderWindow.cxx:362)
> ==16754==    by 0x4F7220A: vtkXOpenGLRenderWindow::Render()
> (vtkXOpenGLRenderWindow.cxx:1878)
> ==16754==    by 0x403E99: main (mesa_test.cxx:228)
> ==16754==
> ==16754== Conditional jump or move depends on uninitialised value(s)
> ==16754==    at 0x4F3A80B:
> vtkOpenGLScalarsToColorsPainter::GetPremultiplyColorsWithAlpha(vtkActor*)
> (vtkOpenGLScalarsToColorsPainter.cxx:79)
> ==16754==    by 0x4E5F71B:
> vtkScalarsToColorsPainter::PrepareForRendering(vtkRenderer*,
> vtkActor*) (vtkScalarsToColorsPainter.cxx:166)
> ==16754==    by 0x4DFCEB5: vtkPainter::Render(vtkRenderer*, vtkActor*,
> unsigned long) (vtkPainter.cxx:204)
> ==16754==    by 0x4E1A6C2: vtkPolyDataPainter::Render(vtkRenderer*,
> vtkActor*, unsigned long) (vtkPolyDataPainter.cxx:62)
> ==16754==    by 0x4DFCF44: vtkPainter::RenderInternal(vtkRenderer*,
> vtkActor*, unsigned long) (vtkPainter.cxx:216)
> ==16754==    by 0x4DFCEDB: vtkPainter::Render(vtkRenderer*, vtkActor*,
> unsigned long) (vtkPainter.cxx:205)
> ==16754==    by 0x4E1A6C2: vtkPolyDataPainter::Render(vtkRenderer*,
> vtkActor*, unsigned long) (vtkPolyDataPainter.cxx:62)
> ==16754==    by 0x4D92978: vtkDefaultPainter::Render(vtkRenderer*,
> vtkActor*, unsigned long) (vtkDefaultPainter.cxx:179)
> ==16754==    by 0x4DFE7CC:
> vtkPainterPolyDataMapper::RenderPiece(vtkRenderer*, vtkActor*)
> (vtkPainterPolyDataMapper.cxx:273)
> ==16754==    by 0x4E16F2F: vtkPolyDataMapper::Render(vtkRenderer*,
> vtkActor*) (vtkPolyDataMapper.cxx:74)
> ==16754==    by 0x4EFACE1: vtkOpenGLActor::Render(vtkRenderer*,
> vtkMapper*) (vtkOpenGLActor.cxx:102)
> ==16754==    by 0x4D69623:
> vtkActor::RenderOpaqueGeometry(vtkViewport*) (vtkActor.cxx:180)
> ==16754==
> ==16754== Conditional jump or move depends on uninitialised value(s)
> ==16754==    at 0x7AC3055: vtk_png_write_find_filter (pngwutil.c:2030)
> ==16754==    by 0x7AA7F0E: vtk_png_write_row (pngwrite.c:881)
> ==16754==    by 0x7AA7B63: vtk_png_write_image (pngwrite.c:714)
> ==16754==    by 0x5FF3D14: vtkPNGWriter::WriteSlice(vtkImageData*)
> (vtkPNGWriter.cxx:284)
> ==16754==    by 0x5FF30E3: vtkPNGWriter::Write() (vtkPNGWriter.cxx:106)
> ==16754==    by 0x4040E3: main (mesa_test.cxx:258)
> ==16754==
> ==16754== Use of uninitialised value of size 8
> ==16754==    at 0x8394B1F: deflate_slow (deflate.c:1261)
> ==16754==    by 0x8393109: vtk_zlib_deflate (deflate.c:516)
> ==16754==    by 0x7AC4C3F: vtk_png_write_filtered_row (pngwutil.c:2602)
> ==16754==    by 0x7AC4B5E: vtk_png_write_find_filter (pngwutil.c:2569)
> ==16754==    by 0x7AA7F0E: vtk_png_write_row (pngwrite.c:881)
> ==16754==    by 0x7AA7B63: vtk_png_write_image (pngwrite.c:714)
> ==16754==    by 0x5FF3D14: vtkPNGWriter::WriteSlice(vtkImageData*)
> (vtkPNGWriter.cxx:284)
> ==16754==    by 0x5FF30E3: vtkPNGWriter::Write() (vtkPNGWriter.cxx:106)
> ==16754==    by 0x4040E3: main (mesa_test.cxx:258)
> ==16754==
> ==16754== Use of uninitialised value of size 8
> ==16754==    at 0x8394B4F: deflate_slow (deflate.c:1261)
> ==16754==    by 0x8393109: vtk_zlib_deflate (deflate.c:516)
> ==16754==    by 0x7AC4C3F: vtk_png_write_filtered_row (pngwutil.c:2602)
> ==16754==    by 0x7AC4B5E: vtk_png_write_find_filter (pngwutil.c:2569)
> ==16754==    by 0x7AA7F0E: vtk_png_write_row (pngwrite.c:881)
> ==16754==    by 0x7AA7B63: vtk_png_write_image (pngwrite.c:714)
> ==16754==    by 0x5FF3D14: vtkPNGWriter::WriteSlice(vtkImageData*)
> (vtkPNGWriter.cxx:284)
> ==16754==    by 0x5FF30E3: vtkPNGWriter::Write() (vtkPNGWriter.cxx:106)
> ==16754==    by 0x4040E3: main (mesa_test.cxx:258)
> ==16754==
> ==16754== For counts of detected and suppressed errors, rerun with: -v
> ==16754== Use --track-origins=yes to see where uninitialised values come from
> ==16754== ERROR SUMMARY: 10000000 errors from 51 contexts (suppressed: 4 from 4)
>
> Thanks again,
>
> Best
>
> Eduard
>
>
> On Tue, Jan 17, 2012 at 6:44 PM, tom fogal<tfogal at alumni.unh.edu>  wrote:
>> Hi Eduard!
>>
>> I recommend you do two things:
>>
>> 1) try this again with git's master instead of any 7.11 version.  That
>> branch was created back in summer and I think most developers think of
>> it as being in 'maintenance mode'; there are likely to be significant
>> changes at this point.
>>
>> 2) file a bug report (bugs.freedesktop.org).  I think this will get
>> lost otherwise.
>>
>> It would be interesting if the valgrind output changed with/without
>> --disable-asm.  You might also want to make sure that GLX_USE_TLS is
>> defined.
>>
>> Best,
>>
>> -tom
>>
>> Eduard Deines<eddeines at gmail.com>  writes:
>>> Hello,
>>>
>>> I'm in the process to update our mesa version from 7.6 to 7.11. I have
>>> successfully compiled mesa 7.11 on a linux 64 bit machine with the
>>> following configuration:
>>>
>>>      /configure --prefix=install_dir --with-driver=xlib --disable-gles1
>>> --disable-gles2 --without-gallium-drivers --disable-glu --disable-glut
>>> --disable-glw --disable-egl
>>>
>>> I'm using mesa with VTK. When I do offscreen rendering in VTK using
>>> osmesa my program crashes. I've used gdb to find the position in the
>>> code where it crashes. I run the gdb with no success. I also ran
>>> valgrind and got the following output:
>>>
>>> Mesa: Initializing x86-64 optimizations
>>> ==9528== Invalid read of size 8
>>> ==9528==    at 0xAEE6DB7: glMatrixMode (glapi_x86-64.S:10535)
>>> ==9528==    by 0x4F6EF22:
>>> vtkXOpenGLRenderWindow::CreateOffScreenWindow(int, int)
>>> (vtkXOpenGLRenderWindow.cxx:1010)
>>> ==9528==    by 0x4F6F424: vtkXOpenGLRenderWindow::Initialize()
>>> (vtkXOpenGLRenderWindow.cxx:1142)
>>> ==9528==    by 0x4F6F81A: vtkXOpenGLRenderWindow::Start()
>>> (vtkXOpenGLRenderWindow.cxx:1261)
>>> ==9528==    by 0x4E383D2: vtkRenderWindow::DoStereoRender()
>>> (vtkRenderWindow.cxx:656)
>>> ==9528==    by 0x4E383AA: vtkRenderWindow::DoFDRender()
>>> (vtkRenderWindow.cxx:645)
>>> ==9528==    by 0x4E37E4A: vtkRenderWindow::DoAARender()
>>> (vtkRenderWindow.cxx:537)
>>> ==9528==    by 0x4E37413: vtkRenderWindow::Render() (vtkRenderWindow.cxx:362)
>>> ==9528==    by 0x4F7210C: vtkXOpenGLRenderWindow::Render()
>>> (vtkXOpenGLRenderWindow.cxx:1877)
>>> ==9528==    by 0x403E99: main (mesa_test.cxx:228)
>>> ==9528==  Address 0xee568d8 is not stack'd, malloc'd or (recently) free'd
>>>
>>>
>>> Am I using the wrong configuration parameters? Did I miss any
>>> configuration parameter?
>>> Is this a problem of the assembly code in mesa? If I turn the assembly
>>> off (--disable-asm) the program does not crash but there is also
>>> nothing rendered.
>>> I assume glapi is needed by mesa?
>>>
>>> Thanks in advance for your help!
>>>
>>> Eduard
>>> _______________________________________________
>>> mesa-users mailing list
>>> mesa-users at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/mesa-users



More information about the mesa-users mailing list