From: Mathieu M. <mat...@ki...> - 2004-10-28 16:43:19
|
Hello, I have a seg fault in Mesa 6.2, which I compile with make linux-x86-debug. But gdb complains about: Program received signal SIGFPE, Arithmetic exception. [Switching to Thread -1084546944 (LWP 1746)] _mesa_test_os_sse_exception_support () at x86/common_x86_asm.S:193 193 DIVPS ( XMM0, XMM1 ) Is there a simple way to work around that ( I guess recompile Mesa with some more option). Thanks Mathieu |
From: Brian P. <bri...@tu...> - 2004-10-28 19:31:52
|
Mathieu Malaterre wrote: > Hello, > > I have a seg fault in Mesa 6.2, which I compile with make > linux-x86-debug. But gdb complains about: > > Program received signal SIGFPE, Arithmetic exception. > [Switching to Thread -1084546944 (LWP 1746)] > _mesa_test_os_sse_exception_support () at x86/common_x86_asm.S:193 > 193 DIVPS ( XMM0, XMM1 ) > > > Is there a simple way to work around that ( I guess recompile Mesa with > some more option). Just type 'continue' in gdb when that happens. It's normal. -Brian |
From: Mathieu M. <mat...@ki...> - 2004-10-28 19:37:58
|
Brian Paul wrote: > Mathieu Malaterre wrote: > >> Hello, >> >> I have a seg fault in Mesa 6.2, which I compile with make >> linux-x86-debug. But gdb complains about: >> >> Program received signal SIGFPE, Arithmetic exception. >> [Switching to Thread -1084546944 (LWP 1746)] >> _mesa_test_os_sse_exception_support () at x86/common_x86_asm.S:193 >> 193 DIVPS ( XMM0, XMM1 ) >> >> >> Is there a simple way to work around that ( I guess recompile Mesa >> with some more option). > > > Just type 'continue' in gdb when that happens. It's normal. Thanks Brian, Now I have: Program received signal SIGSEGV, Segmentation fault. 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 (gdb) bt #0 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 #2 0x00582b5a in Fake_glXCreateContext (dpy=0x9703bb8, visinfo=0x96fa570, share_list=0x0, direct=1) at drivers/x11/fakeglx.c:1268 #3 0x0057ebd6 in glXCreateContext (dpy=0x9703bb8, visinfo=0x96fa570, shareList=0x0, direct=1) at drivers/x11/glxapi.c:187 #4 0x00ddb612 in vtkXOpenGLRenderWindow::WindowInitialize() (this=0x96f10c8) at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:404 #5 0x00ddbb1a in vtkXOpenGLRenderWindow::Initialize() (this=0x96f10c8) at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:484 #6 0x00ddc23a in vtkXOpenGLRenderWindow::Start() (this=0x96f10c8) at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:747 #7 0x00db95cf in vtkXRenderWindowInteractor::Initialize() (this=0x96f1470) at /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:304 #8 0x00d0c3c6 in vtkRenderWindow::Render() (this=0x96f10c8) at /home/malaterre/Kitware/VTK/Rendering/vtkRenderWindow.cxx:233 #9 0x00dde85a in vtkXOpenGLRenderWindow::Render() (this=0x96f10c8) at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1330 #10 0x08048bff in main () at /home/malaterre/Kitware/Test/hang.cxx:19 (gdb) up #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 2583 XSync(b->display, False); Current language: auto; currently c (gdb) p b->display $1 = (XMesaDisplay *) 0x96f9ba0 Is this familiar for you ? I think at some point I read some structure are not being cleanup eventhough they were deleted. Thanks for any help Mathieu |
From: Brian P. <bri...@tu...> - 2004-10-28 20:04:35
|
Mathieu Malaterre wrote: > Brian Paul wrote: > >> Mathieu Malaterre wrote: >> >>> Hello, >>> >>> I have a seg fault in Mesa 6.2, which I compile with make >>> linux-x86-debug. But gdb complains about: >>> >>> Program received signal SIGFPE, Arithmetic exception. >>> [Switching to Thread -1084546944 (LWP 1746)] >>> _mesa_test_os_sse_exception_support () at x86/common_x86_asm.S:193 >>> 193 DIVPS ( XMM0, XMM1 ) >>> >>> >>> Is there a simple way to work around that ( I guess recompile Mesa >>> with some more option). >> >> >> >> Just type 'continue' in gdb when that happens. It's normal. > > > Thanks Brian, > > Now I have: > > Program received signal SIGSEGV, Segmentation fault. > 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 > (gdb) bt > #0 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 > #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 > #2 0x00582b5a in Fake_glXCreateContext (dpy=0x9703bb8, > visinfo=0x96fa570, share_list=0x0, direct=1) at drivers/x11/fakeglx.c:1268 > #3 0x0057ebd6 in glXCreateContext (dpy=0x9703bb8, visinfo=0x96fa570, > shareList=0x0, direct=1) at drivers/x11/glxapi.c:187 > #4 0x00ddb612 in vtkXOpenGLRenderWindow::WindowInitialize() > (this=0x96f10c8) at > /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:404 > #5 0x00ddbb1a in vtkXOpenGLRenderWindow::Initialize() (this=0x96f10c8) > at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:484 > #6 0x00ddc23a in vtkXOpenGLRenderWindow::Start() (this=0x96f10c8) at > /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:747 > #7 0x00db95cf in vtkXRenderWindowInteractor::Initialize() > (this=0x96f1470) at > /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:304 > #8 0x00d0c3c6 in vtkRenderWindow::Render() (this=0x96f10c8) at > /home/malaterre/Kitware/VTK/Rendering/vtkRenderWindow.cxx:233 > #9 0x00dde85a in vtkXOpenGLRenderWindow::Render() (this=0x96f10c8) at > /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1330 > #10 0x08048bff in main () at /home/malaterre/Kitware/Test/hang.cxx:19 > (gdb) up > #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 > 2583 XSync(b->display, False); > Current language: auto; currently c > (gdb) p b->display > $1 = (XMesaDisplay *) 0x96f9ba0 > > > Is this familiar for you ? I think at some point I read some > structure are not being cleanup eventhough they were deleted. I've never seen that one before. Can you print *b->display? I'd probably run with valgrind next to see if memory was getting trashed at some point. -Brian |
From: Mathieu M. <mat...@ki...> - 2004-10-28 20:34:23
Attachments:
log
|
Brian Paul wrote: > Mathieu Malaterre wrote: > >> Brian Paul wrote: >> >>> Mathieu Malaterre wrote: >>> >>>> Hello, >>>> >>>> I have a seg fault in Mesa 6.2, which I compile with make >>>> linux-x86-debug. But gdb complains about: >>>> >>>> Program received signal SIGFPE, Arithmetic exception. >>>> [Switching to Thread -1084546944 (LWP 1746)] >>>> _mesa_test_os_sse_exception_support () at x86/common_x86_asm.S:193 >>>> 193 DIVPS ( XMM0, XMM1 ) >>>> >>>> >>>> Is there a simple way to work around that ( I guess recompile Mesa >>>> with some more option). >>> >>> >>> >>> >>> Just type 'continue' in gdb when that happens. It's normal. >> >> >> >> Thanks Brian, >> >> Now I have: >> >> Program received signal SIGSEGV, Segmentation fault. >> 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >> (gdb) bt >> #0 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >> #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >> #2 0x00582b5a in Fake_glXCreateContext (dpy=0x9703bb8, >> visinfo=0x96fa570, share_list=0x0, direct=1) at >> drivers/x11/fakeglx.c:1268 >> #3 0x0057ebd6 in glXCreateContext (dpy=0x9703bb8, visinfo=0x96fa570, >> shareList=0x0, direct=1) at drivers/x11/glxapi.c:187 >> #4 0x00ddb612 in vtkXOpenGLRenderWindow::WindowInitialize() >> (this=0x96f10c8) at >> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:404 >> #5 0x00ddbb1a in vtkXOpenGLRenderWindow::Initialize() >> (this=0x96f10c8) at >> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:484 >> #6 0x00ddc23a in vtkXOpenGLRenderWindow::Start() (this=0x96f10c8) at >> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:747 >> #7 0x00db95cf in vtkXRenderWindowInteractor::Initialize() >> (this=0x96f1470) at >> /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:304 >> #8 0x00d0c3c6 in vtkRenderWindow::Render() (this=0x96f10c8) at >> /home/malaterre/Kitware/VTK/Rendering/vtkRenderWindow.cxx:233 >> #9 0x00dde85a in vtkXOpenGLRenderWindow::Render() (this=0x96f10c8) at >> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1330 >> #10 0x08048bff in main () at /home/malaterre/Kitware/Test/hang.cxx:19 >> (gdb) up >> #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >> 2583 XSync(b->display, False); >> Current language: auto; currently c >> (gdb) p b->display >> $1 = (XMesaDisplay *) 0x96f9ba0 >> >> >> Is this familiar for you ? I think at some point I read some >> structure are not being cleanup eventhough they were deleted. > > > I've never seen that one before. Can you print *b->display? > > I'd probably run with valgrind next to see if memory was getting trashed > at some point. I am sure I built Mesa using linux-x86-debug but for some reason I don't have access to the structure: Program received signal SIGSEGV, Segmentation fault. 0x02ef1a83 in XSync () from /usr/X11R6/lib/libX11.so.6 (gdb) bt #0 0x02ef1a83 in XSync () from /usr/X11R6/lib/libX11.so.6 #1 0x00488822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 #2 0x00481b5a in Fake_glXCreateContext (dpy=0x8780bd8, visinfo=0x8777560, share_list=0x0, direct=1) at drivers/x11/fakeglx.c:1268 #3 0x0047dbd6 in glXCreateContext (dpy=0x8780bd8, visinfo=0x8777560, shareList=0x0, direct=1) at drivers/x11/glxapi.c:187 #4 0x00950612 in vtkXOpenGLRenderWindow::WindowInitialize() (this=0x876e0c8) at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:404 #5 0x00950b1a in vtkXOpenGLRenderWindow::Initialize() (this=0x876e0c8) at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:484 #6 0x0095123a in vtkXOpenGLRenderWindow::Start() (this=0x876e0c8) at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:747 #7 0x0092e5cf in vtkXRenderWindowInteractor::Initialize() (this=0x876e470) at /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:304 #8 0x008813c6 in vtkRenderWindow::Render() (this=0x876e0c8) at /home/malaterre/Kitware/VTK/Rendering/vtkRenderWindow.cxx:233 #9 0x0095385a in vtkXOpenGLRenderWindow::Render() (this=0x876e0c8) at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1330 #10 0x08048bff in main () at /home/malaterre/Kitware/Test/hang.cxx:19 (gdb) up #1 0x00488822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 2583 XSync(b->display, False); Current language: auto; currently c (gdb) p b->display $1 = (XMesaDisplay *) 0x8776ba0 (gdb) p *b->display $2 = <incomplete type> (gdb) Running valgrind (CVS) is evenmore bizarre since it crash right away (compare to when I use gdb). I have attach the output (log). On the otherhand with my ATI driver using LIBGL_ALWAYS_INDIRECT or not make the test pass... Any clue Mathieu |
From: Brian P. <bri...@tu...> - 2004-10-28 21:43:06
|
Mathieu Malaterre wrote: > Brian Paul wrote: > >> Mathieu Malaterre wrote: >> >>> Brian Paul wrote: >>> >>>> Mathieu Malaterre wrote: >>>> >>>>> Hello, >>>>> >>>>> I have a seg fault in Mesa 6.2, which I compile with make >>>>> linux-x86-debug. But gdb complains about: >>>>> >>>>> Program received signal SIGFPE, Arithmetic exception. >>>>> [Switching to Thread -1084546944 (LWP 1746)] >>>>> _mesa_test_os_sse_exception_support () at x86/common_x86_asm.S:193 >>>>> 193 DIVPS ( XMM0, XMM1 ) >>>>> >>>>> >>>>> Is there a simple way to work around that ( I guess recompile Mesa >>>>> with some more option). >>>> >>>> >>>> >>>> >>>> >>>> Just type 'continue' in gdb when that happens. It's normal. >>> >>> >>> >>> >>> Thanks Brian, >>> >>> Now I have: >>> >>> Program received signal SIGSEGV, Segmentation fault. >>> 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >>> (gdb) bt >>> #0 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >>> #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >>> #2 0x00582b5a in Fake_glXCreateContext (dpy=0x9703bb8, >>> visinfo=0x96fa570, share_list=0x0, direct=1) at >>> drivers/x11/fakeglx.c:1268 >>> #3 0x0057ebd6 in glXCreateContext (dpy=0x9703bb8, visinfo=0x96fa570, >>> shareList=0x0, direct=1) at drivers/x11/glxapi.c:187 >>> #4 0x00ddb612 in vtkXOpenGLRenderWindow::WindowInitialize() >>> (this=0x96f10c8) at >>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:404 >>> #5 0x00ddbb1a in vtkXOpenGLRenderWindow::Initialize() >>> (this=0x96f10c8) at >>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:484 >>> #6 0x00ddc23a in vtkXOpenGLRenderWindow::Start() (this=0x96f10c8) at >>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:747 >>> #7 0x00db95cf in vtkXRenderWindowInteractor::Initialize() >>> (this=0x96f1470) at >>> /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:304 >>> #8 0x00d0c3c6 in vtkRenderWindow::Render() (this=0x96f10c8) at >>> /home/malaterre/Kitware/VTK/Rendering/vtkRenderWindow.cxx:233 >>> #9 0x00dde85a in vtkXOpenGLRenderWindow::Render() (this=0x96f10c8) >>> at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1330 >>> #10 0x08048bff in main () at /home/malaterre/Kitware/Test/hang.cxx:19 >>> (gdb) up >>> #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >>> 2583 XSync(b->display, False); >>> Current language: auto; currently c >>> (gdb) p b->display >>> $1 = (XMesaDisplay *) 0x96f9ba0 >>> >>> >>> Is this familiar for you ? I think at some point I read some >>> structure are not being cleanup eventhough they were deleted. >> >> >> >> I've never seen that one before. Can you print *b->display? >> >> I'd probably run with valgrind next to see if memory was getting >> trashed at some point. > > > I am sure I built Mesa using linux-x86-debug but for some reason I don't > have access to the structure: > > Program received signal SIGSEGV, Segmentation fault. > 0x02ef1a83 in XSync () from /usr/X11R6/lib/libX11.so.6 > (gdb) bt > #0 0x02ef1a83 in XSync () from /usr/X11R6/lib/libX11.so.6 > #1 0x00488822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 > #2 0x00481b5a in Fake_glXCreateContext (dpy=0x8780bd8, > visinfo=0x8777560, share_list=0x0, direct=1) at drivers/x11/fakeglx.c:1268 > #3 0x0047dbd6 in glXCreateContext (dpy=0x8780bd8, visinfo=0x8777560, > shareList=0x0, direct=1) at drivers/x11/glxapi.c:187 > #4 0x00950612 in vtkXOpenGLRenderWindow::WindowInitialize() > (this=0x876e0c8) at > /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:404 > #5 0x00950b1a in vtkXOpenGLRenderWindow::Initialize() (this=0x876e0c8) > at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:484 > #6 0x0095123a in vtkXOpenGLRenderWindow::Start() (this=0x876e0c8) at > /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:747 > #7 0x0092e5cf in vtkXRenderWindowInteractor::Initialize() > (this=0x876e470) at > /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:304 > #8 0x008813c6 in vtkRenderWindow::Render() (this=0x876e0c8) at > /home/malaterre/Kitware/VTK/Rendering/vtkRenderWindow.cxx:233 > #9 0x0095385a in vtkXOpenGLRenderWindow::Render() (this=0x876e0c8) at > /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1330 > #10 0x08048bff in main () at /home/malaterre/Kitware/Test/hang.cxx:19 > (gdb) up > #1 0x00488822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 > 2583 XSync(b->display, False); > Current language: auto; currently c > (gdb) p b->display > $1 = (XMesaDisplay *) 0x8776ba0 > (gdb) p *b->display > $2 = <incomplete type> > (gdb) > > > > Running valgrind (CVS) is evenmore bizarre since it crash right away > (compare to when I use gdb). I have attach the output (log). > > On the otherhand with my ATI driver using LIBGL_ALWAYS_INDIRECT or not > make the test pass... Try setting MESA_NO_ASM before running with valgrind. I guess it has a problem with the signal handler used to test x86 CPU features. -Brian |
From: Mathieu M. <mat...@ki...> - 2004-10-28 21:48:24
|
Brian Paul wrote: > Mathieu Malaterre wrote: > >> Brian Paul wrote: >> >>> Mathieu Malaterre wrote: >>> >>>> Brian Paul wrote: >>>> >>>>> Mathieu Malaterre wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> I have a seg fault in Mesa 6.2, which I compile with make >>>>>> linux-x86-debug. But gdb complains about: >>>>>> >>>>>> Program received signal SIGFPE, Arithmetic exception. >>>>>> [Switching to Thread -1084546944 (LWP 1746)] >>>>>> _mesa_test_os_sse_exception_support () at x86/common_x86_asm.S:193 >>>>>> 193 DIVPS ( XMM0, XMM1 ) >>>>>> >>>>>> >>>>>> Is there a simple way to work around that ( I guess recompile Mesa >>>>>> with some more option). >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Just type 'continue' in gdb when that happens. It's normal. >>>> >>>> >>>> >>>> >>>> >>>> Thanks Brian, >>>> >>>> Now I have: >>>> >>>> Program received signal SIGSEGV, Segmentation fault. >>>> 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >>>> (gdb) bt >>>> #0 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >>>> #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >>>> #2 0x00582b5a in Fake_glXCreateContext (dpy=0x9703bb8, >>>> visinfo=0x96fa570, share_list=0x0, direct=1) at >>>> drivers/x11/fakeglx.c:1268 >>>> #3 0x0057ebd6 in glXCreateContext (dpy=0x9703bb8, >>>> visinfo=0x96fa570, shareList=0x0, direct=1) at drivers/x11/glxapi.c:187 >>>> #4 0x00ddb612 in vtkXOpenGLRenderWindow::WindowInitialize() >>>> (this=0x96f10c8) at >>>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:404 >>>> #5 0x00ddbb1a in vtkXOpenGLRenderWindow::Initialize() >>>> (this=0x96f10c8) at >>>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:484 >>>> #6 0x00ddc23a in vtkXOpenGLRenderWindow::Start() (this=0x96f10c8) >>>> at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:747 >>>> #7 0x00db95cf in vtkXRenderWindowInteractor::Initialize() >>>> (this=0x96f1470) at >>>> /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:304 >>>> >>>> #8 0x00d0c3c6 in vtkRenderWindow::Render() (this=0x96f10c8) at >>>> /home/malaterre/Kitware/VTK/Rendering/vtkRenderWindow.cxx:233 >>>> #9 0x00dde85a in vtkXOpenGLRenderWindow::Render() (this=0x96f10c8) >>>> at >>>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1330 >>>> #10 0x08048bff in main () at /home/malaterre/Kitware/Test/hang.cxx:19 >>>> (gdb) up >>>> #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >>>> 2583 XSync(b->display, False); >>>> Current language: auto; currently c >>>> (gdb) p b->display >>>> $1 = (XMesaDisplay *) 0x96f9ba0 >>>> >>>> >>>> Is this familiar for you ? I think at some point I read some >>>> structure are not being cleanup eventhough they were deleted. >>> >>> >>> >>> >>> I've never seen that one before. Can you print *b->display? >>> >>> I'd probably run with valgrind next to see if memory was getting >>> trashed at some point. >> >> >> >> I am sure I built Mesa using linux-x86-debug but for some reason I >> don't have access to the structure: >> >> Program received signal SIGSEGV, Segmentation fault. >> 0x02ef1a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >> (gdb) bt >> #0 0x02ef1a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >> #1 0x00488822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >> #2 0x00481b5a in Fake_glXCreateContext (dpy=0x8780bd8, >> visinfo=0x8777560, share_list=0x0, direct=1) at >> drivers/x11/fakeglx.c:1268 >> #3 0x0047dbd6 in glXCreateContext (dpy=0x8780bd8, visinfo=0x8777560, >> shareList=0x0, direct=1) at drivers/x11/glxapi.c:187 >> #4 0x00950612 in vtkXOpenGLRenderWindow::WindowInitialize() >> (this=0x876e0c8) at >> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:404 >> #5 0x00950b1a in vtkXOpenGLRenderWindow::Initialize() >> (this=0x876e0c8) at >> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:484 >> #6 0x0095123a in vtkXOpenGLRenderWindow::Start() (this=0x876e0c8) at >> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:747 >> #7 0x0092e5cf in vtkXRenderWindowInteractor::Initialize() >> (this=0x876e470) at >> /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:304 >> #8 0x008813c6 in vtkRenderWindow::Render() (this=0x876e0c8) at >> /home/malaterre/Kitware/VTK/Rendering/vtkRenderWindow.cxx:233 >> #9 0x0095385a in vtkXOpenGLRenderWindow::Render() (this=0x876e0c8) at >> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1330 >> #10 0x08048bff in main () at /home/malaterre/Kitware/Test/hang.cxx:19 >> (gdb) up >> #1 0x00488822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >> 2583 XSync(b->display, False); >> Current language: auto; currently c >> (gdb) p b->display >> $1 = (XMesaDisplay *) 0x8776ba0 >> (gdb) p *b->display >> $2 = <incomplete type> >> (gdb) >> >> >> >> Running valgrind (CVS) is evenmore bizarre since it crash right away >> (compare to when I use gdb). I have attach the output (log). >> >> On the otherhand with my ATI driver using LIBGL_ALWAYS_INDIRECT or not >> make the test pass... > > > Try setting MESA_NO_ASM before running with valgrind. I guess it has a > problem with the signal handler used to test x86 CPU features. Excellent that did the trick. The bad news is that it confirm that the pointer read is just garbage: ==11618== Memcheck, a memory error detector for x86-linux. ==11618== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward et al. ==11618== Using valgrind-2.3.0.CVS, a program supervision framework for x86-linux. ==11618== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward et al. ==11618== For more details, rerun with: -v ==11618== ==11618== Invalid read of size 4 ==11618== at 0x8EE9A6: XSync (in /usr/X11R6/lib/libX11.so.6.2) ==11618== by 0x1BADE821: XMesaGarbageCollect (xm_api.c:2583) ==11618== by 0x1BAD7B59: Fake_glXCreateContext (fakeglx.c:1268) ==11618== by 0x1BAD3BD5: glXCreateContext (glxapi.c:187) ==11618== by 0x1BD6A611: vtkXOpenGLRenderWindow::WindowInitialize() (vtkXOpenGLRenderWindow.cxx:404) ==11618== by 0x1BD6AB19: vtkXOpenGLRenderWindow::Initialize() (vtkXOpenGLRenderWindow.cxx:484) ==11618== by 0x1BD6B239: vtkXOpenGLRenderWindow::Start() (vtkXOpenGLRenderWindow.cxx:747) ==11618== by 0x1BD485CE: vtkXRenderWindowInteractor::Initialize() (vtkXRenderWindowInteractor.cxx:304) ==11618== by 0x1BC9B3C5: vtkRenderWindow::Render() (vtkRenderWindow.cxx:233) ==11618== by 0x1BD6D859: vtkXOpenGLRenderWindow::Render() (vtkXOpenGLRenderWindow.cxx:1330) ==11618== by 0x8048BFE: main (hang.cxx:19) ==11618== Address 0x1CE78F90 is 1232 bytes inside a block of size 1336 free'd ==11618== at 0x1B904269: free (vg_replace_malloc.c:152) ==11618== by 0x8E4D6E: _XFreeDisplayStructure (in /usr/X11R6/lib/libX11.so.6.2) ==11618== by 0x8D3425: XCloseDisplay (in /usr/X11R6/lib/libX11.so.6.2) ==11618== by 0xA75C63: (within /usr/X11R6/lib/libXt.so.6.0) ==11618== by 0xA75DB8: XtCloseDisplay (in /usr/X11R6/lib/libXt.so.6.0) ==11618== by 0xA75514: (within /usr/X11R6/lib/libXt.so.6.0) ==11618== by 0xA756E9: XtDestroyApplicationContext (in /usr/X11R6/lib/libXt.so.6.0) ==11618== by 0x1BD47854: vtkXRenderWindowInteractor::~vtkXRenderWindowInteractor() (vtkXRenderWindowInteractor.cxx:87) ==11618== by 0x1CC2713F: vtkObject::UnRegister(vtkObjectBase*) (vtkObject.cxx:246) ==11618== by 0x1BCA6B29: vtkRenderWindowInteractor::UnRegister(vtkObjectBase*) (vtkRenderWindowInteractor.cxx:120) ==11618== by 0x1CC283DD: vtkObjectBase::Delete() (vtkObjectBase.cxx:83) ==11618== by 0x8048C52: main (hang.cxx:24) ==11618== I mean this is not very important, this is particular case. Anyway thanks for the trick about MESA_NO_ASM, this might be usefull some other time. Thanks again, Mathieu |
From: Brian P. <bri...@tu...> - 2004-10-28 22:10:37
|
Mathieu Malaterre wrote: > Brian Paul wrote: > >> Mathieu Malaterre wrote: >> >>> Brian Paul wrote: >>> >>>> Mathieu Malaterre wrote: >>>> >>>>> Brian Paul wrote: >>>>> >>>>>> Mathieu Malaterre wrote: >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> I have a seg fault in Mesa 6.2, which I compile with make >>>>>>> linux-x86-debug. But gdb complains about: >>>>>>> >>>>>>> Program received signal SIGFPE, Arithmetic exception. >>>>>>> [Switching to Thread -1084546944 (LWP 1746)] >>>>>>> _mesa_test_os_sse_exception_support () at x86/common_x86_asm.S:193 >>>>>>> 193 DIVPS ( XMM0, XMM1 ) >>>>>>> >>>>>>> >>>>>>> Is there a simple way to work around that ( I guess recompile >>>>>>> Mesa with some more option). >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Just type 'continue' in gdb when that happens. It's normal. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Thanks Brian, >>>>> >>>>> Now I have: >>>>> >>>>> Program received signal SIGSEGV, Segmentation fault. >>>>> 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >>>>> (gdb) bt >>>>> #0 0x06dd3a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >>>>> #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >>>>> #2 0x00582b5a in Fake_glXCreateContext (dpy=0x9703bb8, >>>>> visinfo=0x96fa570, share_list=0x0, direct=1) at >>>>> drivers/x11/fakeglx.c:1268 >>>>> #3 0x0057ebd6 in glXCreateContext (dpy=0x9703bb8, >>>>> visinfo=0x96fa570, shareList=0x0, direct=1) at >>>>> drivers/x11/glxapi.c:187 >>>>> #4 0x00ddb612 in vtkXOpenGLRenderWindow::WindowInitialize() >>>>> (this=0x96f10c8) at >>>>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:404 >>>>> #5 0x00ddbb1a in vtkXOpenGLRenderWindow::Initialize() >>>>> (this=0x96f10c8) at >>>>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:484 >>>>> #6 0x00ddc23a in vtkXOpenGLRenderWindow::Start() (this=0x96f10c8) >>>>> at >>>>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:747 >>>>> #7 0x00db95cf in vtkXRenderWindowInteractor::Initialize() >>>>> (this=0x96f1470) at >>>>> /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:304 >>>>> >>>>> #8 0x00d0c3c6 in vtkRenderWindow::Render() (this=0x96f10c8) at >>>>> /home/malaterre/Kitware/VTK/Rendering/vtkRenderWindow.cxx:233 >>>>> #9 0x00dde85a in vtkXOpenGLRenderWindow::Render() (this=0x96f10c8) >>>>> at >>>>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1330 >>>>> #10 0x08048bff in main () at /home/malaterre/Kitware/Test/hang.cxx:19 >>>>> (gdb) up >>>>> #1 0x00589822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >>>>> 2583 XSync(b->display, False); >>>>> Current language: auto; currently c >>>>> (gdb) p b->display >>>>> $1 = (XMesaDisplay *) 0x96f9ba0 >>>>> >>>>> >>>>> Is this familiar for you ? I think at some point I read some >>>>> structure are not being cleanup eventhough they were deleted. >>>> >>>> >>>> >>>> >>>> >>>> I've never seen that one before. Can you print *b->display? >>>> >>>> I'd probably run with valgrind next to see if memory was getting >>>> trashed at some point. >>> >>> >>> >>> >>> I am sure I built Mesa using linux-x86-debug but for some reason I >>> don't have access to the structure: >>> >>> Program received signal SIGSEGV, Segmentation fault. >>> 0x02ef1a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >>> (gdb) bt >>> #0 0x02ef1a83 in XSync () from /usr/X11R6/lib/libX11.so.6 >>> #1 0x00488822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >>> #2 0x00481b5a in Fake_glXCreateContext (dpy=0x8780bd8, >>> visinfo=0x8777560, share_list=0x0, direct=1) at >>> drivers/x11/fakeglx.c:1268 >>> #3 0x0047dbd6 in glXCreateContext (dpy=0x8780bd8, visinfo=0x8777560, >>> shareList=0x0, direct=1) at drivers/x11/glxapi.c:187 >>> #4 0x00950612 in vtkXOpenGLRenderWindow::WindowInitialize() >>> (this=0x876e0c8) at >>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:404 >>> #5 0x00950b1a in vtkXOpenGLRenderWindow::Initialize() >>> (this=0x876e0c8) at >>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:484 >>> #6 0x0095123a in vtkXOpenGLRenderWindow::Start() (this=0x876e0c8) at >>> /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:747 >>> #7 0x0092e5cf in vtkXRenderWindowInteractor::Initialize() >>> (this=0x876e470) at >>> /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:304 >>> #8 0x008813c6 in vtkRenderWindow::Render() (this=0x876e0c8) at >>> /home/malaterre/Kitware/VTK/Rendering/vtkRenderWindow.cxx:233 >>> #9 0x0095385a in vtkXOpenGLRenderWindow::Render() (this=0x876e0c8) >>> at /home/malaterre/Kitware/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1330 >>> #10 0x08048bff in main () at /home/malaterre/Kitware/Test/hang.cxx:19 >>> (gdb) up >>> #1 0x00488822 in XMesaGarbageCollect () at drivers/x11/xm_api.c:2583 >>> 2583 XSync(b->display, False); >>> Current language: auto; currently c >>> (gdb) p b->display >>> $1 = (XMesaDisplay *) 0x8776ba0 >>> (gdb) p *b->display >>> $2 = <incomplete type> >>> (gdb) >>> >>> >>> >>> Running valgrind (CVS) is evenmore bizarre since it crash right away >>> (compare to when I use gdb). I have attach the output (log). >>> >>> On the otherhand with my ATI driver using LIBGL_ALWAYS_INDIRECT or >>> not make the test pass... >> >> >> >> Try setting MESA_NO_ASM before running with valgrind. I guess it has >> a problem with the signal handler used to test x86 CPU features. > > > > Excellent that did the trick. The bad news is that it confirm that the > pointer read is just garbage: > > ==11618== Memcheck, a memory error detector for x86-linux. > ==11618== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward et al. > ==11618== Using valgrind-2.3.0.CVS, a program supervision framework for > x86-linux. > ==11618== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward et al. > ==11618== For more details, rerun with: -v > ==11618== > ==11618== Invalid read of size 4 > ==11618== at 0x8EE9A6: XSync (in /usr/X11R6/lib/libX11.so.6.2) > ==11618== by 0x1BADE821: XMesaGarbageCollect (xm_api.c:2583) > ==11618== by 0x1BAD7B59: Fake_glXCreateContext (fakeglx.c:1268) > ==11618== by 0x1BAD3BD5: glXCreateContext (glxapi.c:187) > ==11618== by 0x1BD6A611: vtkXOpenGLRenderWindow::WindowInitialize() > (vtkXOpenGLRenderWindow.cxx:404) > ==11618== by 0x1BD6AB19: vtkXOpenGLRenderWindow::Initialize() > (vtkXOpenGLRenderWindow.cxx:484) > ==11618== by 0x1BD6B239: vtkXOpenGLRenderWindow::Start() > (vtkXOpenGLRenderWindow.cxx:747) > ==11618== by 0x1BD485CE: vtkXRenderWindowInteractor::Initialize() > (vtkXRenderWindowInteractor.cxx:304) > ==11618== by 0x1BC9B3C5: vtkRenderWindow::Render() > (vtkRenderWindow.cxx:233) > ==11618== by 0x1BD6D859: vtkXOpenGLRenderWindow::Render() > (vtkXOpenGLRenderWindow.cxx:1330) > ==11618== by 0x8048BFE: main (hang.cxx:19) > ==11618== Address 0x1CE78F90 is 1232 bytes inside a block of size 1336 > free'd > ==11618== at 0x1B904269: free (vg_replace_malloc.c:152) > ==11618== by 0x8E4D6E: _XFreeDisplayStructure (in > /usr/X11R6/lib/libX11.so.6.2) > ==11618== by 0x8D3425: XCloseDisplay (in /usr/X11R6/lib/libX11.so.6.2) > ==11618== by 0xA75C63: (within /usr/X11R6/lib/libXt.so.6.0) > ==11618== by 0xA75DB8: XtCloseDisplay (in /usr/X11R6/lib/libXt.so.6.0) > ==11618== by 0xA75514: (within /usr/X11R6/lib/libXt.so.6.0) > ==11618== by 0xA756E9: XtDestroyApplicationContext (in > /usr/X11R6/lib/libXt.so.6.0) > ==11618== by 0x1BD47854: > vtkXRenderWindowInteractor::~vtkXRenderWindowInteractor() > (vtkXRenderWindowInteractor.cxx:87) > ==11618== by 0x1CC2713F: vtkObject::UnRegister(vtkObjectBase*) > (vtkObject.cxx:246) > ==11618== by 0x1BCA6B29: > vtkRenderWindowInteractor::UnRegister(vtkObjectBase*) > (vtkRenderWindowInteractor.cxx:120) > ==11618== by 0x1CC283DD: vtkObjectBase::Delete() (vtkObjectBase.cxx:83) > ==11618== by 0x8048C52: main (hang.cxx:24) > ==11618== > > > > I mean this is not very important, this is particular case. Anyway > thanks for the trick about MESA_NO_ASM, this might be usefull some other > time. Could you tell me how to reproduce this with a VTK demo? I've got VTK 3.2 here. You could try no-oping the XMesaGarbageCollect() function. -Brian |
From: Mathieu M. <mat...@ki...> - 2004-10-28 22:18:40
|
> Could you tell me how to reproduce this with a VTK demo? I've got VTK > 3.2 here. This is the demo I used: #include "vtkRenderWindow.h" #include "vtkRenderWindowInteractor.h" #include "vtkRenderer.h" int main() { for (int i=0; i<3; i++) { vtkRenderer *renderer = vtkRenderer::New(); vtkRenderWindow *renWin = vtkRenderWindow::New(); renWin->AddRenderer(renderer); vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); iren->SetRenderWindow(renWin); renderer->SetBackground(1,1,1); renWin->SetSize(800,800); renWin->Render(); iren->Start(); renWin->Delete(); renderer->Delete(); iren->Delete(); } } A blank window should appear then press 'q', the second window should never come up but creates a seg fault (using VTK 4.5 though) HTH Mathieu > You could try no-oping the XMesaGarbageCollect() function. What do you mean ? Thanks Mathieu |
From: Brian P. <bri...@tu...> - 2004-10-28 22:30:35
|
Mathieu Malaterre wrote: > >> Could you tell me how to reproduce this with a VTK demo? I've got VTK >> 3.2 here. > > > This is the demo I used: > > #include "vtkRenderWindow.h" > #include "vtkRenderWindowInteractor.h" > #include "vtkRenderer.h" > > int main() > { > for (int i=0; i<3; i++) > { > vtkRenderer *renderer = vtkRenderer::New(); > vtkRenderWindow *renWin = vtkRenderWindow::New(); > renWin->AddRenderer(renderer); > vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); > iren->SetRenderWindow(renWin); > > renderer->SetBackground(1,1,1); > renWin->SetSize(800,800); > > renWin->Render(); > iren->Start(); > > renWin->Delete(); > renderer->Delete(); > iren->Delete(); > } > } Got a Makefile too? > A blank window should appear then press 'q', the second window should > never come up but creates a seg fault (using VTK 4.5 though) > > HTH > Mathieu > > > > You could try no-oping the XMesaGarbageCollect() function. > > What do you mean ? Enclose the body of XMesaGarbageCollect() with #if 0 / #endif. -Brian |
From: Mathieu M. <mat...@ki...> - 2004-10-28 22:42:27
Attachments:
newlog
|
Brian Paul wrote: > Mathieu Malaterre wrote: > >> >>> Could you tell me how to reproduce this with a VTK demo? I've got >>> VTK 3.2 here. >> >> >> >> This is the demo I used: >> >> #include "vtkRenderWindow.h" >> #include "vtkRenderWindowInteractor.h" >> #include "vtkRenderer.h" >> >> int main() >> { >> for (int i=0; i<3; i++) >> { >> vtkRenderer *renderer = vtkRenderer::New(); >> vtkRenderWindow *renWin = vtkRenderWindow::New(); >> renWin->AddRenderer(renderer); >> vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); >> iren->SetRenderWindow(renWin); >> >> renderer->SetBackground(1,1,1); >> renWin->SetSize(800,800); >> >> renWin->Render(); >> iren->Start(); >> >> renWin->Delete(); >> renderer->Delete(); >> iren->Delete(); >> } >> } > > > Got a Makefile too? c++ -o hang.o -g -O0 -Wall -W -Wshadow -Wunused-variable -Wunused-parameter -Wunused-function -Wunused -Wno-system-headers -Wno-deprecated -Woverloaded-virtual -Wno-deprecated -g -I/home/malaterre/Kitware/Test -I/home/malaterre/Kitware/VTK-gcc -I/home/malaterre/Kitware/VTK-gcc/Utilities -I/home/malaterre/Kitware/VTK/Parallel -I/home/malaterre/Kitware/VTK/Hybrid -I/home/malaterre/Kitware/VTK/Patented -I/home/malaterre/Kitware/VTK/Rendering -I/home/malaterre/Kitware/VTK/IO -I/home/malaterre/Kitware/VTK/Imaging -I/home/malaterre/Kitware/VTK/Graphics -I/home/malaterre/Kitware/VTK/GenericFiltering -I/home/malaterre/Kitware/VTK/Filtering -I/home/malaterre/Kitware/VTK/Common -I/home/malaterre/Kitware/VTK/Utilities -I/home/malaterre/Kitware/VTK/Common/Testing/Cxx -I/home/malaterre/Kitware/VTK-gcc/Utilities/DICOMParser -I/home/malaterre/Kitware/VTK/Utilities/DICOMParser -I/home/malaterre/Kitware/VTK-gcc/Utilities/freetype/include -I/home/malaterre/Kitware/VTK/Utilities/freetype/include -I/usr/X11R6/include -I/usr/include/python2.2 -c /home/malaterre/Kitware/Test/hang.cxx Building executable /home/malaterre/Kitware/Test/bin/hang... c++ -g -O0 -Wall -W -Wshadow -Wunused-variable -Wunused-parameter -Wunused-function -Wunused -Wno-system-headers -Wno-deprecated -Woverloaded-virtual -Wno-deprecated -fPIC hang.o -o /home/malaterre/Kitware/Test/bin/hang -rdynamic -L/home/malaterre/Kitware/VTK-gcc/bin -L/usr/X11R6/lib -lvtkRendering -lvtkGraphics -lvtkImaging -lvtkIO -lvtkFiltering -lvtkCommon -lpthread -ldl -lm -lvtkDICOMParser -lpng -lz -lvtktiff -lvtkzlib -ljpeg -lexpat -lvtkftgl -lvtkfreetype -lGL -lXt -lSM -lICE -lSM -lICE -lSM -lICE -lX11 -lXext -lX11 -lXext -lX11 -lXext -Wl,-rpath,/home/malaterre/Kitware/VTK-gcc/bin:/usr/X11R6/lib should work. If you have cmake (http://cmake.org) on you system I have something easier and more portable. > Enclose the body of XMesaGarbageCollect() with #if 0 / #endif. doh ! Okay time to go to bed :). Ok I try it works fine now. I also enclose the valgrind output if of interest (newlog) Thanks Mathieu |