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

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

[Octave-bug-tracker] [bug #52274] Segfault when calling previously used


From: Rik
Subject: [Octave-bug-tracker] [bug #52274] Segfault when calling previously used oct-file from deleted directory
Date: Tue, 24 Oct 2017 16:34:53 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Follow-up Comment #2, bug #52274 (project octave):

The cause seems to be an infinite loop until eventually there is an overflow
in memory.  I ran with gdb and the stack trace was over 30,000 deep.  The
beginning of the infinite loop is shown below.


#30748 0x00007f66a2a43a2f in octave::symbol_table::find_function
(this=0xb51508, name="helloworld", args=..., 
    local_funcs=true) at libinterp/corefcn/symtab.cc:1392
#30749 0x00007f66a25307b5 in get_user_code (fname="helloworld") at
libinterp/parse-tree/bp-table.cc:101
#30750 0x00007f66a253342e in bp_table::do_remove_all_breakpoints_in_file
(this=0x108baa0, fname="helloworld", silent=true)
    at libinterp/parse-tree/bp-table.cc:764
#30751 0x00007f66a2535072 in bp_table::remove_all_breakpoints_in_file
(fname="helloworld", silent=true)
    at libinterp/parse-tree/bp-table.h:99
#30752 0x00007f66a2a3f28c in octave::out_of_date_check (function=...,
dispatch_type="", check_relative=true)
    at libinterp/corefcn/symtab.cc:486
#30753 0x00007f66a2a42795 in
octave::symbol_table::fcn_info::fcn_info_rep::find_user_function
(this=0xf81d70)
    at libinterp/corefcn/symtab.cc:1200
#30754 0x00007f66a2a3fd38 in
octave::symbol_table::fcn_info::fcn_info_rep::load_class_constructor
(this=0xf81d70)
    at libinterp/corefcn/symtab.cc:576
#30755 0x00007f66a2a414db in
octave::symbol_table::fcn_info::fcn_info_rep::xfind (this=0xf81d70, args=...,
local_funcs=true)
    at libinterp/corefcn/symtab.cc:928
#30756 0x00007f66a2a40e1d in
octave::symbol_table::fcn_info::fcn_info_rep::find (this=0xf81d70, args=...,
local_funcs=true)
    at libinterp/corefcn/symtab.cc:808
#30757 0x00007f66a2a47d4f in octave::symbol_table::fcn_info::find
(this=0xf3a990, args=..., local_funcs=true)
    at libinterp/corefcn/symtab.h:1020
#30758 0x00007f66a2a449eb in octave::symbol_table::scope::find (this=0xb52ac0,
name="helloworld", args=..., 
    skip_variables=true, local_funcs=true) at
libinterp/corefcn/symtab.cc:1569
#30759 0x00007f66a2a43733 in octave::symbol_table::find (this=0xb51508,
name="helloworld", args=..., skip_variables=true, 
    local_funcs=true) at libinterp/corefcn/symtab.cc:1358
#30760 0x00007f66a2a43a2f in octave::symbol_table::find_function
(this=0xb51508, name="helloworld", args=..., 
    local_funcs=true) at libinterp/corefcn/symtab.cc:1392
#30761 0x00007f66a25307b5 in get_user_code (fname="helloworld") at
libinterp/parse-tree/bp-table.cc:101
#30762 0x00007f66a253342e in bp_table::do_remove_all_breakpoints_in_file
(this=0x108baa0, fname="helloworld", silent=true)
    at libinterp/parse-tree/bp-table.cc:764
#30763 0x00007f66a2535072 in bp_table::remove_all_breakpoints_in_file
(fname="helloworld", silent=true)
    at libinterp/parse-tree/bp-table.h:99
#30764 0x00007f66a2a3f28c in octave::out_of_date_check (function=...,
dispatch_type="", check_relative=true)
    at libinterp/corefcn/symtab.cc:486
#30765 0x00007f66a2a42795 in
octave::symbol_table::fcn_info::fcn_info_rep::find_user_function
(this=0xf81d70)
    at libinterp/corefcn/symtab.cc:1200
#30766 0x00007f66a2a3fd38 in
octave::symbol_table::fcn_info::fcn_info_rep::load_class_constructor
(this=0xf81d70)
    at libinterp/corefcn/symtab.cc:576
#30767 0x00007f66a2a414db in
octave::symbol_table::fcn_info::fcn_info_rep::xfind (this=0xf81d70, args=...,
local_funcs=true)
    at libinterp/corefcn/symtab.cc:928
#30768 0x00007f66a2a40e1d in
octave::symbol_table::fcn_info::fcn_info_rep::find (this=0xf81d70, args=...,
local_funcs=true)
    at libinterp/corefcn/symtab.cc:808
#30769 0x00007f66a2a47d4f in octave::symbol_table::fcn_info::find
(this=0xf3a990, args=..., local_funcs=true)
    at libinterp/corefcn/symtab.h:1020
#30770 0x00007f66a2a449eb in octave::symbol_table::scope::find (this=0xb52ac0,
name="helloworld", args=..., 
    skip_variables=true, local_funcs=true) at
libinterp/corefcn/symtab.cc:1569
#30771 0x00007f66a2a43733 in octave::symbol_table::find (this=0xb51508,
name="helloworld", args=..., skip_variables=true, 
    local_funcs=true) at libinterp/corefcn/symtab.cc:1358
#30772 0x00007f66a2a43a2f in octave::symbol_table::find_function
(this=0xb51508, name="helloworld", args=..., 
    local_funcs=true) at libinterp/corefcn/symtab.cc:1392
#30773 0x00007f66a2a3e4af in octave::symbol_table::symbol_record::find
(this=0xede040, args=...)
    at libinterp/corefcn/symtab.cc:241
#30774 0x00007f66a259bc4e in octave::tree_identifier::do_lookup
(this=0xede020, args=...)
    at libinterp/parse-tree/pt-id.h:100
#30775 0x00007f66a259225e in octave::tree_evaluator::visit_index_expression
(this=0xb515e0, idx_expr=...)
    at libinterp/parse-tree/pt-eval.cc:1243
#30776 0x00007f66a25b3294 in octave::tree_index_expression::accept
(this=0xf40b50, tw=...)
    at libinterp/parse-tree/pt-idx.h:101
#30777 0x00007f66a23f9cf1 in octave::tree_evaluator::evaluate (this=0xb515e0,
expr=0xf40b50, nargout=0)
    at libinterp/parse-tree/pt-eval.h:271
#30778 0x00007f66a2596e27 in octave::tree_evaluator::visit_statement
(this=0xb515e0, stmt=...)
    at libinterp/parse-tree/pt-eval.cc:2211
#30779 0x00007f66a25bc7d2 in octave::tree_statement::accept (this=0xf2cbe0,
tw=...) at libinterp/parse-tree/pt-stmt.h:112
#30780 0x00007f66a2596fd7 in octave::tree_evaluator::visit_statement_list
(this=0xb515e0, lst=...)
    at libinterp/parse-tree/pt-eval.cc:2253
#30781 0x00007f66a23fa166 in octave::tree_statement_list::accept
(this=0xd053b0, tw=...)
    at libinterp/parse-tree/pt-stmt.h:187
#30782 0x00007f66a28dc8aa in octave::interpreter::main_loop (this=0xb51230) at
libinterp/corefcn/interpreter.cc:974
#30783 0x00007f66a28db546 in octave::interpreter::execute (this=0xb51230) at
libinterp/corefcn/interpreter.cc:695
#30784 0x00007f66a1fe79b1 in octave::cli_application::execute
(this=0x7ffe2dc8c2f0) at libinterp/octave.cc:384
#30785 0x00000000004017a0 in main (argc=8, argv=0x7ffe2dc8c5f8) at
src/main-cli.cc:90


The first block that starts to repeat begins with this


#30688 0x00007f66a2a43a2f in octave::symbol_table::find_function
(this=0xb51508, name="helloworld", args=..., 
    local_funcs=true) at libinterp/corefcn/symtab.cc:1392




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?52274>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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