cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeIDE: CPU stuck at 100% when editing IOC files

AStev.2
Associate III

I am using STM32CubeIDE v1.4.2 and experiencing issues with editing IOC files. I am using Ubuntu 18.04.05 as recommended by ST. Often when when I am using the integrated Cube MX editor I experience 100% CPU load and the IDE locks up. I have tried increasing the Java heap size to 4MB. 3 years ago I did a project using the separate Cube MX program and had no issues with it but since ST integrated it into the IDE it seems pretty much unusable. Does anyone have any ideas how to make this software operable?

19 REPLIES 19
Olivier GALLIEN
ST Employee

Hi @Community member​ ,

I have escalated your issue.

Keep you posted

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
mattias norlander
ST Employee

Hi @Community member​,

Olivier escalated​ the ticket already long time ago. So far we have not been able to re-produce the issue.

Could you provide specifications about your computer hardware and environment?

Have you find a way to systematically re-produce this?

I assume you are able to go back to use CubeMX stand-alone tool to continue to work and not open the IOC-file in the integrated editor in CubeIDE?

AStev.2
Associate III

The symptoms I was reporting varied. Sometimes the Cube window would come up white and completely blank. Other times it would come up just showing the Cube graphic but no tabs or window controls for editing around the left and topside. Other times the window would not open at all and just stick showing the pop-up dialog which appears before hand.

I was astonished to find that you install the STM32CubeIDE with a very small Java heap size (256MB as the default, increasing to a max of 1024MB). Since I increased it to 4096MB it has made a massive improvement and the Cube window starts about 95% of the time.

The host computer is a Windows 10 i7-4790K @ 4.00GHz with 16GB RAM & 3 x 512GB SSD. The STM32CubeIDE is within Ubuntu 18.04.05 running as a guest within VMWare Workstation 15 Player. The VM settings are 8GB memory, 2 Processors, 150GB storage.

AStev.2
Associate III

The Cube editor wouldn't function at all today. Initially it would come up as a blank white window but after repeated attempts the window itself wouldn't be created - only the 'X' in the tab bar appeared - no window associated with it at all.

It appears to me to be a memory issue. I ran the Ubuntu System Monitor and checked the 'Memory' figure for the 'java' process associated with the STM32CubeIDE. It was showing over 4GiB of memory.

I closed STM32CubeIDE and restarted it and the Cube window opened and functioned correctly. The 'Memory' figure had gone down to 2.4GiB.

The behaviour of the program and above memory consumption suggests there is a Java memory management issue in some scenarios where even the IDE can't find the memory to open and populate the window.

Long time ago since 1.4.2 release ... Have you got more success with some more recent STM32CubeIDE updates ?

Antti Huhtala
Associate II

I'm having a similar issue with STM32CubeIDE 1.6.1. Editing IOC files in the integrated MX thing just hangs and uses all CPU time. My issue does not go away by restarting the IDE however. I'm running Ubuntu 20.04.

I did find that deleting the .stm32cubemx directory in my home directory recovers the issue. There thus seems to be some persistent setting that breaks the editor.

@Antti Huhtala​  interesting.

Are you relying on an old .ioc you were migrating or brand new one (i.e. created by STM32CubeMX 6.2.1 or STM32CubeIDE 1.6.1) ?

Possible to share such .ioc ?

Any chance to run extra trial on your side adding more log ? Have a look to your workspace some .metadata/.log4j setup file is available.

Move    <param name="Threshold" value="INFO"/> to    <param name="Threshold" value="DEBUG"/>.

Remove then .metadata/.log & .metadata/.ide.log and start a new IDE session. Proceed as usual to get stucked situation and please share back such 2 files.

Help would be appreciated by community. Thanks.

Hi.

The issue was happening with any of my projects and 100% of the time. Some ioc's were imported from older versions, others were new. The one I mostly wanted to work on was created with STM32CubeIDE 1.6.1. I've had this same issue occur also before on older versions of STM32CubeIDE. The issue always went away when I upgraded to a new version of the IDE. I was lucky then that there always happened to be a new version available when the issue manifested. Now I had already the latest version, so I couldn't go that path.

After removing the .stm32cubemx directory in my home dir, the issue essentially went away for now. To try and reproduce the issue, I opened and closed .ioc files of some projects several times and was finally able to reproduce the issue one time. I had the logging set to DEBUG as you described, and I have attached the log files and the offending .ioc file. Before removing the .stm32cubemx directory, the issue would happen every time, preventing me from editing any .ioc files. Now, however, the offending .ioc opened cleanly after a restart of the IDE. I took copies of the logs before restarting the IDE, so the attached logs are from the run that ended up in a hang.

The log shows me opening two different project's .ioc files. This is done during a few launches of the IDE. The final open caused the hang. The pinout view was drawn, but the left side peripheral configuration menu remained blank (white). CPU usage was 100% after this on all cores. The main UI of the IDE remained operational although the IOC editor hanged. After the editor hanged, I closed the main IDE window, which terminated cleanly (i.e. I did not have to kill the process etc.).

In addition, I get the following messages in the terminal I launched the IDE from (in addition to several GTK assertion failure messages):

"

WARNING: An illegal reflective access operation has occurred

WARNING: Illegal reflective access by com.st.microxplorer.plugins.pinoutandconfiguration.PinoutAndConfigurationView (file:/home/antti/st/stm32cubeide_1.5.0/plugins/com.st.stm32cube.common.mx_6.2.1.202103241236/plugins/pinoutandconfiguration.jar) to field javax.swing.plaf.basic.BasicSplitPaneDivider.leftButton

WARNING: Please consider reporting this to the maintainers of com.st.microxplorer.plugins.pinoutandconfiguration.PinoutAndConfigurationView

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations

WARNING: All illegal access operations will be denied in a future release

toolchainItems.length=====1

"

As well as the rather cryptic messages:

"

Command line test

Command line

Command line

"

Hope this helps.

Just a short clarification: the IDE was originally installed as version 1.5.0, but upgraded to 1.6.1 using the internal upgrade tool, thus the path for the IDE still says /home/antti/st/stm32cubeide_1.5.0