Matlab 2021b: Run Section now interrupts currently running section?

14 views (last 30 days)
I have recently upgraded to MATLAB 2021b. In my script, I often run one section of my code (Command+Enter), and "queue up" another section of my code to run by clicking to that section and running that section with the same hotkey. This is helpful when debugging, for example, and I want to only run only some nonsequential sections of the script.
In MATLAB 2020a, this worked without a problem: the first section would run, then the second section. Now however, when I do this same thing, the first section of code will be interrupted with the error:
Operation terminated by user during LiveEditorEvaluationHelperE2113566987 (line 8)
How can this be fixed or changed? I have looked through the Preferences and found nothing relevant.
  2 Comments
Joseph Williams
Joseph Williams on 19 Oct 2021
Chaona, I am glad at least that someone else is experiencing this issue, not just me. It is such a bizarre bug.

Sign in to comment.

Answers (3)

Michael Zauner
Michael Zauner on 21 Oct 2021
it seems Matlab has changed the way 'Run section' works in the 2021b release.
The 'Run section' now queues the next execution instead of instantly triggering it.
  1 Comment
Joseph Williams
Joseph Williams on 21 Oct 2021
Thanks for bringing visibility to this topic with your response and your insightful post.

Sign in to comment.


Srijith Kasaragod
Srijith Kasaragod on 27 Oct 2021
Edited: Srijith Kasaragod on 27 Oct 2021
Hi Joseph,
This is a known issue which the developers are already aware of and might be fixed in a future release.
A workaround could be to use "Run and Advance" ("Ctrl+Shift+Enter") instead of "Run Section", upon which none of the sections get terminated.
Hope this helps!

Joseph Williams
Joseph Williams on 19 Oct 2021
Edited: Joseph Williams on 19 Oct 2021
To provide some further details, this bug appears irrespective of the code being executed. For example, it is easy to recreate this bug with the following code. First, run only the first code section, then run the second code section while the first is still executing.
%% First code section
for i = 1:2:10
fprintf('i = %d\n',i)
pause(0.5)
end
%% Second code section
for j = 2:2:10
fprintf('j = %d\n',j)
pause(0.5)
end

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by