bugGNU Octave - Bugs: bug #37820, __go_axes__ crashes octave

 
 

bug #37820: __go_axes__ crashes octave

Submitter:  None
Submitted:  Tue 27 Nov 2012 04:05:07 PM UTC
   
 
Category:  Plotting Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Segfault, Bus Error, etc.
Status:  Invalid / Not an Octave Bug Assigned to:  None
Originator Name:  JoergB Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * 3.6.3
Operating System:  * GNU/Linux Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 27 Nov 2012 05:59:44 PM UTC, comment #3: 

Thanks for the stack traces. As you can see, they're both crashing on LAPACK. I am therefore fairly certain this is not an Octave bug, but a problem of miscompilation. I am closing these two bug reports. If you disagree and think this is an Octave bug, we can reopen them.

Briefly, you compiled what appears to be a statically-linked BLAS but without making Octave itself statically link to it. Also, 64-bit indexing is experimental. If you think, however, that the problem is with the 64-bit indexing implementation and assuming you followed the instructions here:

http://www.gnu.org/software/octave/doc/interpreter/Compiling-Octave-with-64_002dbit-Indexing.html

then please follow up in this bug report. Otherwise, please follow up on the help mailing list at -email is unavailable-

Jordi GutiƩrrez Hermoso <jordigh>
Group Member
Tue 27 Nov 2012 05:40:57 PM UTC, comment #2: 

Thanks for the superfast reply

I compiled with

--with-blas='path/to/blas/libblas.a' --enable-64 --disable-docs

I had compiled both lapack and blas (current version) on the same system.

Here comes the stack track:

__go_axes__(cf)

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff569a8d8 in dscal_ ()
   from /home/jrb/sources/octave-3.6.3/libcruft/.libs/libcruft.so.1

 bt

#0  0x00007ffff569a8d8 in dscal_ ()
   from /home/jrb/sources/octave-3.6.3/libcruft/.libs/libcruft.so.1
#1  0x00007ffff27caca3 in dtrti2_ () from /usr/lib/liblapack.so.3gf
#2  0x00007ffff27cbeb4 in dtrtri_ () from /usr/lib/liblapack.so.3gf
#3  0x00007ffff5f66c34 in Matrix::tinverse (this=0xe0e378, mattype=...,
    info=@0x7fffffffb0b0: 140733193388032, rcon=@0x7fffffffb0b8: 0, force=0,
    calc_cond=0) at dMatrix.cc:691
#4  0x00007ffff5f67212 in Matrix::inverse (this=0xe0e378, mattype=...,
    info=@0x7fffffffb0b0: 140733193388032, rcon=@0x7fffffffb0b8: 0, force=0,
    calc_cond=0) at dMatrix.cc:822
#5  0x00007ffff5f67462 in Matrix::inverse (this=0xe0e378) at dMatrix.cc:638
#6  0x00007ffff734f65e in axes::properties::update_camera (this=0xe0d960)
    at graphics.cc:4581
#7  0x00007ffff737e9d5 in update_transform (this=0xe0d960) at graphics.h:4896
#8  axes (p=..., mh=..., this=0xe0d950) at graphics.h:6852
#9  make_graphics_object_from_type (type=..., h=..., p=...) at graphics.cc:892
#10 0x00007ffff7371076 in gh_manager::do_make_graphics_handle (this=0x945590,
    go_name=..., p=..., integer_figure_handle=<optimized out>,
    do_createfcn=false, do_notify_toolkit=false) at graphics.cc:7463
#11 0x00007ffff7383f6b in make_graphics_handle (do_notify_toolkit=false,
    do_createfcn=false, integer_figure_handle=false, parent=..., go_name=...)
    at graphics.h:12418
#12 make_graphics_object (go_name=..., args=..., integer_figure_handle=false)
---Type <return> to continue, or q <return> to quit---
    at graphics.cc:8469
#13 0x00007ffff7384487 in F__go_axes__ (args=...) at graphics.cc:8675
#14 0x00007ffff7569b7f in octave_builtin::do_multi_index_op (this=0x69b350,
    nargout=0, args=..., lvalue_list=<optimized out>) at ov-builtin.cc:131
#15 0x00007ffff7568874 in octave_builtin::subsref (this=0x69b350, type=...,
    idx=..., nargout=0, lvalue_list=<optimized out>) at ov-builtin.cc:64
#16 0x00007ffff756969c in octave_builtin::subsref (this=<optimized out>,
    type=..., idx=..., nargout=<optimized out>) at ov-builtin.cc:47
#17 0x00007ffff7613be8 in octave_value::subsref (this=<optimized out>,
    type=..., idx=..., nargout=<optimized out>) at ov.cc:1203
#18 0x00007ffff7613c55 in octave_value::subsref (this=<optimized out>,
    type=..., idx=..., nargout=<optimized out>, lvalue_list=<optimized out>)
    at ov.cc:1214
#19 0x00007ffff769aad5 in tree_index_expression::rvalue (this=0xdec2e0,
    nargout=0, lvalue_list=0x0) at pt-idx.cc:414
#20 0x00007ffff769b3db in tree_index_expression::rvalue (this=<optimized out>,
    nargout=<optimized out>) at pt-idx.cc:284
