Bug#685328: GLX_INTEL_swap_event crashes driver when swapping window buffers

2014-03-02 Thread Daniel Manjarres
My follow-up was at:

https://bugs.freedesktop.org/show_bug.cgi?id=54372

They apparently never got around to even looking at the patch, and dropped
it on the floor despite multiple pings from me. Since I filled the bug they
have release multiple version of the driver with the exact same crash bug.
It is possible that they have fixed it in the latest version; I gave up
checking months ago. If you'd like I can go ahead and retest it.


On Sun, Mar 2, 2014 at 7:07 AM, Julien Cristau jcris...@debian.org wrote:

 On Sun, Aug 26, 2012 at 11:08:04 +0200, Julien Cristau wrote:

  On Mon, Aug 20, 2012 at 15:37:33 -0700, Daniel Manjarres wrote:
 
   I only sent it to you. You guys are easier to contact ;)
  
  Please send it to mesa-...@lists.freedesktop.org.
 
 No followup, so I'm going to assume this is either fixed or unimportant.

 Cheers,
 Julien



Bug#685328: GLX_INTEL_swap_event crashes driver when swapping window buffers

2012-08-26 Thread Daniel Manjarres
I only sent it to you. You guys are easier to contact ;)

On Mon, Aug 20, 2012 at 1:07 PM, Julien Cristau jcris...@debian.org wrote:

 On Sun, Aug 19, 2012 at 12:30:30 -0700, Daniel Manjarres wrote:

  Package: libgl1-mesa-glx
  Version: 8.0.4-1
  Severity: important
  Tags: patch, upstream
 
  Dear Maintainer,
  When enabling GLX_INTEL_swap_event for windows:
  in the file src/glx/dri2.c:
  DRI2WireToEvent assumes the event it is generating is asociated with a
  GLXPixmap, and tries to look up the pixmap in the glxDrawHash hash
  table, but as the buffer swap is for a _WINDOW_ not a pixmap the result
  is NULL. DRI2WireToEvent then dereferences the null pointer, and SEGVs.
 
  The attached patch handles this situation gracefully.
 
 Is this patch applied upstream?  If not was it sent there?  If yes
 what's the commit id?

 Thanks,
 Julien



Bug#685328: GLX_INTEL_swap_event crashes driver when swapping window buffers

2012-08-26 Thread Julien Cristau
On Mon, Aug 20, 2012 at 15:37:33 -0700, Daniel Manjarres wrote:

 I only sent it to you. You guys are easier to contact ;)
 
Please send it to mesa-...@lists.freedesktop.org.

Thanks,
Julien


signature.asc
Description: Digital signature


Bug#685328: GLX_INTEL_swap_event crashes driver when swapping window buffers

2012-08-20 Thread Julien Cristau
On Sun, Aug 19, 2012 at 12:30:30 -0700, Daniel Manjarres wrote:

 Package: libgl1-mesa-glx
 Version: 8.0.4-1
 Severity: important
 Tags: patch, upstream
 
 Dear Maintainer,
 When enabling GLX_INTEL_swap_event for windows:
 in the file src/glx/dri2.c:
 DRI2WireToEvent assumes the event it is generating is asociated with a
 GLXPixmap, and tries to look up the pixmap in the glxDrawHash hash
 table, but as the buffer swap is for a _WINDOW_ not a pixmap the result
 is NULL. DRI2WireToEvent then dereferences the null pointer, and SEGVs.
 
 The attached patch handles this situation gracefully.
 
Is this patch applied upstream?  If not was it sent there?  If yes
what's the commit id?

Thanks,
Julien


signature.asc
Description: Digital signature


Bug#685328: GLX_INTEL_swap_event crashes driver when swapping window buffers

2012-08-19 Thread Daniel Manjarres

Package: libgl1-mesa-glx
Version: 8.0.4-1
Severity: important
Tags: patch, upstream

Dear Maintainer,
When enabling GLX_INTEL_swap_event for windows:
in the file src/glx/dri2.c:
DRI2WireToEvent assumes the event it is generating is asociated with a
GLXPixmap, and tries to look up the pixmap in the glxDrawHash hash
table, but as the buffer swap is for a _WINDOW_ not a pixmap the result
is NULL. DRI2WireToEvent then dereferences the null pointer, and SEGVs.

The attached patch handles this situation gracefully.

diff --git b/src/glx/dri2.c a/src/glx/dri2.c
index b1b5013..2cbe968 100644
--- b/src/glx/dri2.c
+++ a/src/glx/dri2.c
@@ -130,10 +130,17 @@ DRI2WireToEvent(Display *dpy, XEvent *event, xEvent *wire)
   aevent-msc = ((CARD64)awire-msc_hi  32) | awire-msc_lo;

   glxDraw = GetGLXDrawable(dpy, pdraw-drawable);
-  if (awire-sbc  glxDraw-lastEventSbc)
-glxDraw-eventSbcWrap += 0x1;
-  glxDraw-lastEventSbc = awire-sbc;
-  aevent-sbc = awire-sbc + glxDraw-eventSbcWrap;
+  if(glxDraw)
+  {
+ if (awire-sbc  glxDraw-lastEventSbc)
+   glxDraw-eventSbcWrap += 0x1;
+ glxDraw-lastEventSbc = awire-sbc;
+ aevent-sbc = awire-sbc + glxDraw-eventSbcWrap;
+  }
+  else
+  {
+ aevent-sbc = awire-sbc;
+  }

   return True;
}


--
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/50313ed6.6050...@gmail.com