-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Corrupt objects running test suite #679
Comments
The stack trace in the debugger shows that this is in the runtime loop running the command (in my case,
The
The
The range is wrong. |
The test |
Inside
|
It's a bit weird and peculiar that this corresponds to the end of the last GC run:
|
The good news is that the bug appears to be deterministic. Another run hits the |
The working theory is that |
Adjusting the |
In the run loop, the end pointer was not inside an object, but just one past the object (i.e. it was the result of a program's `skip()`) As a result, if that `end` pointer was equal to `rt.Temporaries`, i.e. the start of the free space, and a garbage collection occured, the start of the program would move but the end would not (it was seen as not requiring garbage collection). Fixes: #679 Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
The focus of this release was to complete the transition to the variable-precision decimal code. The full regression test suite was restored, with only two tests still failing (complex `asin` and `asinh`). The two missing functions, `Gamma` and `LogGamma`, were implemented. This also exposed many bugs that were fixed. New features: * `NumberedVariables` setting to allow `0 STO` to ease RPN transcoding (#690) * `ClearStack` (CLEAR) command * Variable-precision `gamma` and `lgamma` functions (#710) Bug fixes: * Do not leave bad expression on stack after error (#663) * Reject unit conversion between undefined units (#664) * Accept names of menus on the command line (#669) * tests: CLEAR clears stack and errors (#672) * The `:` characters now starts a tag on empty command line (#673) * Do not evaluate tagged objects too early (#674) * test: Entry and editing of equations (#677) * test: `type` returns negative values in "detailed" mode (#678) * Run loop end pointer not GC-adjusted for last allocated object (#679) * Do not erase alpha indicator when clearing busy cursor (#680) * Do not emit trailing space when rounding `1.999` to `2.` (#687) * Allow expression rewrites to deal with `pow` (#694) * Reject `«` character in symbols and commands (#695) * Rendering of spacing for decimal numbers (#699) * Improve precision of `atan` function * Rendering of `+` and `-` operators in compatibility modes (#700) * Rounding of decimal numbers no longer generates bad characters (#702) * No longer error out rendering symbolic complex (#703) * Parse complex numbers correctly inside equations (#704) * Ensure `sqrt(-1)` has a zero real part (#705) * Do not drop last digit of decimal subtraction (#706) * Evaluate expressions during expression pattern matching (#708) * `LastMenu` executes immediately while editing (#711) * Add back missing angle glyphs in font (#712) * Return correct angle quadrant for `atan2` (#715) * `Get` no longer rejects arrays as index values (#718) * `Get` returns correct error for bad argument types (#718) Improvements: * Update `.gitignore` entry * Automated testing of setting flags (#657) * Automated testing of non-flag settings (#670) * Test fixed-base based numbers using HP-compatible lowercase notation (#675) * Test fraction rendering using fancy digits (#676) * Add test for "compatible" variant of `type` command (#678) * test: Recover from error during data entry (#681) * Increase default `MaxNumberBits` to 4096 (#686) * tests: Add test for cube root of -8 (#685) * tests: Data entry for `Σ`, `∏` and `∆` (#689) * Restrict `STO` to names, natural numbers and specific IDs (#688) * doc: Document flas file access for `STO` and `RCL` (#691) * list: Optimize iterators to avoid copies (#692) * tests: spacing-independent testing of structure rendering (#693) * tests: adjust test suite for variable-precision decimals (#696) * tests: Automatically exit if `-T` option is given (#697) * tests: Check we don't accept `.` as meaning `0.` for RPL compatibility * Add `modulus` alias back for `abs` (#707) * Improve convergence speed and accuracy for logarithms * Add `decimal::make` to minimize risk of sign errors * Display stack level at top of stack level, not bottom (#709) * Improve complex `sqrt` accuracy on real axis (#714) * tests: Test decimal functions at full 34 digits precision (#716) * Complex `sqrt` and `cbrt` with full precision (#717) * tests: Take into account additional expression simplifications Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
The focus of this release was to complete the transition to the variable-precision decimal code. The full regression test suite was restored, with only two tests still failing (complex `asin` and `asinh`). The two missing functions, `Gamma` and `LogGamma`, were implemented. This also exposed many bugs that were fixed. New features: * `NumberedVariables` setting to allow `0 STO` to ease RPN transcoding (#690) * `ClearStack` (CLEAR) command * Variable-precision `gamma` and `lgamma` functions (#710) Bug fixes: * Do not leave bad expression on stack after error (#663) * Reject unit conversion between undefined units (#664) * Accept names of menus on the command line (#669) * tests: CLEAR clears stack and errors (#672) * The `:` characters now starts a tag on empty command line (#673) * Do not evaluate tagged objects too early (#674) * test: Entry and editing of equations (#677) * test: `type` returns negative values in "detailed" mode (#678) * Run loop end pointer not GC-adjusted for last allocated object (#679) * Do not erase alpha indicator when clearing busy cursor (#680) * Do not emit trailing space when rounding `1.999` to `2.` (#687) * Allow expression rewrites to deal with `pow` (#694) * Reject `«` character in symbols and commands (#695) * Rendering of spacing for decimal numbers (#699) * Improve precision of `atan` function * Rendering of `+` and `-` operators in compatibility modes (#700) * Rounding of decimal numbers no longer generates bad characters (#702) * No longer error out rendering symbolic complex (#703) * Parse complex numbers correctly inside equations (#704) * Ensure `sqrt(-1)` has a zero real part (#705) * Do not drop last digit of decimal subtraction (#706) * Evaluate expressions during expression pattern matching (#708) * `LastMenu` executes immediately while editing (#711) * Add back missing angle glyphs in font (#712) * Return correct angle quadrant for `atan2` (#715) * `Get` no longer rejects arrays as index values (#718) * `Get` returns correct error for bad argument types (#718) Improvements: * Update `.gitignore` entry * Automated testing of setting flags (#657) * Automated testing of non-flag settings (#670) * Test fixed-base based numbers using HP-compatible lowercase notation (#675) * Test fraction rendering using fancy digits (#676) * Add test for "compatible" variant of `type` command (#678) * test: Recover from error during data entry (#681) * Increase default `MaxNumberBits` to 4096 (#686) * tests: Add test for cube root of -8 (#685) * tests: Data entry for `Σ`, `∏` and `∆` (#689) * Restrict `STO` to names, natural numbers and specific IDs (#688) * doc: Document flas file access for `STO` and `RCL` (#691) * list: Optimize iterators to avoid copies (#692) * tests: spacing-independent testing of structure rendering (#693) * tests: adjust test suite for variable-precision decimals (#696) * tests: Automatically exit if `-T` option is given (#697) * tests: Check we don't accept `.` as meaning `0.` for RPL compatibility * Add `modulus` alias back for `abs` (#707) * Improve convergence speed and accuracy for logarithms * Add `decimal::make` to minimize risk of sign errors * Display stack level at top of stack level, not bottom (#709) * Improve complex `sqrt` accuracy on real axis (#714) * tests: Test decimal functions at full 34 digits precision (#716) * Complex `sqrt` and `cbrt` with full precision (#717) * tests: Take into account additional expression simplifications Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Release 0.6.2 "Kephas": Restoring the test suite The focus of this release was to complete the transition to the variable-precision decimal code. The full regression test suite was restored, with only two tests still failing (complex `asin` and `asinh`). The two missing functions, `Gamma` and `LogGamma`, were implemented. This also exposed many bugs that were fixed. New features: * `NumberedVariables` setting to allow `0 STO` to ease RPN transcoding (#690) * `ClearStack` (CLEAR) command * Variable-precision `gamma` and `lgamma` functions (#710) Bug fixes: * Do not leave bad expression on stack after error (#663) * Reject unit conversion between undefined units (#664) * Accept names of menus on the command line (#669) * tests: CLEAR clears stack and errors (#672) * The `:` characters now starts a tag on empty command line (#673) * Do not evaluate tagged objects too early (#674) * test: Entry and editing of equations (#677) * test: `type` returns negative values in "detailed" mode (#678) * Run loop end pointer not GC-adjusted for last allocated object (#679) * Do not erase alpha indicator when clearing busy cursor (#680) * Do not emit trailing space when rounding `1.999` to `2.` (#687) * Allow expression rewrites to deal with `pow` (#694) * Reject `«` character in symbols and commands (#695) * Rendering of spacing for decimal numbers (#699) * Improve precision of `atan` function * Rendering of `+` and `-` operators in compatibility modes (#700) * Rounding of decimal numbers no longer generates bad characters (#702) * No longer error out rendering symbolic complex (#703) * Parse complex numbers correctly inside equations (#704) * Ensure `sqrt(-1)` has a zero real part (#705) * Do not drop last digit of decimal subtraction (#706) * Evaluate expressions during expression pattern matching (#708) * `LastMenu` executes immediately while editing (#711) * Add back missing angle glyphs in font (#712) * Return correct angle quadrant for `atan2` (#715) * `Get` no longer rejects arrays as index values (#718) * `Get` returns correct error for bad argument types (#718) Improvements: * Update `.gitignore` entry * Automated testing of setting flags (#657) * Automated testing of non-flag settings (#670) * Test fixed-base based numbers using HP-compatible lowercase notation (#675) * Test fraction rendering using fancy digits (#676) * Add test for "compatible" variant of `type` command (#678) * test: Recover from error during data entry (#681) * Increase default `MaxNumberBits` to 4096 (#686) * tests: Add test for cube root of -8 (#685) * tests: Data entry for `Σ`, `∏` and `∆` (#689) * Restrict `STO` to names, natural numbers and specific IDs (#688) * doc: Document flas file access for `STO` and `RCL` (#691) * list: Optimize iterators to avoid copies (#692) * tests: spacing-independent testing of structure rendering (#693) * tests: adjust test suite for variable-precision decimals (#696) * tests: Automatically exit if `-T` option is given (#697) * tests: Check we don't accept `.` as meaning `0.` for RPL compatibility * Add `modulus` alias back for `abs` (#707) * Improve convergence speed and accuracy for logarithms * Add `decimal::make` to minimize risk of sign errors * Display stack level at top of stack level, not bottom (#709) * Improve complex `sqrt` accuracy on real axis (#714) * tests: Test decimal functions at full 34 digits precision (#716) * Complex `sqrt` and `cbrt` with full precision (#717) * tests: Take into account additional expression simplifications Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
While running the test suite, the
object::object_error
function gets invoked.The text was updated successfully, but these errors were encountered: