Why does the Signal Processing Toolbox 6.1 (R13SP1) cause MATLAB to crash when I use BUFFER with an input that is a cell array?
3 views (last 30 days)
Show older comments
Why does the Signal Processing Toolbox 6.1 (R13SP1) cause MATLAB to crash when I use BUFFER with an input that is a cell array?
When I run the code:
x = {{4};{3}};
t = buffer(x,8);
clear x
I get variables created whose values are my crash dump.Also, if I run the following code,
x = {7};
t = buffer(x,8);
clear x
clear t
I get the following error message:
------------
Assertion detected at Fri Dec 05 10:28:33 2003
------------
Assertion failed: hdr->in_use != 0, at line 1218 of file ".\mwmem.c".
Attempt to free previously freed memory
Configuration:
MATLAB Version: 6.5.0.196271 (R13.0.1)
Operating System: Microsoft Windows 2000
Window System:Version 5.0 (Build 2195: Service Pack 3)
Processor ID: x86 Family 6 Model 7 Stepping 3, GenuineIntel
Virtual Machine:Java 1.3.1_01 with Sun Microsystems Inc. Java HotSpot(TM) Client VM
(mixed mode)
Stack Trace:
[0] matlab.exe:_mnSignalHandler(0xffffffff, 0, 0, 1) + 592 bytes
[1] matlab.exe:void __cdecl ThrowAssertion(void)(2, 0x7a748bc0, 0x65737341, 0x6f697472) + 162 bytes
[2] matlab.exe:void __cdecl MATLABAssertFcn(char const *,char const *,int,char const *)(0x7a741868 ": hdr->in_use != 0,", 0x7a74100c ".\mwmem.c", 1218, 0x7a741938 "Attempt to free previously freed..") + 131 bytes
[3] libut.dll:_ut_assertstr(0x7a741868 ": hdr->in_use != 0,", 0x7a74100c ".\mwmem.c", 1218, 0x7a741938 "Attempt to free previously freed..") + 25 bytes
[4] libut.dll:_mw_free(0x01add730 "_ioFopenHelpPath", 5, 0x1983acf8 "D:\Applications\bin\win32\matlab..", 0x00dfcd34) + 542 bytes
[5] libut.dll:_utFree(0x01add730 "_ioFopenHelpPath", 1, 0x1983acf8 "D:\Applications\bin\win32\matlab..", 0x00dfcd44) + 25 bytes
[6] libmx.dll:_mxDestroyArrayContents(0x1983acf8 "D:\Applications\bin\win32\matlab..", 0x019a02b0, 0x00dfcd58, 0x7b111fde) + 209 bytes
[snip]
Accepted Answer
MathWorks Support Team
on 27 Jun 2009
This has been verified as a bug in the Signal Processing Toolbox 6.1 (R13SP1) in the way that BUFFER handles cell arrays.
As a workaround, use CELL2MAT to convert your n-by-1 cell array into a n-by-1 column vector.
a = {1;2;3;4;5;6;7};
b = cell2mat(a);
c = buffer(b,2)
0 Comments
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!