Bugs.html 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <html lang="en">
  2. <head>
  3. <title>Bugs - avram - a virtual machine code interpreter</title>
  4. <meta http-equiv="Content-Type" content="text/html">
  5. <meta name="description" content="avram - a virtual machine code interpreter">
  6. <meta name="generator" content="makeinfo 4.13">
  7. <link title="Top" rel="start" href="index.html#Top">
  8. <link rel="up" href="User-Manual.html#User-Manual" title="User Manual">
  9. <link rel="prev" href="Environment.html#Environment" title="Environment">
  10. <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
  11. <meta http-equiv="Content-Style-Type" content="text/css">
  12. <style type="text/css"><!--
  13. pre.display { font-family:inherit }
  14. pre.format { font-family:inherit }
  15. pre.smalldisplay { font-family:inherit; font-size:smaller }
  16. pre.smallformat { font-family:inherit; font-size:smaller }
  17. pre.smallexample { font-size:smaller }
  18. pre.smalllisp { font-size:smaller }
  19. span.sc { font-variant:small-caps }
  20. span.roman { font-family:serif; font-weight:normal; }
  21. span.sansserif { font-family:sans-serif; font-weight:normal; }
  22. --></style>
  23. </head>
  24. <body>
  25. <div class="node">
  26. <a name="Bugs"></a>
  27. <p>
  28. Previous:&nbsp;<a rel="previous" accesskey="p" href="Environment.html#Environment">Environment</a>,
  29. Up:&nbsp;<a rel="up" accesskey="u" href="User-Manual.html#User-Manual">User Manual</a>
  30. <hr>
  31. </div>
  32. <h3 class="section">1.11 Bugs</h3>
  33. <p><a name="index-internal-errors-138"></a><a name="index-bugs-139"></a><a name="index-exceptions-140"></a>
  34. There are no known bugs outstanding, except for any that may be
  35. inherent in the external library functions. However, <code>avram</code> has
  36. been used most extensively on GNU/Linux systems, and the prospect
  37. of portability issues with new or lesser used features on other
  38. systems can't be excluded.
  39. <p>Though not observed in practice, it's theoretically possible to blow
  40. the stack by passing enough functions as arguments to library
  41. functions that pass more functions to library functions (e.g., by
  42. using nested calls to the gsl integration functions meant for a single
  43. variable to evaluate a very high dimensional multiple integral). In
  44. all other cases only dynamic heap storage or a constant amount of
  45. stack space is used. In particular, this issue is <em>not</em> relevant
  46. to virtual code applications that don't use external libraries, or
  47. that don't pass functions to them as arguments.
  48. <p><code>avram</code> is designed to recover gracefully from memory overflows
  49. by always checking for <code>NULL</code> results from <code>malloc()</code> or
  50. otherwise trapping functions that allocate memory. In the event of an
  51. overflow, it conveys an appropriate error message to the virtual code
  52. application to be handled by the usual exception handling
  53. mechanisms. However, there is currently no way for a virtual code
  54. application to detect in advance whether sufficient memory is
  55. available, nor for it to resume normal operation once an exception
  56. occurs. Furthermore, it has been observed on some systems including
  57. Irix and 2.4 series Linux kernels that the <code>avram</code> process is
  58. killed automatically for attempting to allocate too much memory rather
  59. than given the chance to recover.
  60. <p>Please send bug reports to <a href="mailto:[email protected]">[email protected]</a>.
  61. </body></html>