octave-bug-tracker
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]