[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: octave patch
From: |
John W. Eaton |
Subject: |
Re: octave patch |
Date: |
Sat, 26 Jan 2008 14:18:06 -0500 |
On 26-Jan-2008, David Bateman wrote:
| I seem to get a seg-fault on start-up with this patch. The first error
| from valgrind is
|
| ==31994==
| ==31994== Use of uninitialised value of size 8
| ==31994== at 0x5CAAF8C: Array<char>::index(idx_vector&, int, char
| const&) const (dim-vector.h:175)
| ==31994== by 0x52FC06D:
| octave_char_matrix_str::do_index_op_internal(octave_value_list const&,
| bool, char) (ArrayN.h:121)
| ==31994== by 0x5302601:
| octave_char_matrix_str::do_index_op(octave_value_list const&, bool)
| (ov-str-mat.h:91)
| ==31994== by 0x52D2937:
| octave_base_matrix<charNDArray>::subsref(std::string const&,
| std::list<octave_value_list, std::allocator<octave_value_list> > const&)
| (ov-base-mat.cc:47)
| ==31994== by 0x5346B7D: octave_value::subsref(std::string const&,
| std::list<octave_value_list, std::allocator<octave_value_list> > const&,
| int) (ov.cc:931)
| ==31994== by 0x5495001: tree_index_expression::rvalue(int)
| (pt-idx.cc:385)
| ==31994== by 0x5496FF9: tree_index_expression::rvalue() (pt-idx.cc:396)
| ==31994== by 0x5477BCB:
| tree_argument_list::convert_to_const_vector(octave_value const*)
| (pt-arg-list.cc:182)
| ==31994== by 0x5290197:
| symbol_table::fcn_info::fcn_info_rep::find(tree_argument_list*,
| string_vector const&, octave_value_list&, bool&, int) (symtab.cc:448)
| ==31994== by 0x5291526:
| symbol_table::fcn_info::find(tree_argument_list*, string_vector const&,
| octave_value_list&, bool&, int) (symtab.cc:652)
| ==31994== by 0x5291764: symbol_table::do_find(std::string const&,
| tree_argument_list*, string_vector const&, octave_value_list&, bool&,
| int, bool) (symtab.cc:720)
| ==31994== by 0x5292044: symbol_table::find(std::string const&,
| tree_argument_list*, string_vector const&, octave_value_list&, bool&,
| int, bool) (symtab.cc:666)
| ==31994==
|
| Running with "octave -f" prevents the error on startup. Though with a
| few quick tests I was unable to regenerate the segfault. Removing the
| patch with
|
| $ cd liboctave
| $ cvs diff -u -r 1.68 -r HEAD idx-vector.cc > patch
| $ cvs diff -u -r 1.54 -r HEAD idx-vector.h >> patch
| $ cat patch | patch -p0 -R
|
| and rebuilding addresses the issue. Sorry I can't see what the issue is
| at this point.
I can't duplicate the crash.
Where does the crash occur? Can you send a gdb traceback?
What is in your startup files?
What compiler version and options are you using?
jwe