Summary: | [EGL] dEQP-EGL.functional.sharing.gles2.multithread intermittent | ||
---|---|---|---|
Product: | Mesa | Reporter: | Mark Janes <mark.a.janes> |
Component: | Drivers/DRI/i965 | Assignee: | Chad Versace <chadversary> |
Status: | RESOLVED FIXED | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | normal | ||
Priority: | medium | CC: | chadversary |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
See Also: |
https://bugs.freedesktop.org/show_bug.cgi?id=98602 https://bugs.freedesktop.org/show_bug.cgi?id=99209 |
||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 98315 | ||
Attachments: | Backtrace of crash in dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source.create_texture_render |
Description
Mark Janes
2016-12-14 16:25:13 UTC
Updating status .. I did a script to run dEQP test 'x' times (and abort if failed) to investigate spurious failures. It seems tests with 'texture_source' ("Image management tests with texture source") fail sometimes and to be precise only the ones with 'config.render' set, others (1256 remaining tests) pass fine even with hundreds of iterations. Failure happens always at shader program deletion, I will attempt to isolate further from here. Created attachment 128670 [details]
Backtrace of crash in dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source.create_texture_render
Attached is a backtrace of the crash in dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source.create_texture_render.
Repo versions:
mesa: master@d6545f2
deqp: nougat-cts-dev@4acf725 with local patches
deqp-target: x11_egl
Crashing line is src/mesa/main/shaderobj.c:253:
248│ void
249│ _mesa_reference_shader_program_(struct gl_context *ctx,
250│ struct gl_shader_program **ptr,
251│ struct gl_shader_program *shProg)
252│ {
**253│ assert(ptr);
254│ if (*ptr == shProg) {
255│ /* no-op */
256│ return;
257│ }
See attachment for full backtrace.
(In reply to Chad Versace from comment #2) > Created attachment 128670 [details] > Backtrace of crash in > dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source. > create_texture_render > > Attached is a backtrace of the crash in > dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source. > create_texture_render. > > Repo versions: > mesa: master@d6545f2 > > deqp: nougat-cts-dev@4acf725 with local patches > deqp-target: x11_egl > > Crashing line is src/mesa/main/shaderobj.c:253: > > 248│ void > 249│ _mesa_reference_shader_program_(struct gl_context *ctx, > 250│ struct gl_shader_program **ptr, > 251│ struct gl_shader_program *shProg) > 252│ { > **253│ assert(ptr); > 254│ if (*ptr == shProg) { > 255│ /* no-op */ > 256│ return; > 257│ } And sometimes I see the crash on a different line in the same function: 248│ void 249│ _mesa_reference_shader_program_(struct gl_context *ctx, 250│ struct gl_shader_program **ptr, 251│ struct gl_shader_program *shProg) 252│ { 253│ assert(ptr); 254│ if (*ptr == shProg) { 255│ /* no-op */ 256│ return; 257│ } 258│ if (*ptr) { 259│ /* Unreference the old shader program */ 260│ GLboolean deleteFlag = GL_FALSE; 261│ struct gl_shader_program *old = *ptr; 262│ **263├> assert(old->RefCount > 0); Fix submitted to mesa-dev. https://lists.freedesktop.org/archives/mesa-dev/2016-December/139021.html https://patchwork.freedesktop.org/patch/129481/ From: Chad Versace <chadversary@chromium.org> To: mesa-dev@lists.freedesktop.org Subject: [PATCH] mesa/shaderobj: Fix races on refcounts Date: Tue, 27 Dec 2016 14:45:53 -0800 Message-Id: <20161227224553.56135-1-chadversary@chromium.org> (In reply to Chad Versace from comment #4) > Fix submitted to mesa-dev. > > https://lists.freedesktop.org/archives/mesa-dev/2016-December/139021.html > https://patchwork.freedesktop.org/patch/129481/ > > From: Chad Versace <chadversary@chromium.org> > To: mesa-dev@lists.freedesktop.org > Subject: [PATCH] mesa/shaderobj: Fix races on refcounts > Date: Tue, 27 Dec 2016 14:45:53 -0800 > Message-Id: <20161227224553.56135-1-chadversary@chromium.org> Superb! I was trying to tackle this by adding more locking but did not get it pass. Patch is pushed. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.