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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #55254] clear all crashes when variable from o


From: John W. Eaton
Subject: [Octave-bug-tracker] [bug #55254] clear all crashes when variable from oct file class is displayed in workspace
Date: Wed, 16 Jan 2019 02:20:37 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0

Update of bug #55254 (project octave):

                  Status:               Confirmed => Patch Submitted        

    _______________________________________________________

Follow-up Comment #7:

I'm not sure why the behavior changed with the changeset mentioned in comment
#5, but this seems to be a problem with unloading shared libraries that define
new octave_value types.  This can happen because "clear all" also clears
functions and when all functions that are defined in a shared library (.oct
file) are cleared, Octave unloads the shared library.  Then if an existing
variable of that type is used, some kind of memory error is highly likely.

I'm attaching a temporary fix (mlock all functions that create values of the
types that are defined in the .oct file).

Longer term, it would be better to maintain a mapping of dynamically defined
data types with the .oct file that defines them and also record the number of
values of each dynamically defined data type that exist.  Then we could only
unload shared libraries that dynamically define data types when the number of
those values is zero.  Maybe for Octave 6.  For now, I think it is best to go
with the mlock solution.

(file #45986)
    _______________________________________________________

Additional Item Attachment:

File name: audio-mlock-diffs.txt          Size:27 KB


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?55254>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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