Skip to content
This repository was archived by the owner on Jun 27, 2021. It is now read-only.
This repository was archived by the owner on Jun 27, 2021. It is now read-only.

Erroneous Object Get/Set attempts abort MATLAB #4

Description

@kw

mxGetProperty and mxSetProperty cause SIGABRT if there's some sort of error in some versions of MATLAB, but there doesn't seem to be any way to catch the signal because the MATLAB interpreter either changes my signal handler or there's a different handler for that thread or something. This happens if you try to access a nonexistent property (there is no C-API function to determine valid properties), if you try to access a property but have insufficient rights (also no way of checking that from C), or if an error occurs in the property's accessor function.

Should probably use subsref/subsasgn instead at the high level.

This seems to occur on my 2008b install. It did not occur on 2008a, and it does not occur in 2009b, so I'll label this a 2008b issue for the moment. When asked, a MATLAB tech support agent reported that the appropriate solution was to upgrade to a new version of MATLAB. Note that while our get_property method will properly throw an error on working versions, set_property has no way of detecting a problem because mxSetProperty has no return value.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions