[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash
From: |
Petter |
Subject: |
[Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash |
Date: |
Wed, 20 Dec 2023 15:35:20 -0500 (EST) |
Follow-up Comment #4, bug#65029 (group octave):
The attached patch should do it.
Instead of pushing varargout's elements to the stack, they are put in an
octave_value_list, when the bytecode interpreter is returning to non-bytecode
functions.
There is some cheating in the bytecode interpreter and
'[bshp(1:nlay).Geometry] = deal (tmp{:})' is executed by an eval() due to
dynamic nargout.
When support to do that in the bytecode interpreter is added, some way to
handle the same problem need to be considered for bytecode to bytecode
function returns.
Fix bytecode interpreter stack overflow with varargout (bug #65029)
Don't push varargout elements to the stack when returning from
bytecode functions to non-bytecode functions. Don't push more elements
to the stack then needed when returning from bytecode to bytecode.
pt-bytecode-vm.cc: Avoid overflow
bytecode_varargout.m: Update tests
(file #55474)
_______________________________________________________
Additional Item Attachment:
File name: 32841.patch Size:2 KB
<https://file.savannah.gnu.org/file/32841.patch?file_id=55474>
AGPL NOTICE
These attachments are served by Savane. You can download the corresponding
source code of Savane at
https://git.savannah.nongnu.org/cgit/administration/savane.git/snapshot/savane-8de9e670beee4a225f7b7470da8026672735d752.tar.gz
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?65029>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash, Philip Nienhuis, 2023/12/13
- [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash, Philip Nienhuis, 2023/12/13
- [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash, Philip Nienhuis, 2023/12/14
- [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash, Petter, 2023/12/14
- [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash, Philip Nienhuis, 2023/12/15
- [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash,
Petter <=
- [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash, Philip Nienhuis, 2023/12/21
- [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash, Petter, 2023/12/21
- [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash, Philip Nienhuis, 2023/12/21
- [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash, Philip Nienhuis, 2023/12/21