Hello everybody out there using and developping octave!
I would love to port some matlab code to run with
octave. Beside some
unproblematic m-files, there is a C struct type coming along
delete.c, subasgn.c and subsref.c in its @Type directory,
implementing a mexFunction(..), handling syntax and basic
the types instances.
As I'm new to such sophisticated matlab and octave
don't know wether the approach taken here is the right way
it's compatible with octave.
The problem is, that as soon as a call to the function
occurs (triggered for example by an acces to a field of an
the type, resulting calling the
octave stumbles over it, called in the following manner
int nlhs, mxArray *plhs,
int nrhs, const mxArray *prhs
ptr = mxGetField(prhs, 0, "handle");
which results in the following octave (version 3.8.1 shipped
lubuntu 14.10) error:
error: octave_class::as_mxArray (): wrong type argument
panic: impossible state reached in file 'corefcn/mex.cc' at
A debug session with gdb attached to the octave session
results in the
25 ptr = mxGetField(prhs, 0, "handle");
Program received signal SIGABRT, Aborted.
0x00007f90ffce1d27 in __GI_raise (address@hidden)
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or
#0 0x00007f90ffce1d27 in __GI_raise (address@hidden)
#1 0x00007f90ffce3418 in __GI_abort () at abort.c:89
#2 0x00007f9100b33e7c in panic (
address@hidden "impossible state reached
in file '%s' at line %d") at corefcn/error.cc:743
#3 0x00007f9100619665 in
this=<optimized out>) at corefcn/mex.cc:556
#4 0x00007f9100d115e3 in request_mutation
#6 0x00007f9100d0ec33 in mxGetField (ptr=0x119af90,
key=<optimized out>) at corefcn/mex.cc:2930
#7 0x00007f90eed8a18f in mexFunction (nlhs=8215,
nrhs=6, address@hidden, prhs=0x7f90ef785010) at
I digged through the calls in the octave source and tried to
understand what is going on. But I figured out, that octaves
and type system is currently far out of my
experience-horizon in order
to resolve it alone.
Any help or suggestions would be very appreciated!
If you need any other info, feel free to ask :)