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

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

[Octave-bug-tracker] [bug #50674] audiorecorder() crashes in getaudiodat


From: Rik
Subject: [Octave-bug-tracker] [bug #50674] audiorecorder() crashes in getaudiodata()
Date: Thu, 30 Mar 2017 01:07:03 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0

Follow-up Comment #1, bug #50674 (project octave):

I used a slightly modified program which I have attached.


more off
recorder = audiorecorder ()
record (recorder)
for i=1:20
  printf ("############################################################\n");
  printf ("Executing Loop #%d\n", i);
  printf ("############################################################\n");

  pause (1);

  get (recorder)
  printf ("executed get (recorder)\n");

  data = getaudiodata (recorder);
  printf ("got data\n", i);

  size (data)
end
stop (recorder)


Here is a backtrace from gdb, also attached.


#0  0x00007f3c29e32428 in __GI_raise (address@hidden)
    at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007f3c29e3402a in __GI_abort () at abort.c:89
#2  0x00007f3c29e747ea in __libc_message (address@hidden, 
    address@hidden "*** Error in `%s': %s: 0x%s ***\n")
    at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007f3c29e7ce0a in malloc_printerr (ar_ptr=<optimized out>,
ptr=<optimized out>, 
    str=0x7f3c29f8d3f0 "double free or corruption (out)", action=3) at
malloc.c:5004
#4  _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at
malloc.c:3865
#5  0x00007f3c29e8098c in __GI___libc_free (mem=<optimized out>) at
malloc.c:2966
#6  0x00007f3c2beb1f53 in Array<double>::ArrayRep::~ArrayRep (this=0x1952790,

    __in_chrg=<optimized out>) at ./liboctave/array/Array.h:170
#7  0x00007f3c2beb1d79 in Array<double>::~Array (this=0x1a17790, 
    __in_chrg=<optimized out>) at ./liboctave/array/Array.h:306
#8  0x00007f3c2beb1ae0 in MArray<double>::~MArray (this=0x1a17790, 
    __in_chrg=<optimized out>) at ./liboctave/array/MArray.h:83
#9  0x00007f3c2beb1b48 in NDArray::~NDArray (this=0x1a17790,
__in_chrg=<optimized out>)
    at ./liboctave/array/dNDArray.h:38
#10 0x00007f3c2bef25ac in octave_base_matrix<NDArray>::~octave_base_matrix (
    this=0x1a17780, __in_chrg=<optimized out>)
    at ./libinterp/octave-value/ov-base-mat.h:68
#11 0x00007f3c2bf7567c in octave_matrix::~octave_matrix (this=0x1a17780, 
    __in_chrg=<optimized out>) at ./libinterp/octave-value/ov-re-mat.h:97
#12 0x00007f3c2bf756ac in octave_matrix::~octave_matrix (this=0x1a17780, 
    __in_chrg=<optimized out>) at ./libinterp/octave-value/ov-re-mat.h:97
#13 0x00007f3c2bea61bf in octave_value::operator= (this=0x198e120, a=...)
    at ./libinterp/octave-value/ov.h:362
#14 0x00007f3c2c379fb4 in octave_value::assign (this=0x198e120, 
    op=octave_value::op_asn_eq, rhs=...) at libinterp/octave-value/ov.cc:1586
#15 0x00007f3c2c7fd052 in
symbol_table::symbol_record::symbol_record_rep::assign (
    this=0x198e020, op=octave_value::op_asn_eq, value=...,
context=18446744073709551615)
    at libinterp/corefcn/symtab.h:241
#16 0x00007f3c2c7fd151 in symbol_table::symbol_record::assign
(this=0x7fff3a85e768, 
    op=octave_value::op_asn_eq, value=..., context=18446744073709551615)
---Type <return> to continue, or q <return> to quit---
   cn/symtab.h:547                                                            
              
#17 0x00007f3c2c7fcb0d in octave_lvalue::assign (this=0x7fff3a85e760,
op=octave_value::op_asn_eq, rhs=...)
    at libinterp/corefcn/oct-lvalue.cc:38                                     
                   
