<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [bisected] "Assertion `info->canary == 0x5A1106' failed." in several GLES3 conformance tests"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98592">98592</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[bisected] "Assertion `info->canary == 0x5A1106' failed." in several GLES3 conformance tests
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>Drivers/DRI/i965
</td>
</tr>
<tr>
<th>Assignee</th>
<td>intel-3d-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>idr@freedesktop.org
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>intel-3d-bugs@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<pre>The following tests
ES3-CTS.functional.shaders.constants.uint_ul_suffix_vertex
ES3-CTS.functional.shaders.constants.uint_ul_suffix_fragment
ES3-CTS.functional.shaders.constants.int_l_suffix_vertex
ES3-CTS.functional.shaders.constants.int_l_suffix_fragment
trigger this assertion failure:
ralloc.c:84: get_header: Assertion `info->canary == 0x5A1106' failed.
I bisected this to:
$ git bisect bad
cc6aa1d161280f10ded7834d1ec2413bc97589fe is the first bad commit
commit cc6aa1d161280f10ded7834d1ec2413bc97589fe
Author: Timothy Arceri <<a href="mailto:timothy.arceri@collabora.com">timothy.arceri@collabora.com</a>>
Date: Thu Nov 3 09:18:17 2016 +1100
st/mesa/r200/i915/i965: use rzalloc() to create gl_program
This allows us to use ralloc_parent() to see which data structure owns
shader_info which allows us to fix a regression in nir_sweep().
This will also allow us to move some fields from gl_linked_shader to
gl_program, which will allow us to do some clean-ups like storing
gl_program directly in the CurrentProgram array in gl_pipeline_object
enabling some small validation optimisations at draw time.
Also it is error prone to depend on the gl_linked_shader for
programs in current use because a failed linking attempt will free
infomation about the current program. In i965 we could be trying
to recompile a shader variant but may have lost some required fields.
Reviewed-by: Eric Anholt <<a href="mailto:eric@anholt.net">eric@anholt.net</a>>
:040000 040000 7675c88ab61c0f0829fbfd0b983d387f1e8e1344
fbf9bb67a3ac1a3e31487cd493acdb70a413ca44 M src
Backtrace:
(gdb) bt
#0 0x00007ffff61faa28 in raise () from /lib64/libc.so.6
#1 0x00007ffff61fc62a in abort () from /lib64/libc.so.6
#2 0x00007ffff61f3227 in __assert_fail_base () from /lib64/libc.so.6
#3 0x00007ffff61f32d2 in __assert_fail () from /lib64/libc.so.6
#4 0x00007ffff3e5bc18 in get_header (ptr=0x3807d50) at ralloc.c:84
#5 0x00007ffff3e5c037 in ralloc_free (ptr=0x3807d50) at ralloc.c:229
#6 0x00007ffff3d7ee3c in _mesa_delete_program (ctx=0x7ffff7f9b040,
prog=0x3807d50) at program/program.c:265
#7 0x00007ffff3f48da3 in brwDeleteProgram (ctx=0x7ffff7f9b040, prog=0x3807d50)
at brw_program.c:175
#8 0x00007ffff3d7f05f in _mesa_reference_program_ (ctx=0x7ffff7f9b040,
ptr=0x380c358, prog=0x0) at program/program.c:321
#9 0x00007ffff3bfa765 in _mesa_reference_program (ctx=0x7ffff7f9b040,
ptr=0x380c358, prog=0x0) at ./program/program.h:89
#10 0x00007ffff3bfa9e4 in _mesa_delete_linked_shader (ctx=0x7ffff7f9b040,
sh=0x380c350) at main/shaderobj.c:152
#11 0x00007ffff3bfb177 in _mesa_free_shader_program_data (ctx=0x7ffff7f9b040,
shProg=0x37db160) at main/shaderobj.c:391
#12 0x00007ffff3bfb1d7 in _mesa_delete_shader_program (ctx=0x7ffff7f9b040,
shProg=0x37db160) at main/shaderobj.c:408
#13 0x00007ffff3bfac1c in _mesa_reference_shader_program_ (ctx=0x7ffff7f9b040,
ptr=0x380e2e0, shProg=0x0) at main/shaderobj.c:239
#14 0x00007ffff3d710ac in _mesa_reference_shader_program (ctx=0x7ffff7f9b040,
ptr=0x380e2e0, shProg=0x0) at ./main/shaderobj.h:75
#15 0x00007ffff3d7131f in clear_cache (ctx=0x7ffff7f9b040, cache=0x37afe40,
shader=1 '\001') at program/prog_cache.c:122
#16 0x00007ffff3d71472 in _mesa_delete_shader_cache (ctx=0x7ffff7f9b040,
cache=0x37afe40) at program/prog_cache.c:168
#17 0x00007ffff3d7e9de in _mesa_free_program_data (ctx=0x7ffff7f9b040) at
program/program.c:118
#18 0x00007ffff3ac044b in _mesa_free_context_data (ctx=0x7ffff7f9b040) at
main/context.c:1320
#19 0x00007ffff3f31255 in intelDestroyContext (driContextPriv=0x3727d60) at
brw_context.c:1200
#20 0x00007ffff3f15e0a in driDestroyContext (pcp=0x3727d60) at dri_util.c:500
#21 0x00007ffff6e381ce in dri2_destroy_context (drv=0x3685170, disp=0x3685440,
ctx=0x37a57f0) at drivers/dri2/egl_dri2.c:1242
#22 0x00007ffff6e2afd6 in eglDestroyContext (dpy=0x3685440, ctx=0x37a57f0) at
main/eglapi.c:764
#23 0x00000000028f043d in eglw::FuncPtrLibrary::destroyContext(void*, void*)
const ()
#24 0x00000000027b0379 in eglu::(anonymous namespace)::RenderContext::destroy()
()
#25 0x00000000027aee89 in eglu::(anonymous
namespace)::RenderContext::~RenderContext() ()
#26 0x00000000027aefb8 in eglu::(anonymous
namespace)::RenderContext::~RenderContext() ()
#27 0x00000000027582cc in deqp::Context::destroyRenderContext() ()
#28 0x00000000027580f4 in deqp::Context::~Context() ()
#29 0x00000000027901be in deqp::PackageContext::~PackageContext() ()
#30 0x00000000027903e0 in deqp::TestPackage::deinit() ()
#31 0x00000000028b0cd9 in
tcu::DefaultHierarchyInflater::leaveTestPackage(tcu::TestPackage*) ()
#32 0x00000000028b1585 in tcu::TestHierarchyIterator::next() ()
#33 0x000000000286fdf5 in tcu::TestSessionExecutor::iterate() ()
#34 0x0000000002844d09 in tcu::App::iterate() ()
#35 0x0000000000e72914 in main ()</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>