#21 0x00007ffff76971a8 in tree_index_expression::rvalue1 (this=0xdec2e0,
    nargout=0) at pt-idx.cc:425
#22 0x00007ffff768f603 in tree_evaluator::visit_statement (
    this=0x7ffff7dd97b8, stmt=...) at pt-eval.cc:736
#23 0x00007ffff768ec40 in visit_statement_list (lst=..., this=0x7ffff7dd97b8)
    at pt-eval.cc:772
---Type <return> to continue, or q <return> to quit---
#24 tree_evaluator::visit_statement_list (this=0x7ffff7dd97b8, lst=...)
    at pt-eval.cc:753
#25 0x00007ffff7506c08 in main_loop () at toplev.cc:595
#26 0x00007ffff74a6391 in octave_main (argc=6, argv=0x7fffffffd668, embedded=0)
    at octave.cc:943
#27 0x00007ffff69ca76d in __libc_start_main ()
   from /lib/x86_64-linux-gnu/libc.so.6
#28 0x0000000000400601 in _start ()



and the stack track for bug #37819 is


1/[1;1;1]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff569a6e0 in dnrm2_ ()
   from /home/jrb/sources/octave-3.6.3/libcruft/.libs/libcruft.so.1

bt

#0  0x00007ffff569a6e0 in dnrm2_ ()
   from /home/jrb/sources/octave-3.6.3/libcruft/.libs/libcruft.so.1
#1  0x00007ffff26a1468 in dlarfg_ () from /usr/lib/liblapack.so.3gf
#2  0x00007ffff25c3e9c in dgelq2_ () from /usr/lib/liblapack.so.3gf
#3  0x00007ffff25c4673 in dgelqf_ () from /usr/lib/liblapack.so.3gf
#4  0x00007ffff25c710c in dgelsd_ () from /usr/lib/liblapack.so.3gf
#5  0x00007ffff5f63489 in Matrix::lssolve (this=0x7fffffffb7d0, b=...,
    info=@0x7fffffffb9c0: 140733193388032,
    rank=@0x7fffffffb6f8: 140737488337088, rcon=@0x7fffffffb9c8: -1)
    at dMatrix.cc:2361
#6  0x00007ffff5f658b5 in Matrix::solve (this=0x7fffffffb7d0, mattype=...,
    b=..., info=@0x7fffffffb9c0: 140733193388032, rcon=@0x7fffffffb9c8: -1,
    sing_handler=0x7ffff7524030 <solve_singularity_warning(double)>,
    singular_fallback=true, transt=blas_no_trans) at dMatrix.cc:1971
#7  0x00007ffff5f6592b in Matrix::solve (this=0x7fffffffbae0, mattype=...,
    b=..., info=@0x7fffffffb9c0: 140733193388032, rcon=@0x7fffffffb9c8: -1,
    sing_handler=0x7ffff7524030 <solve_singularity_warning(double)>,
    singular_fallback=true, transt=blas_trans) at dMatrix.cc:1958
#8  0x00007ffff7527363 in xdiv (a=..., b=..., typ=...) at xdiv.cc:140
#9  0x00007ffff7838586 in oct_binop_div (a1=..., a2=...)
    at OPERATORS/op-s-m.cc:53
#10 0x00007ffff760e161 in do_binary_op (op=octave_value::op_div, v1=...,
    v2=...) at ov.cc:1903
---Type <return> to continue, or q <return> to quit---
#11 0x00007ffff7680288 in tree_binary_expression::rvalue1 (this=0x9f16c0)
    at pt-binop.cc:132
#12 0x00007ffff7437d72 in fold (e=0x9f16c0) at oct-parse.yy:1904
#13 0x00007ffff743a343 in octave_parse () at oct-parse.yy:847
#14 0x00007ffff7506baf in main_loop () at toplev.cc:583
#15 0x00007ffff74a6391 in octave_main (argc=6, argv=0x7fffffffd668, embedded=0)
    at octave.cc:943
#16 0x00007ffff69ca76d in __libc_start_main ()
   from /lib/x86_64-linux-gnu/libc.so.6
#17 0x0000000000400601 in _start ()




Anonymous
Tue 27 Nov 2012 05:18:05 PM UTC, comment #1: 

How did you compile Octave? What libraries are you linking to? Can you please produce a stack trace according to these instructions?

http://wiki.octave.org/Debugging_Octave#GDB

I suspect this is a duplicate of bug #37819. I suspect you're linking to an improperly compiled BLAS and these two bugs are both UB.

Jordi GutiƩrrez Hermoso <jordigh>
Group Member
Tue 27 Nov 2012 04:05:07 PM UTC, original submission:  

Dear all,

I just compiled Octave 3.6.3 on Ubuntu 12.04 LTS and encountered crashes when trying to plot. I could trace these back to a segmentation fault in _go_axes_.


cf = gcf() ;
__go_axes__(cf) ;


causes

panic: Segmentation fault -- stopping myself...

Thanks for your help

Cheers,
Joerg

Anonymous

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jordigh (Posted a comment)
  • -email is unavailable- added by None (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2012-11-27 jordigh StatusNeed Info Invalid / Not an Octave Bug
        Open/ClosedOpen Closed
    2012-11-27 jordigh StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code