Hi Ludovic, > The problem here is that, when the second overflow occurs, that reserve > has already been used, so it just aborts. > > Commit 70057f3 in ‘stable-2.0’ fixes that (will be in 2.0.10.)
Thanks for fixing this, but there's still a slight problem. After a VM overflow is caught and the user is left in the debugger, typing ",q" sometimes causes another stack overflow. To reproduce this problem, type the exact commands shown in <http://bugs.gnu.org/15065>. Using v2.0.9-118-g70057f3 on either x86_64 or mips64el (with N32 ABI), this is what I see: --8<---------------cut here---------------start------------->8--- [...] scheme@(guile-user)> (integral cube 0.0 1.0 0.01) $1 = 0.24998750000000042 scheme@(guile-user)> (integral cube 0.0 1.0 0.001) $2 = 0.249999875000001 scheme@(guile-user)> (integral cube 0.0 1.0 0.0001) <unnamed port>:7:11: In procedure sum: <unnamed port>:7:11: Throw to key `vm-error' with args `(vm-run "VM: Stack overflow" ())'. Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guile-user) [1]> ,q ice-9/boot-9.scm:65:2: In procedure abort-to-prompt: ice-9/boot-9.scm:65:2: Throw to key `vm-error' with args `(vm-run "VM: Stack overflow" ())'. Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guile-user) [1]> ,q scheme@(guile-user)> --8<---------------cut here---------------end--------------->8--- Would you be willing to look into it? Mark