<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - link_shader and deserialize_glsl_program suddenly consume huge amount of RAM"
href="https://bugs.freedesktop.org/show_bug.cgi?id=111077#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - link_shader and deserialize_glsl_program suddenly consume huge amount of RAM"
href="https://bugs.freedesktop.org/show_bug.cgi?id=111077">bug 111077</a>
from <span class="vcard"><a class="email" href="mailto:roland@rptd.ch" title="roland@rptd.ch <roland@rptd.ch>"> <span class="fn">roland@rptd.ch</span></a>
</span></b>
<pre>I've started the application now also in a debugger and went to loading a
simple model which causes tons of RAM to be consumes by the shader compiler. I
interrupted with GDB and made a trace:
#0 0x00007f650ee794e7 in __memcpy_ssse3 () from /lib64/libc.so.6
#1 0x00007f650776a390 in blob_write_bytes () from
/usr/lib64/dri/radeonsi_dri.so
#2 0x00007f650776a4e8 in blob_write_uint32 () from
/usr/lib64/dri/radeonsi_dri.so
#3 0x00007f6507636421 in serialize_glsl_program () from
/usr/lib64/dri/radeonsi_dri.so
#4 0x00007f6507638132 in shader_cache_write_program_metadata(gl_context*,
gl_shader_program*) () from /usr/lib64/dri/radeonsi_dri.so
#5 0x00007f65074a9a38 in link_program_error () from
/usr/lib64/dri/radeonsi_dri.so
#6 0x00007f6509d85a3d in deoglShaderLanguage::pLinkShader (this=0x7f65004360c0,
handle=298) at
src/modules/graphic/opengl/src/shaders/deoglShaderLanguage.cpp:1272
#7 0x00007f6509d86537 in deoglShaderLanguage::CompileShader
(this=0x7f65004360c0, program=...) at
src/modules/graphic/opengl/src/shaders/deoglShaderLanguage.cpp:530
Mesa gets stuck inside "link_program_error" =>
"shader_cache_write_program_metadata" => "serialize_glsl_program" . Most
probably serialize_glsl_program goes rampage there but I have no idea if this
is the real reason. According to the massif logs though ralloc_size is called
with GB of data multiple time in there somewhere.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>