#18 0x00007f3c2c4395ba in octave::tree_simple_assignment::rvalue1
(this=0x198ef60) at libinterp/parse-tree/pt-assign.cc:103
#19 0x00007f3c2c446261 in octave::tree_evaluator::visit_statement
(this=0x1404dd0, stmt=...) at libinterp/parse-tree/pt-eval.cc:685
#20 0x00007f3c2c4687fe in octave::tree_statement::accept (this=0x198efa0,
tw=...) at libinterp/parse-tree/pt-stmt.cc:188
#21 0x00007f3c2c446405 in octave::tree_evaluator::visit_statement_list
(this=0x1404dd0, lst=...)        
    at libinterp/parse-tree/pt-eval.cc:727                                    
                             
#22 0x00007f3c2c469460 in octave::tree_statement_list::accept (this=0x185fdb0,
tw=...) at libinterp/parse-tree/pt-stmt.cc:323
#23 0x00007f3c2c444cfa in octave::tree_evaluator::visit_simple_for_command
(this=0x1404dd0, cmd=...)               
    at libinterp/parse-tree/pt-eval.cc:306                                    
                                    
#24 0x00007f3c2c4528aa in octave::tree_simple_for_command::accept
(this=0x198fe80, tw=...) at libinterp/parse-tree/pt-loop.cc:127
#25 0x00007f3c2c446179 in octave::tree_evaluator::visit_statement
(this=0x1404dd0, stmt=...) at libinterp/parse-tree/pt-eval.cc:659
#26 0x00007f3c2c4687fe in octave::tree_statement::accept (this=0x198fdf0,
tw=...) at libinterp/parse-tree/pt-stmt.cc:188     
#27 0x00007f3c2c446405 in octave::tree_evaluator::visit_statement_list
(this=0x1404dd0, lst=...)                                 
    at libinterp/parse-tree/pt-eval.cc:727                                    
                                                     
#28 0x00007f3c2c469460 in octave::tree_statement_list::accept (this=0x172b8b0,
tw=...) at libinterp/parse-tree/pt-stmt.cc:323          
#29 0x00007f3c2c36a833 in octave_user_script::do_multi_index_op
(this=0x19907d0, nargout=0, args=...)
    at libinterp/octave-value/ov-usr-fcn.cc:153
#30 0x00007f3c2c379c4d in octave_value::do_multi_index_op
(this=0x7fff3a85ed70, nargout=0, idx=...)
    at libinterp/octave-value/ov.cc:1529
#31 0x00007f3c2c44ae83 in octave::tree_identifier::rvalue (this=0x191a450,
nargout=0, lvalue_list=0x0)
    at libinterp/parse-tree/pt-id.cc:93
#32 0x00007f3c2c42a4a6 in octave::tree_identifier::rvalue (this=0x191a450,
nargout=0) at libinterp/parse-tree/pt-id.h:118
#33 0x00007f3c2c44b264 in octave::tree_identifier::rvalue1 (this=0x191a450,
nargout=0) at libinterp/parse-tree/pt-id.cc:126
#34 0x00007f3c2c446261 in octave::tree_evaluator::visit_statement
(this=0x1404dd0, stmt=...) at libinterp/parse-tree/pt-eval.cc:685
#35 0x00007f3c2c4687fe in octave::tree_statement::accept (this=0x19798c0,
tw=...) at libinterp/parse-tree/pt-stmt.cc:188
#36 0x00007f3c2c446405 in octave::tree_evaluator::visit_statement_list
(this=0x1404dd0, lst=...)
    at libinterp/parse-tree/pt-eval.cc:727
#37 0x00007f3c2c469460 in octave::tree_statement_list::accept (this=0x1575f20,
tw=...) at libinterp/parse-tree/pt-stmt.cc:323
#38 0x00007f3c2c77759b in octave::interpreter::main_loop (this=0x13f54a0) at
libinterp/corefcn/interpreter.cc:939
#39 0x00007f3c2c776382 in octave::interpreter::execute (this=0x13f54a0) at
libinterp/corefcn/interpreter.cc:663
#40 0x00007f3c2bea51f5 in octave::application::execute_interpreter
(this=0x7fff3a85f3b0) at libinterp/octave.cc:394
#41 0x00007f3c2bea54ba in octave::cli_application::execute
(this=0x7fff3a85f3b0) at libinterp/octave.cc:439
#42 0x00000000004017f4 in main (argc=8, argv=0x7fff3a85f608) at
src/main-cli.cc:90


There is a double free or other corruption in malloc from the getaudiodata
call.


(file #40205, file #40206)
    _______________________________________________________

Additional Item Attachment:

File name: tst_rec.m                      Size:0 KB
File name: btrace.log                     Size:5 KB


    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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