Re: [Mesa-dev] [PATCH] Fixes assertion fail on startup in `glXCreateContextAttribsARB`.
On Monday, March 25, 2019 4:46 AM, Felix Schwarz wrote: > Am 25.03.19 um 00:06 schrieb zegen...@protonmail.com: > > > To quote Uli Schlacher, who understands this stuff more than I do: > > "Schlachter" Appears I can't spell if my life depended on it. Fixed. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] Fixes assertion fail on startup in `glXCreateContextAttribsARB`.
From 05468bf625317e76adb43aa8ef20375cc179dd12 Mon Sep 17 00:00:00 2001 From: Hal Gentz Date: Sun, 24 Mar 2019 16:52:39 -0600 Subject: [PATCH] Fixes assertion fail on startup in `glXCreateContextAttribsARB`. To quote Uli Schlachter, who understands this stuff more than I do: > The function __glXSendError() in mesa's src/glx/glx_error.c invents an X11 > protocol error out of thin air. For the sequence number it uses dpy->request. > This is the sequence number of the last request that was sent. _XError() will > then update dpy->last_request_read based on the sequence number of the error > that just "came in". > > If now another something comes in with a sequence number less than > dpy->last_request_read, since sequence numbers are monotonically increasing, > widen() will incorrectly add 1<<32 to the sequence number and things might go > downhill afterwards. `__glXSendErrorForXcb` was also patched, as that's the function that `glXCreateContextAttribsARB` actually uses. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99781 Signed-off-by: Hal Gentz --- src/glx/glx_error.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/glx/glx_error.c b/src/glx/glx_error.c index 653cbeb2d2a..712ecf8213d 100644 --- a/src/glx/glx_error.c +++ b/src/glx/glx_error.c @@ -54,7 +54,7 @@ __glXSendError(Display * dpy, int_fast8_t errorCode, uint_fast32_t resourceID, error.errorCode = glx_dpy->codes->first_error + errorCode; } - error.sequenceNumber = dpy->request; + error.sequenceNumber = dpy->last_request_read; error.resourceID = resourceID; error.minorCode = minorCode; error.majorCode = glx_dpy->majorOpcode; @@ -73,7 +73,7 @@ __glXSendErrorForXcb(Display * dpy, const xcb_generic_error_t *err) error.type = X_Error; error.errorCode = err->error_code; - error.sequenceNumber = err->sequence; + error.sequenceNumber = dpy->last_request_read; error.resourceID = err->resource_id; error.minorCode = err->minor_code; error.majorCode = err->major_code; -- 2.21.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] Fixes assertion fail on startup in `glXCreateContextAttribsARB`.
Am 25.03.19 um 00:06 schrieb zegen...@protonmail.com: > To quote Uli Schlacher, who understands this stuff more than I do: "Schlachter" > https://bugs.freedesktop.org/show_bug.cgi?id=99781 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99781 Felix ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] Fixes assertion fail on startup in `glXCreateContextAttribsARB`.
From 7a701d9839ff788a79519d6ff310b489d4c1376e Mon Sep 17 00:00:00 2001 From: Hal Gentz Date: Sun, 24 Mar 2019 16:52:39 -0600 Subject: [PATCH] Fixes assertion fail on startup in `glXCreateContextAttribsARB`. To quote Uli Schlacher, who understands this stuff more than I do: > The function __glXSendError() in mesa's src/glx/glx_error.c invents an X11 > protocol error out of thin air. For the sequence number it uses dpy->request. > This is the sequence number of the last request that was sent. _XError() will > then update dpy->last_request_read based on the sequence number of the error > that just "came in". > > If now another something comes in with a sequence number less than > dpy->last_request_read, since sequence numbers are monotonically increasing, > widen() will incorrectly add 1<<32 to the sequence number and things might go > downhill afterwards. `__glXSendErrorForXcb` was also patched, as that's the function that `glXCreateContextAttribsARB` actually uses. https://bugs.freedesktop.org/show_bug.cgi?id=99781 Signed-off-by: Hal Gentz --- src/glx/glx_error.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/glx/glx_error.c b/src/glx/glx_error.c index 653cbeb2d2a..712ecf8213d 100644 --- a/src/glx/glx_error.c +++ b/src/glx/glx_error.c @@ -54,7 +54,7 @@ __glXSendError(Display * dpy, int_fast8_t errorCode, uint_fast32_t resourceID, error.errorCode = glx_dpy->codes->first_error + errorCode; } - error.sequenceNumber = dpy->request; + error.sequenceNumber = dpy->last_request_read; error.resourceID = resourceID; error.minorCode = minorCode; error.majorCode = glx_dpy->majorOpcode; @@ -73,7 +73,7 @@ __glXSendErrorForXcb(Display * dpy, const xcb_generic_error_t *err) error.type = X_Error; error.errorCode = err->error_code; - error.sequenceNumber = err->sequence; + error.sequenceNumber = dpy->last_request_read; error.resourceID = err->resource_id; error.minorCode = err->minor_code; error.majorCode = err->major_code; -- 2.21.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev