Skip to main content
Associate
July 1, 2026
Question

CubeMX Version 6.18.0 error in opening/rendering UI of an old IOC project file

  • July 1, 2026
  • 2 replies
  • 260 views

I have an existing IOC project originally created using STM32CubeMX v6.6.1 with STM32Cube Firmware Package FW_L4 v1.17.2. When opening this project, STM32CubeMX fails to properly render the UI (see error message below).

During this issue:

  • All Save-related menu options are disabled (greyed out).
  • The project filename displayed in the upper-right corner includes a *, indicating unsaved modifications.
  • When attempting to close the project or exit the application, a prompt appears to save changes, but the project cannot actually be saved.

Given this behavior, I would like clarification on the following:

  1. Could the IOC file be corrupted?
  2. Is this strictly a UI rendering issue, or something deeper (e.g., metadata or version incompatibility)?
  3. What is the likely root cause of this error, and how can it be resolved?

 

2026-07-01 09:08:40,585 [FATAL] ProcessBarDialog:168 - ProcessBarDialog action 4

java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1

    at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:?]

    at java.util.concurrent.FutureTask.get(FutureTask.java:191) ~[?:?]

    at javax.swing.SwingWorker.get(SwingWorker.java:612) ~[?:?]

    at com.st.microxplorer.util.ProcessBarDialog$1.done(ProcessBarDialog.java:164) ~[STM32CubeMX.exe:?]

    at javax.swing.SwingWorker$4.run(SwingWorker.java:749) ~[?:?]

    at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:847) ~[?:?]

    at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112) ~[?:?]

    at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:857) ~[?:?]

    at javax.swing.Timer.fireActionPerformed(Timer.java:311) ~[?:?]

    at javax.swing.Timer$DoPostEvent.run(Timer.java:243) ~[?:?]

    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) ~[?:?]

    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) ~[?:?]

    at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?]

    at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?]

    at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?]

    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?]

    at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) ~[?:?]

    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?]

    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?]

    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) ~[?:?]

    at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) ~[?:?]

    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) ~[?:?]

    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) ~[?:?]

    at java.security.AccessController.doPrivileged(AccessController.java:319) ~[?:?]

    at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) ~[?:?]

    at java.awt.Dialog.show(Dialog.java:1079) ~[?:?]

    at java.awt.Component.show(Component.java:1728) ~[?:?]

    at java.awt.Component.setVisible(Component.java:1675) ~[?:?]

    at java.awt.Window.setVisible(Window.java:1036) ~[?:?]

    at java.awt.Dialog.setVisible(Dialog.java:1015) ~[?:?]

    at com.st.microxplorer.util.ProcessBarDialog.doAction(ProcessBarDialog.java:173) ~[STM32CubeMX.exe:?]

    at com.st.microxplorer.mxsystem.MxSystem.completeLoadConfig(MxSystem.java:845) ~[STM32CubeMX.exe:?]

    at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.LoadConfig(OpenFileManager.java:393) ~[?:?]

    at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.loadConfigurationFile(OpenFileManager.java:307) ~[?:?]

    at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.userChoiceLoadConfig(OpenFileManager.java:138) ~[?:?]

    at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userChoiceAndLoadConfig(MainFileManager.java:227) ~[?:?]

    at com.st.microxplorer.plugins.filemanager.FileManagerView.getSpecificTask(FileManagerView.java:277) ~[?:?]

    at com.st.microxplorer.maingui.HomeProjectLinePanel.jButtonChoiceAndLoadConfigurationActionPerformed(HomeProjectLinePanel.java:187) ~[STM32CubeMX.exe:?]

    at com.st.microxplorer.maingui.HomeProjectLinePanel.mouseClicked(HomeProjectLinePanel.java:143) ~[STM32CubeMX.exe:?]

    at java.awt.Component.processMouseEvent(Component.java:6624) ~[?:?]

    at javax.swing.JComponent.processMouseEvent(JComponent.java:3398) ~[?:?]

    at java.awt.Component.processEvent(Component.java:6386) ~[?:?]

    at java.awt.Container.processEvent(Container.java:2266) ~[?:?]

    at java.awt.Component.dispatchEventImpl(Component.java:4996) ~[?:?]

    at java.awt.Container.dispatchEventImpl(Container.java:2324) ~[?:?]

    at java.awt.Component.dispatchEvent(Component.java:4828) ~[?:?]

    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) ~[?:?]

    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4584) ~[?:?]

    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) ~[?:?]

    at java.awt.Container.dispatchEventImpl(Container.java:2310) ~[?:?]

    at java.awt.Window.dispatchEventImpl(Window.java:2780) ~[?:?]

    at java.awt.Component.dispatchEvent(Component.java:4828) ~[?:?]

    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) ~[?:?]

    at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?]

    at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?]

    at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?]

    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?]

    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) ~[?:?]

    at java.awt.EventQueue$5.run(EventQueue.java:747) ~[?:?]

    at java.awt.EventQueue$5.run(EventQueue.java:745) ~[?:?]

    at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?]

    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?]

    at java.awt.EventQueue.dispatchEvent(EventQueue.java:744) ~[?:?]

    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?]

    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?]

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?]

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?]

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?]

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?]

Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1

    at com.st.microxplorer.plugins.power.util.ConversionUnit.timeFloatConversion(ConversionUnit.java:385) ~[?:?]

    at com.st.microxplorer.plugins.power.PowerPluginView.propertyChange(PowerPluginView.java:182) ~[?:?]

    at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343) ~[?:?]

    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335) ~[?:?]

    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268) ~[?:?]

    at com.st.microxplorer.util.MXPropertyChangeSupport.firePropertyChange(MXPropertyChangeSupport.java:54) ~[STM32CubeMX.exe:?]

    at com.st.microxplorer.mxsystem.MxSystem.swingWorkerCompleteLoadConfig(MxSystem.java:851) ~[STM32CubeMX.exe:?]

    at com.st.microxplorer.util.ProcessBarDialog.performAction(ProcessBarDialog.java:95) ~[STM32CubeMX.exe:?]

    at com.st.microxplorer.util.ProcessBarDialog$1.doInBackground(ProcessBarDialog.java:157) ~[STM32CubeMX.exe:?]

    at com.st.microxplorer.util.ProcessBarDialog$1.doInBackground(ProcessBarDialog.java:154) ~[STM32CubeMX.exe:?]

    at javax.swing.SwingWorker$1.call(SwingWorker.java:305) ~[?:?]

    at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]

    at javax.swing.SwingWorker.run(SwingWorker.java:342) ~[?:?]

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]

    at java.lang.Thread.run(Thread.java:1583) ~[?:?]

2026-07-01 09:08:40,605 [INFO] OpenFileManager:403 - Restore cursor

2026-07-01 09:08:40,751 [ERROR] ProjectManagerView:491 -

java.lang.NullPointerException: Cannot invoke "com.st.microxplorer.plugins.projectmanager.gui.ProjectSettingsPanel.UpdateDialog(boolean, boolean)" because "this.m_clProjectSettingsPanel" is null

    at com.st.microxplorer.plugins.projectmanager.engine.MainProjectManager.loadConfig(MainProjectManager.java:642) ~[?:?]

    at com.st.microxplorer.plugins.projectmanager.ProjectManagerView.propertyChange(ProjectManagerView.java:489) ~[?:?]

    at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343) ~[?:?]

    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335) ~[?:?]

    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268) ~[?:?]

    at com.st.microxplorer.util.MXPropertyChangeSupport.firePropertyChange(MXPropertyChangeSupport.java:54) ~[STM32CubeMX.exe:?]

    at com.st.microxplorer.mxsystem.MxSystem.MxFirePropertyChange(MxSystem.java:228) ~[STM32CubeMX.exe:?]

    at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userChoiceAndLoadConfig(MainFileManager.java:251) ~[?:?]

    at com.st.microxplorer.plugins.filemanager.FileManagerView.getSpecificTask(FileManagerView.java:277) ~[?:?]

    at com.st.microxplorer.maingui.HomeProjectLinePanel.jButtonChoiceAndLoadConfigurationActionPerformed(HomeProjectLinePanel.java:187) ~[STM32CubeMX.exe:?]

    at com.st.microxplorer.maingui.HomeProjectLinePanel.mouseClicked(HomeProjectLinePanel.java:143) ~[STM32CubeMX.exe:?]

    at java.awt.Component.processMouseEvent(Component.java:6624) ~[?:?]

    at javax.swing.JComponent.processMouseEvent(JComponent.java:3398) ~[?:?]

    at java.awt.Component.processEvent(Component.java:6386) ~[?:?]

    at java.awt.Container.processEvent(Container.java:2266) ~[?:?]

    at java.awt.Component.dispatchEventImpl(Component.java:4996) ~[?:?]

    at java.awt.Container.dispatchEventImpl(Container.java:2324) ~[?:?]

    at java.awt.Component.dispatchEvent(Component.java:4828) ~[?:?]

    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) ~[?:?]

    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4584) ~[?:?]

    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) ~[?:?]

    at java.awt.Container.dispatchEventImpl(Container.java:2310) ~[?:?]

    at java.awt.Window.dispatchEventImpl(Window.java:2780) ~[?:?]

    at java.awt.Component.dispatchEvent(Component.java:4828) ~[?:?]

    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) ~[?:?]

    at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?]

    at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?]

    at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?]

    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?]

    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) ~[?:?]

    at java.awt.EventQueue$5.run(EventQueue.java:747) ~[?:?]

    at java.awt.EventQueue$5.run(EventQueue.java:745) ~[?:?]

    at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?]

    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?]

    at java.awt.EventQueue.dispatchEvent(EventQueue.java:744) ~[?:?]

    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?]

    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?]

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?]

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?]

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?]

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?]

2 replies

ST Technical Moderator
July 1, 2026

Hello ​@aedls 

Let me thank for posting.

For more investigation, could you please provide your Ioc.File.

Thanks

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.
aedlsAuthor
Associate
July 1, 2026

Hi Mahmoud,

I would like to share it with you; however, it contains proprietary information that I’m unable to disclose.

I also tried to migrate it to the latest firmware, but the result is the same, the same error.

 

ST Technical Moderator
July 1, 2026

Hello ​@aedls 

I suggest that you share the Ioc.File through this email: mahmoud.benromdhane-ext@st.com.

I will be waiting for your feedback.

Thanks

Mahmoud

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.
ST Technical Moderator
July 7, 2026

Hello ​@yucandu 

Let me thank you for bringing this issue to our attention.

The issue has been reported to the dedicated team (Internal Ticket number: CDM0064141).

I will keep you up to date until the problem is fixed.

Thanks.

Mahmoud

 

 

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.