[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/