<div dir="ltr"><div>Hi Carlo,<br></div><div><br></div><div>I haven't had a chance to look at the issue yet. Glad you've found a workaround. <br></div><div><br></div><div>I have just had a quick look at the text_improvements branch of master than I'm currently working on and it's Text::computeAverageGlyphWidthAndHeight() has the same code still in place so looks likely to suffer from the same bug. The code assumes that the number of _coords is a multiple of four, outwardly this would look like a reasonable assumption given the way that osgText used quads for rendering glyphs. <br></div><div><br></div><div>From a quick code review I haven't yet spotted why the number _coords isn't always a multiple of 4. I will need to add some debug output to track when the number multiple of 4 case is happening, whether this itself is a bug or whether it's just a corner case.<br></div><div><br></div><div>The code that is crashing though, the offending four loop:<br></div><div><br></div><div> for (i = 0; i < _coords->size(); i += 4)</div><div><br></div><div>Could probably be written:</div><div><br></div><div><div> for (i = 0; i+3 < _coords->size(); i += 4)</div><div><br></div><div>This should work and be a bit simpler than your workaround.<br></div></div><div><br></div><div>Cheers,<br></div><div>Robert.<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 26 September 2017 at 10:36, Carlo Lanzotti - DynaDream <span dir="ltr"><<a href="mailto:clanzotti@dynadream.com" target="_blank">clanzotti@dynadream.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div class="m_121885268941884952moz-cite-prefix">Hi all,<br>
<br>
We had to temporarly fix this problem as we have to go in
production. The problem is in
osg::Text::<wbr>computeAverageGlyphWidthAndHei<wbr>ght() line 602:<br>
<br>
for (i = 0; i < _coords->size(); i += 4)<br>
<br>
sometime it happens that _coords->size() is not multiple of 4
leading to an out of range access to the _coords array. To avoid
the crash I fixed this way:<br>
<br>
unsigned int sz = _coords->size() - (_coords->size() %
4);<br>
<br>
for (i = 0; i < sz; i += 4)<br>
{<br>
...<br>
} <br>
<br>
Of course this need to be fixed in some other way as it avoid the
crash but probably do not give the correct result.<br>
<br>
Best Regards,<br>
<br>
Carlo Lanzotti<div><div class="h5"><br>
<br>
Il 20/09/2017 18:35, Carlo Lanzotti ha scritto:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
Hi Robert,
<div><br>
</div>
<div>I’ve not tried other OS combinations yet but I made that
simple test in the osgtext sample too and the crash happens.</div>
<div><br>
</div>
<div>I’ll see if I can reproduce it on OSX.<br>
<br>
Thank you.</div>
<div><br>
<div id="m_121885268941884952AppleMailSignature">Carlo Lanzotti</div>
<div><br>
Il giorno 20 set 2017, alle ore 17:23, Robert Osfield <<a href="mailto:robert.osfield@gmail.com" target="_blank">robert.osfield@gmail.com</a>> ha
scritto:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div dir="ltr">Hi Carlo,<br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On 20 September 2017 at 15:40,
Carlo Lanzotti - DynaDream <span dir="ltr"><<a href="mailto:clanzotti@dynadream.com" target="_blank">clanzotti@dynadream.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">OSG
Version: 3.4.1 64 bit, Visual Studio 2017, Windows
10,<br>
</blockquote>
<div><br>
</div>
<div>Have you tried any other OSG+OS combinations? Is
so they exhibit the problem?</div>
<div><br>
</div>
<div>FYI, there are so major internal changes to
osgText since 3.4.x so there is changes that OSG
master will address this issue.</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Robert.<br>
</div>
<div><br>
</div>
<div> </div>
<div><br>
</div>
<div> </div>
</div>
<br>
</div>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div><span>______________________________<wbr>_________________</span><br>
<span>osg-users mailing list</span><br>
<span><a href="mailto:osg-users@lists.openscenegraph.org" target="_blank">osg-users@lists.<wbr>openscenegraph.org</a></span><br>
<span><a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" target="_blank">http://lists.openscenegraph.<wbr>org/listinfo.cgi/osg-users-<wbr>openscenegraph.org</a></span><br>
</div>
</blockquote>
</div>
<br>
<fieldset class="m_121885268941884952mimeAttachmentHeader"></fieldset>
<br>
<pre>______________________________<wbr>_________________
osg-users mailing list
<a class="m_121885268941884952moz-txt-link-abbreviated" href="mailto:osg-users@lists.openscenegraph.org" target="_blank">osg-users@lists.<wbr>openscenegraph.org</a>
<a class="m_121885268941884952moz-txt-link-freetext" href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" target="_blank">http://lists.openscenegraph.<wbr>org/listinfo.cgi/osg-users-<wbr>openscenegraph.org</a>
</pre>
</blockquote>
<p><br>
</p>
</div></div><span class=""><pre class="m_121885268941884952moz-signature" cols="72">--
Carlo Lanzotti
DynaDream - Dynamic Laboratory
<a class="m_121885268941884952moz-txt-link-freetext" href="http://www.dynadream.com" target="_blank">http://www.dynadream.com</a></pre>
</span></div>
<br>______________________________<wbr>_________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.<wbr>openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.<wbr>org/listinfo.cgi/osg-users-<wbr>openscenegraph.org</a><br>
<br></blockquote></div><br></div>