<div dir="ltr"><div dir="ltr"><div dir="ltr"></div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">BTW, Jussi, I wrote a comprehensive byte-code interpreter in 8086 assembly in Real Mode as a DOS 3.1 TSR that was used in production for several years, circa 1988<br></blockquote><div><br></div><div>Segmentation fault means that the program is trying to access memory address, which it doesn't have privileges to access. So, you can right away say it is <b>definitely not </b>capacity issue or "bad case scenario" in the program logic, as you suggested. How could it be? Also whether the program causes crash right away or later, says absolutely <b>nothing</b> about where the bug is. It just cannot, not even in theory.<br></div><div><br></div><div>Test this:</div><div><br></div><div>Dim p As Pointer = 1<br>Dim hStream As Stream<br> <br>hStream = Memory p For Write<br>Print #hStream, "hello!"<br>Close hStream<br></div><div><br></div><div>There is no segmentation fault, but "write error" from Gambas. Why? Because if errors are not caught by Gambas, then they can lead to undetermined behaviour later. Thus this "However, adding parameter validation testing to every function call is a questionable endeavor" is also sign of not understanding at all what you are talking about.</div><div><br></div><div>Once more:</div><div>Segmentation fault = operating system tells that Gambas tried to do something illegal.</div><div>The "clean" errors = Gambas tells the programmer, that he tried to do something illegal.<br></div><div><br></div><div><br></div><div>Jussi<br></div><div><br></div><div>  <br></div><div><br></div><div><br></div></div></div></div>