Why does the Signal Processing Toolbox 6.1 (R13SP1) cause

F
Francisco · Mar 22, 2021 · 2.2K views
Question
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]  
Expert Answer
Profile picture of Prashant Kumar
Prashant Kumar PhD Expert
Answered Aug 30, 2026
This has been verified as a bug in the Signal Processing  Toolbox 6.1 (R13SP1) in the way that BUFFER handles cell arrays.
 

The issue with Signal Processing Toolbox 6.1 (R13SP1) causing MATLAB to crash when using the `BUFFER` function with a cell array input is due to a bug in the way `BUFFER` handles cell arrays cause MATLAB to ...](https://www.mathworks.com/matlabcentral/answers/96747-why-does-the-signal-processing-toolbox-6-1-r13sp1-cause-matlab-to-crash-when-i-use-buffer-with-an). This bug leads to an assertion failure and a crash cause MATLAB to ...](https://www.mathworks.com/matlabcentral/answers/96747-why-does-the-signal-processing-toolbox-6-1-r13sp1-cause-matlab-to-crash-when-i-use-buffer-with-an).

 Workaround

To avoid this issue, you can convert your cell array to a numeric array using the `CELL2MAT` function before passing it to `BUFFER` cause MATLAB to ...](https://www.mathworks.com/matlabcentral/answers/96747-why-does-the-signal-processing-toolbox-6-1-r13sp1-cause-matlab-to-crash-when-i-use-buffer-with-an). Here’s how you can do it:


% Example cell array
a = {1; 2; 3; 4; 5; 6; 7};
% Convert cell array to numeric array
b = cell2mat(a);
% Use BUFFER on the numeric array
c = buffer(b, 2);

By converting the cell array to a numeric array, you can avoid the crash and use the `BUFFER` function as intended.

100% Run Guarantee 3-Hour Fast-Track Delivery

Need a Custom Version or Complete Simulation for This Problem?

Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.

Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!