Bug 1564344

Summary: octave segv when plotting
Product: [Fedora] Fedora EPEL Reporter: Ben Woodard <woodard>
Component: octaveAssignee: Susi Lehtola <susi.lehtola>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: alex, cbm, fkluknav, jaromir.capik, mmahut, orion, rakesh.pandit, susi.lehtola
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-06 05:50:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ben Woodard 2018-04-06 02:23:07 UTC
Description of problem:
octave segv's

bt
#0  0x00007fffdeeada6d in Fl_Gl_Window::show (this=0xbf2450) at Fl_Gl_Window.cxx:84
#1  0x00007fffdebca303 in Fl_Window::handle (this=this@entry=0xbf2450, ev=ev@entry=16) at Fl.cxx:1673
#2  0x00007fffdeeadc05 in Fl_Gl_Window::handle (this=this@entry=0xbf2450, event=event@entry=16) at Fl_Gl_Window.cxx:545
#3  0x00007fffdf0d47c0 in OpenGL_fltk::handle (this=0xbf2450, event=16) at dldfcn/__init_fltk__.cc:252
#4  0x00007fffdebdfd26 in Fl_Group::handle (this=<optimized out>, event=16) at Fl_Group.cxx:283
#5  0x00007fffdf0e4f96 in plot_window::handle (this=0xbf1b10, event=16) at dldfcn/__init_fltk__.cc:1277
#6  0x00007fffdec29fd8 in Fl_X::make_xid (win=0xbf1b10, visual=0xc100e0, colormap=<optimized out>) at Fl_x.cxx:2606
#7  0x00007fffdf0e3ab7 in plot_window::plot_window (this=0xbf1b10, xx=<optimized out>, yy=440, ww=560, hh=420, xfp=...) at dldfcn/__init_fltk__.cc:779
#8  0x00007fffdf0e4153 in figure_manager::do_new_window (this=0xb92560, fp=...) at dldfcn/__init_fltk__.cc:1710
#9  0x00007fffdf0d38d7 in new_window (fp=...) at dldfcn/__init_fltk__.cc:1571
#10 __fltk_redraw__ () at dldfcn/__init_fltk__.cc:1904
#11 0x00007fffdf0e43b5 in fltk_graphics_toolkit::redraw_figure (this=<optimized out>, go=...) at dldfcn/__init_fltk__.cc:2034
#12 0x00007ffff767909e in redraw_figure (go=..., this=0x7fffffff9d60) at corefcn/graphics.h:2169
#13 Fdrawnow (args=...) at corefcn/graphics.cc:9738
#14 0x00007ffff733d340 in octave_builtin::do_multi_index_op (this=0x6d86c0, nargout=0, args=..., lvalue_list=0x0) at octave-value/ov-builtin.cc:132
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#15 0x00007ffff733c7db in octave_builtin::subsref (this=0x6d86c0, type="(", idx=std::list, nargout=0, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov-builtin.cc:64
#16 0x00007ffff733cd7c in octave_builtin::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov-builtin.cc:47
#17 0x00007ffff73f3bb9 in octave_value::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov.cc:1269
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#18 0x00007ffff73f3c45 in octave_value::subsref (this=this@entry=0x7fffffffa350, type="(", idx=std::list, nargout=nargout@entry=0, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov.cc:1280
#19 0x00007ffff746603f in tree_index_expression::rvalue (this=<optimized out>, nargout=0, lvalue_list=lvalue_list@entry=0x0) at parse-tree/pt-idx.cc:415
#20 0x00007ffff746675b in tree_index_expression::rvalue (this=<optimized out>, nargout=<optimized out>) at parse-tree/pt-idx.cc:284
#21 0x00007ffff7462e5e in tree_index_expression::rvalue1 (this=0xb502b0, nargout=0) at parse-tree/pt-idx.cc:427
#22 0x00007ffff745ba38 in tree_evaluator::visit_statement (this=<optimized out>, stmt=...) at parse-tree/pt-eval.cc:747
#23 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#24 0x00007ffff745b959 in tree_evaluator::visit_statement (this=0x7ffff7dd50c0 <std_evaluator>, stmt=...) at parse-tree/pt-eval.cc:721
#25 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#26 0x00007ffff73ec5f7 in octave_user_function::do_multi_index_op (this=0xb50ef0, nargout=0, args=..., lvalue_list=0x0) at octave-value/ov-usr-fcn.cc:589
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#27 0x00007ffff73e8a25 in octave_user_function::subsref (this=0xb50ef0, type="(", idx=std::list, nargout=0, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov-usr-fcn.cc:437
#28 0x00007ffff73e8c0c in octave_user_function::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov-usr-fcn.cc:420
#29 0x00007ffff73f3bb9 in octave_value::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov.cc:1269
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#30 0x00007ffff73f3c45 in octave_value::subsref (this=this@entry=0x7fffffffad00, type="(", idx=std::list, nargout=nargout@entry=0, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov.cc:1280
#31 0x00007ffff746603f in tree_index_expression::rvalue (this=<optimized out>, nargout=0, lvalue_list=lvalue_list@entry=0x0) at parse-tree/pt-idx.cc:415
#32 0x00007ffff746675b in tree_index_expression::rvalue (this=<optimized out>, nargout=<optimized out>) at parse-tree/pt-idx.cc:284
#33 0x00007ffff7462e5e in tree_index_expression::rvalue1 (this=0xb1bad0, nargout=0) at parse-tree/pt-idx.cc:427
#34 0x00007ffff745ba38 in tree_evaluator::visit_statement (this=<optimized out>, stmt=...) at parse-tree/pt-eval.cc:747
#35 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#36 0x00007ffff745b959 in tree_evaluator::visit_statement (this=0x7ffff7dd50c0 <std_evaluator>, stmt=...) at parse-tree/pt-eval.cc:721
#37 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#38 0x00007ffff73ec5f7 in octave_user_function::do_multi_index_op (this=0xb21490, nargout=1, args=..., lvalue_list=0x0) at octave-value/ov-usr-fcn.cc:589
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#39 0x00007ffff73e8a25 in octave_user_function::subsref (this=0xb21490, type="(", idx=std::list, nargout=1, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov-usr-fcn.cc:437
#40 0x00007ffff73e8c0c in octave_user_function::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov-usr-fcn.cc:420
#41 0x00007ffff73ed78b in octave_user_function::subsref (this=<optimized out>, type=..., idx=...) at octave-value/ov-usr-fcn.h:349
#42 0x00007ffff73f3be4 in octave_value::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov.cc:1267
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#43 0x00007ffff73f3c45 in octave_value::subsref (this=this@entry=0x7fffffffb730, type="(", idx=std::list, nargout=nargout@entry=1, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov.cc:1280
#44 0x00007ffff746603f in tree_index_expression::rvalue (this=<optimized out>, nargout=1, lvalue_list=lvalue_list@entry=0x0) at parse-tree/pt-idx.cc:415
#45 0x00007ffff746675b in tree_index_expression::rvalue (this=<optimized out>, nargout=<optimized out>) at parse-tree/pt-idx.cc:284
#46 0x00007ffff7462e5e in tree_index_expression::rvalue1 (this=0xafe2a0, nargout=1) at parse-tree/pt-idx.cc:427
#47 0x00007ffff744fbb9 in tree_simple_assignment::rvalue1 (this=0xafc970) at parse-tree/pt-assign.cc:85
#48 0x00007ffff745ba38 in tree_evaluator::visit_statement (this=<optimized out>, stmt=...) at parse-tree/pt-eval.cc:747
#49 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#50 0x00007ffff745b959 in tree_evaluator::visit_statement (this=0x7ffff7dd50c0 <std_evaluator>, stmt=...) at parse-tree/pt-eval.cc:721
#51 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#52 0x00007ffff745b959 in tree_evaluator::visit_statement (this=0x7ffff7dd50c0 <std_evaluator>, stmt=...) at parse-tree/pt-eval.cc:721
#53 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#54 0x00007ffff73ec5f7 in octave_user_function::do_multi_index_op (this=0xb0c010, nargout=1, args=..., lvalue_list=0x0) at octave-value/ov-usr-fcn.cc:589
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#55 0x00007ffff73e8a25 in octave_user_function::subsref (this=0xb0c010, type="(", idx=std::list, nargout=1, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov-usr-fcn.cc:437
#56 0x00007ffff73e8c0c in octave_user_function::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov-usr-fcn.cc:420
#57 0x00007ffff73ed78b in octave_user_function::subsref (this=<optimized out>, type=..., idx=...) at octave-value/ov-usr-fcn.h:349
#58 0x00007ffff73f3be4 in octave_value::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov.cc:1267
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#59 0x00007ffff73f3c45 in octave_value::subsref (this=this@entry=0x7fffffffc2f0, type="(", idx=std::list, nargout=nargout@entry=1, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov.cc:1280
#60 0x00007ffff746603f in tree_index_expression::rvalue (this=<optimized out>, nargout=1, lvalue_list=lvalue_list@entry=0x0) at parse-tree/pt-idx.cc:415
#61 0x00007ffff746675b in tree_index_expression::rvalue (this=<optimized out>, nargout=<optimized out>) at parse-tree/pt-idx.cc:284
#62 0x00007ffff7462e5e in tree_index_expression::rvalue1 (this=0xaf41e0, nargout=1) at parse-tree/pt-idx.cc:427
#63 0x00007ffff744fbb9 in tree_simple_assignment::rvalue1 (this=0xae4ec0) at parse-tree/pt-assign.cc:85
#64 0x00007ffff745ba38 in tree_evaluator::visit_statement (this=<optimized out>, stmt=...) at parse-tree/pt-eval.cc:747
#65 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#66 0x00007ffff745b959 in tree_evaluator::visit_statement (this=0x7ffff7dd50c0 <std_evaluator>, stmt=...) at parse-tree/pt-eval.cc:721
#67 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#68 0x00007ffff73ec5f7 in octave_user_function::do_multi_index_op (this=0xb0c610, nargout=1, args=..., lvalue_list=0x0) at octave-value/ov-usr-fcn.cc:589
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#69 0x00007ffff73e8a25 in octave_user_function::subsref (this=0xb0c610, type="(", idx=std::list, nargout=1, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov-usr-fcn.cc:437
#70 0x00007ffff73e8c0c in octave_user_function::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov-usr-fcn.cc:420
#71 0x00007ffff73ed78b in octave_user_function::subsref (this=<optimized out>, type=..., idx=...) at octave-value/ov-usr-fcn.h:349
#72 0x00007ffff73f3be4 in octave_value::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov.cc:1267
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#73 0x00007ffff73f3c45 in octave_value::subsref (this=this@entry=0x7fffffffce00, type="(", idx=std::list, nargout=nargout@entry=1, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov.cc:1280
#74 0x00007ffff746603f in tree_index_expression::rvalue (this=<optimized out>, nargout=1, lvalue_list=lvalue_list@entry=0x0) at parse-tree/pt-idx.cc:415
#75 0x00007ffff746675b in tree_index_expression::rvalue (this=<optimized out>, nargout=<optimized out>) at parse-tree/pt-idx.cc:284
#76 0x00007ffff7462e5e in tree_index_expression::rvalue1 (this=0xae5e30, nargout=1) at parse-tree/pt-idx.cc:427
#77 0x00007ffff744fbb9 in tree_simple_assignment::rvalue1 (this=0xae6250) at parse-tree/pt-assign.cc:85
#78 0x00007ffff745ba38 in tree_evaluator::visit_statement (this=<optimized out>, stmt=...) at parse-tree/pt-eval.cc:747
#79 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#80 0x00007ffff745daae in tree_evaluator::visit_unwind_protect_command (this=0x7ffff7dd50c0 <std_evaluator>, cmd=...) at parse-tree/pt-eval.cc:1047
#81 0x00007ffff745b959 in tree_evaluator::visit_statement (this=0x7ffff7dd50c0 <std_evaluator>, stmt=...) at parse-tree/pt-eval.cc:721
#82 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#83 0x00007ffff73ec5f7 in octave_user_function::do_multi_index_op (this=0xae8f30, nargout=0, args=..., lvalue_list=0x0) at octave-value/ov-usr-fcn.cc:589
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#84 0x00007ffff73e8a25 in octave_user_function::subsref (this=0xae8f30, type="(", idx=std::list, nargout=0, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov-usr-fcn.cc:437
#85 0x00007ffff73e8c0c in octave_user_function::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov-usr-fcn.cc:420
#86 0x00007ffff73f3bb9 in octave_value::subsref (this=<optimized out>, type=..., idx=..., nargout=<optimized out>) at octave-value/ov.cc:1269
Python Exception <type 'exceptions.ValueError'> Cannot find type const std::list<octave_value_list, std::allocator<octave_value_list> >::_Node: 
#87 0x00007ffff73f3c45 in octave_value::subsref (this=this@entry=0x7fffffffd8b0, type="(", idx=std::list, nargout=nargout@entry=0, lvalue_list=lvalue_list@entry=0x0) at octave-value/ov.cc:1280
#88 0x00007ffff746603f in tree_index_expression::rvalue (this=<optimized out>, nargout=0, lvalue_list=lvalue_list@entry=0x0) at parse-tree/pt-idx.cc:415
#89 0x00007ffff746675b in tree_index_expression::rvalue (this=<optimized out>, nargout=<optimized out>) at parse-tree/pt-idx.cc:284
#90 0x00007ffff7462e5e in tree_index_expression::rvalue1 (this=0x76ca50, nargout=0) at parse-tree/pt-idx.cc:427
#91 0x00007ffff745ba38 in tree_evaluator::visit_statement (this=<optimized out>, stmt=...) at parse-tree/pt-eval.cc:747
#92 0x00007ffff745b061 in tree_evaluator::visit_statement_list (this=0x7ffff7dd50c0 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#93 0x00007ffff7859660 in main_loop () at corefcn/toplev.cc:569
#94 0x00007ffff7000a67 in octave_execute_interpreter () at octave.cc:889
#95 0x00007ffff4ab1377 in __libc_start_main (main=0x4008d0 <main(int, char**)>, argc=1, ubp_av=0x7fffffffe018, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe008) at ../csu/libc-start.c:274
#96 0x000000000040095f in _start ()
(gdb) 


Version-Release number of selected component (if applicable):
octave-3.8.2-20.el7.x86_64

How reproducible:
Always

Steps to Reproduce:
1. run octave
2. plot(1)

Actual results:
segv

Expected results:
runs

Additional info:
octave-4.2.2-1.fc27.x86_64 works on F27 works correctly but running 3.8.2 in either a VM or xhosted over SSH crashes as enumerated above.

Comment 1 Susi Lehtola 2018-04-06 05:50:45 UTC
3.8.2 is an ancient version and can't be updated as per the EPEL update policy.

As a workaround, use the gnuplot backend:

> graphics_toolkit('gnuplot')
> plot(1)

You can set it as default in your .octaverc