What we found about the bug #53906

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

What we found about the bug #53906

CHALI Anis
Hi Mister Richard CROZIER,
We are debugging octave source code and I found something which seems to be an anomaly for me so I would like get a help if you have time please.

first the error comes from

file: libinterp/corefcn/data.cc ==>> function: octave_value do_class_concat (const octave_value_list& ovl, std::string cattype, int dim) ==>> line: 1758
///////////////////////////////////////////////////////
       std::list<std::string> parents = tmp(0).parent_class_name_list ();
///////////////////////////////////////////////////////

in this line we call the method parent_class_name_list() which is implemented in file: libinterp/corefcn/ov-base.cc line: 850
and it's implementation raises an error as we see below. So I don't understand why it's implemented that way?
///////////////////////////////////////////////////////////
std::list<std::string>
octave_base_value::parent_class_name_list (void) const
{
  err_wrong_type_arg ("octave_base_value::parent_class_name_list()",
                      type_name ());
}
//////////////////////////////////////////////////////////

and the second thing is in the file data.cc just after the first anomaly we call octave_value constructor which takes an octave_map&, std::string& and octave_value_list& but in the scope of the error the constructor is called with an octave_map&, std::string& and list<std::string>&

///////////////////////////////////////////////////
line :1760
 retval = octave_value (new octave_class (m, cname, parents));
///////////////////////////////////////////////////

Thank you very much.

Regards.

Anis CHALI
Computer science student.
Paris 8 University.
07.52.13.73.94
[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: What we found about the bug #53906

Richard Crozier

Although the email below was addressed to me, it is really a question
for the core maintainers on the mailing list.

Regards,

Richard

On 14/02/2019 16:04, CHALI Anis wrote:

> Hi Mister Richard CROZIER,
> We are debugging octave source code and I found something which seems to
> be an anomaly for me so I would like get a help if you have time please.
>
> first the error comes from
>
> file: libinterp/corefcn/data.cc ==>> function: octave_value
> do_class_concat (const octave_value_list& ovl, std::string cattype, int
> dim) ==>> line: 1758
> ///////////////////////////////////////////////////////
>         std::list<std::string> parents = tmp(0).parent_class_name_list ();
> ///////////////////////////////////////////////////////
>
> in this line we call the method parent_class_name_list() which is
> implemented in file: libinterp/corefcn/ov-base.cc line: 850
> and it's implementation raises an error as we see below. So I don't
> understand why it's implemented that way?
> ///////////////////////////////////////////////////////////
> std::list<std::string>
> octave_base_value::parent_class_name_list (void) const
> {
>    err_wrong_type_arg ("octave_base_value::parent_class_name_list()",
>                        type_name ());
> }
> //////////////////////////////////////////////////////////
>
> and the second thing is in the file data.cc just after the first anomaly
> we call octave_value constructor which takes an octave_map&,
> std::string& and octave_value_list& but in the scope of the error the
> constructor is called with an octave_map&, std::string& and
> list<std::string>&
>
> ///////////////////////////////////////////////////
> line :1760
>   retval = octave_value (new octave_class (m, cname, parents));
> ///////////////////////////////////////////////////
>
> Thank you very much.
>
> Regards.
>
> Anis CHALI
> Computer science student.
> Paris 8 University.
> 07.52.13.73.94
> [hidden email]
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.

Reply | Threaded
Open this post in threaded view
|

What we found about the bug #53906

CHALI Anis
In reply to this post by CHALI Anis


Hi,
We are debugging octave source code and I found something which seems to be an anomaly for me so I would like get a help if you have time please.

first the error comes from

file: libinterp/corefcn/data.cc ==>> function: octave_value do_class_concat (const octave_value_list& ovl, std::string cattype, int dim) ==>> line: 1758
///////////////////////////////////////////////////////
       std::list<std::string> parents = tmp(0).parent_class_name_list ();
///////////////////////////////////////////////////////

in this line we call the method parent_class_name_list() which is implemented in file: libinterp/corefcn/ov-base.cc line: 850
and it's implementation raises an error as we see below. So I don't understand why it's implemented that way?
///////////////////////////////////////////////////////////
std::list<std::string>
octave_base_value::parent_class_name_list (void) const
{
  err_wrong_type_arg ("octave_base_value::parent_class_name_list()",
                      type_name ());
}
//////////////////////////////////////////////////////////

and the second thing is in the file data.cc just after the first anomaly we call octave_value constructor which takes an octave_map&, std::string& and octave_value_list& but in the scope of the error the constructor is called with an octave_map&, std::string& and list<std::string>&

///////////////////////////////////////////////////
line :1760
 retval = octave_value (new octave_class (m, cname, parents));
///////////////////////////////////////////////////

Thank you very much.

Regards.

Anis CHALI
Computer science student.
Paris 8 University.
07.52.13.73.94
[hidden email]