<div dir="ltr">aren't you guys all getting tons of internal error's as soon as you combine dynamic arrays with static arrays? It seems as if these things are completely seperate things, but their syntax sugests a more closely related connection. I really find it confusing...<div>

<br></div><div>So, after reducing, I am very certain that at least one problem comes from generating a png, the code used is here available : <a href="https://github.com/adamdruppe/misc-stuff-including-D-programming-language-web-stuff/blob/master/png.d">https://github.com/adamdruppe/misc-stuff-including-D-programming-language-web-stuff/blob/master/png.d</a></div>
<div>seeing as this is pure d, am I right in assuming there should never be any memory leaks when using this?<br></div><div style><br></div><div style>The reduced loop that only generates images is here : </div><div style>
<div><br></div><div>TrueColorImage i= new TrueColorImage(width,height);</div><div>PNG* png;</div><div>double[][4] curtrans;</div><div><span class="" style="white-space:pre">     </span></div><div>while(true){</div><div><span class="" style="white-space:pre">        </span>curtrans=generateTransformationMatrix();</div>
<div><br></div><div><span class="" style="white-space:pre">   </span>for(int y=0;y<height;y++)</div><div><span class="" style="white-space:pre">               </span>for(int x=0;x<width;x++)</div><div><span class="" style="white-space:pre">                        </span>i.data[(y*width+x)*4..y*width+x)*4+4]=colorify(applyTransformation(transformXY(x,y),curtrans)).dup[0..3] ~ 255;</div>
<div><span class="" style="white-space:pre">                    </span></div><div><span class="" style="white-space:pre">           </span>// and finally write the data to a png file</div><div><span class="" style="white-space:pre">        </span>png = pngFromImage(i);</div>
<div><span class="" style="white-space:pre">    </span>//std.file.write("images/"~toHexString(md5Of(curtrans))~".png", writePng(png));</div><div>}</div><div><br></div><div style>if you comment out "png = pngFromImage(i)" the program appears to not blow up over time. I think the ice come from assiging a slice of a dynamic array to a slice of a static array (hence the .dup). (I'll try reducing it with dustmite)</div>
<div style><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/12 Benjamin Thaut <span dir="ltr"><<a href="mailto:code@benjamin-thaut.de" target="_blank">code@benjamin-thaut.de</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am 12.05.2013 21:05, schrieb maarten van damme:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
This is ridiculous. Your solution appears to keep the memory somewhat<br>
constant around 20mb-28mb untill it suddenly runs out of memory.<br>
Literally out of nowhere.<br>
<br></div><div class="im">
I have no idea what's causing everything, so I decided to get rid of the<br>
window altogether and to try saving the images instead of displaying +<br>
saving them. Now I run in "Internal error: ..\ztc\cgcs.c 343"...<br>
<br></div><div class="im">
D is really dissapointing here. Maybe it's the gc having fun, maybe it's<br>
something else, no way to know for sure. Having to give up on displaying<br>
it altogether runs into internal error's.<br>
</div></blockquote>
<br>
As D is a relative new lagnauge stuff like this can happen. It would be great if you could reduce the compiler crash to a minimal test case using dustmite: <a href="https://github.com/CyberShadow/DustMite" target="_blank">https://github.com/<u></u>CyberShadow/DustMite</a><br>

A description how to use it is aviable in the wiki. If you successfully reduced the compiler error please fill in a bug report at <a href="http://d.puremagic.com/issues/" target="_blank">http://d.puremagic.com/issues/</a><span class="HOEnZb"><font color="#888888"><br>

<br>
-- <br>
Kind Regards<br>
Benjamin Thaut<br>
</font></span></blockquote></div><br></div>