bugGNU Octave - Bugs: bug #48475, Crash upon invalid property passed...

 
 

bug #48475: Crash upon invalid property passed to axes()

Submitted by:  None
Submitted on:  Mon 11 Jul 2016 07:13:36 PM UTC  
 
Category: PlottingSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Segfault, Bus Error, etc.
Status: Works For MeAssigned to: None
Originator Name: Originator Email: -unavailable-
Open/Closed: ClosedRelease: 4.0.1
Operating System: Any

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Mon 11 Jul 2016 08:16:43 PM UTC, comment #1:

Thank you for your bug report, but this doesn't look like a crash, this just looks like the normal error handling mechanism in Octave.

I get the same output if I run Octave in gdb with the gdb command "catch throw".

Do you get an actual crash when not running in gdb? If so maybe you could show that and provide some more details, and maybe test with the latest stable version of Octave to make sure what you're seeing hasn't already been fixed.

Mike Miller <mtmiller>
Project Administrator
Mon 11 Jul 2016 07:13:36 PM UTC, original submission:

The following command leads to a crash when executed in cli mode but not in gui mode. Is this normal?

octave:1> axes('ylim',[])
error: invalid value for array property "ylim"
error: called from
axes at line 66 column 10
error: octave_base_value::matrix_value(): wrong type argument '<unknown type>'
error: called from
axes at line 66 column 10
error: _go_axes_: A(I,J): row index out of bounds; value 1 out of bound 0
error: called from
axes at line 66 column 10
Catchpoint 1 (exception thrown), 0x00007ffff044cdbd in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(gdb) bt
#0 0x00007ffff044cdbd in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1 0x00007ffff5edcbdc in octave_throw_execution_exception () at cruft/misc/quit.cc:67
#2 0x00007ffff6d3a0dc in lo_error_with_id_handler (id=<optimized out>, fmt=<optimized out>) at octave.cc:471
#3 0x00007ffff5a3f17f in Array<double>::index (this=this@entry=0x7fffffff9340, i=..., j=...) at array/Array.cc:796
#4 0x00007ffff5cb4baf in Matrix::extract_n (this=this@entry=0x7fffffff9340, r1=r1@entry=0, c1=c1@entry=2,
nr=nr@entry=1, nc=nc@entry=2) at array/dMatrix.cc:633
#5 0x00007ffff752b61b in screen_size_pixels () at corefcn/graphics.cc:763
#6 0x00007ffff752c447 in figure::properties::get_boundingbox (this=0xc24d70, internal=internal@entry=true)
at corefcn/graphics.cc:3863
#7 0x00007ffff755aaa0 in axes::properties::get_boundingbox (this=this@entry=0xd41870, internal=internal@entry=true,
parent_pix_size=...) at corefcn/graphics.cc:6418
#8 0x00007ffff753c637 in axes::properties::update_camera (this=this@entry=0xd41870) at corefcn/graphics.cc:5512
#9 0x00007ffff7610b22 in update_transform (this=0xd41870) at corefcn/graphics.h:5116
#10 axes::properties::update_outerposition (this=0xd41870) at corefcn/graphics.h:7033
#11 0x00007ffff75b9ac5 in axes::properties::sync_positions (this=this@entry=0xd41870) at corefcn/graphics.cc:4802
#12 0x00007ffff75b9cff in axes::initialize (this=0xd41860, go=...) at corefcn/graphics.cc:8064
#13 0x00007ffff7526a3b in initialize (this=0x7fffffffa910) at corefcn/graphics.h:3450
#14 xinitialize (h=...) at corefcn/graphics.cc:2802
#15 0x00007ffff75c6f17 in make_graphics_object (go_name="axes", args=..., integer_figure_handle=false)
at corefcn/graphics.cc:10487
#16 0x00007ffff75c990c in F__go_axes__ (args=...) at corefcn/graphics.cc:10687
#17 0x00007ffff715c0a5 in octave_builtin::do_multi_index_op (this=0x6fd1b0, nargout=1, args=...,
lvalue_list=<optimized out>) at octave-value/ov-builtin.cc:131
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node:
#18 0x00007ffff715a7a4 in octave_builtin::subsref (this=<optimized out>, type="(", idx=std::list,
nargout=nargout@entry=1, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov-builtin.cc:63
#19 0x00007ffff715d5a8 in subsref (nargout=1, idx=..., type=..., this=<optimized out>) at octave-value/ov-builtin.cc:46
#20 octave_builtin::subsref (this=<optimized out>, type=..., idx=...) at octave-value/ov-builtin.h:62
#21 0x00007ffff7254464 in octave_value::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>)
at octave-value/ov.cc:1300
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node:
#22 0x00007ffff72544c5 in octave_value::subsref (this=this@entry=0x7fffffffb0e0, type="(", idx=std::list,
nargout=nargout@entry=1, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov.cc:1313
#23 0x00007ffff72d761d in tree_index_expression::rvalue (this=this@entry=0xc15520, nargout=nargout@entry=1,
lvalue_list=lvalue_list@entry=0x0) at parse-tree/pt-idx.cc:436
#24 0x00007ffff72d8493 in rvalue (nargout=1, this=0xc15520) at parse-tree/pt-idx.cc:284
#25 tree_index_expression::rvalue1 (this=0xc15520, nargout=1) at parse-tree/pt-idx.cc:466
---Type <return> to continue, or q <return> to quit---
#26 0x00007ffff72aa124 in tree_simple_assignment::rvalue1 (this=0xc15710) at parse-tree/pt-assign.cc:85
#27 0x00007ffff72bce0d in tree_evaluator::visit_statement (this=0x7ffff7dd5d60 <std_evaluator>, stmt=...)
at parse-tree/pt-eval.cc:744
#28 0x00007ffff72bc441 in tree_evaluator::visit_statement_list (this=0x7ffff7dd5d60 <std_evaluator>, lst=...)
at parse-tree/pt-eval.cc:794
#29 0x00007ffff72bcd8a in tree_evaluator::visit_statement (this=0x7ffff7dd5d60 <std_evaluator>, stmt=...)
at parse-tree/pt-eval.cc:718
#30 0x00007ffff72bc441 in tree_evaluator::visit_statement_list (this=0x7ffff7dd5d60 <std_evaluator>, lst=...)
at parse-tree/pt-eval.cc:794
#31 0x00007ffff724e373 in octave_user_function::do_multi_index_op (this=0xc1dc00, nargout=0, _args=...,
lvalue_list=0x0) at octave-value/ov-usr-fcn.cc:626
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node:
#32 0x00007ffff7249848 in octave_user_function::subsref (this=0xc1dc00, type="(", idx=std::list, nargout=0,
lvalue_list=lvalue_list@entry=0x0) at octave-value/ov-usr-fcn.cc:438
#33 0x00007ffff7249a4c in octave_user_function::subsref (this=<optimized out>, type=..., idx=...,
nargout=<optimized out>) at octave-value/ov-usr-fcn.cc:421
#34 0x00007ffff7254449 in octave_value::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>)
at octave-value/ov.cc:1302
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node:
#35 0x00007ffff72544c5 in octave_value::subsref (this=this@entry=0x7fffffffbd50, type="(", idx=std::list,
nargout=nargout@entry=0, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov.cc:1313
#36 0x00007ffff72d761d in tree_index_expression::rvalue (this=this@entry=0x80b780, nargout=nargout@entry=0,
lvalue_list=lvalue_list@entry=0x0) at parse-tree/pt-idx.cc:436
#37 0x00007ffff72d8493 in rvalue (nargout=0, this=0x80b780) at parse-tree/pt-idx.cc:284
#38 tree_index_expression::rvalue1 (this=0x80b780, nargout=0) at parse-tree/pt-idx.cc:466
#39 0x00007ffff72bce0d in tree_evaluator::visit_statement (this=0x7ffff7dd5d60 <std_evaluator>, stmt=...)
at parse-tree/pt-eval.cc:744
#40 0x00007ffff72bc441 in tree_evaluator::visit_statement_list (this=0x7ffff7dd5d60 <std_evaluator>, lst=...)
at parse-tree/pt-eval.cc:794
#41 0x00007ffff78110cd in main_loop () at corefcn/toplev.cc:599
#42 0x00007ffff6d3d539 in octave_execute_interpreter () at octave.cc:920
#43 0x00007fffef71ab45 in __libc_start_main (main=0x400b20 <main(int, char**)>, argc=8, argv=0x7fffffffc538,
init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffc528)
at libc-start.c:287
#44 0x0000000000400baf in _start ()

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by mtmiller (Posted a comment)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 11 Jul 2016 08:16:43 PM UTCmtmillerStatusNone=>Works For Me
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1