2021-05-27 12:24 PM
The model I've been using for a year in CubeIDE 1.6.0 on a laptop cannot be analyzed now on a PC in the latest CubeIDE 1.6.1 while using the same X-Cube-AI v5.1.2. (I've tried the most recent v6.0.0 - the same error.)
Ubuntu 20.04 (both laptop and PC).
Model: https://github.com/Shahnawax/HAR-CNN-Keras/blob/master/model.h5
Error log on a PC:
Analyzing model
/home/dizcza/STM32Cube/Repository/Packs/STMicroelectronics/X-CUBE-AI/5.1.2/Utilities/linux/stm32ai analyze --name network -m /home/dizcza/Downloads/model.h5 --type keras --compression 1 --verbosity 1 --workspace /tmp/mxAI_workspace505704300370625560993010444853274 --output /home/dizcza/.stm32cubemx/stm32ai_output
Neural Network Tools for STM32 v1.3.0 (AI tools v5.1.0)
It does not produce a log file (the command ends with a nonzero exit code), therefore I cannot post it.
The same model has been successfully analyzed today on a laptop Ubuntu 20.04 beside me.
2021-05-27 01:07 PM
It's even worse! Now I cannot simply open an .ioc file anymore! (PC only.)
I've encountered the same error while opening this .ioc file (https://github.com/dizcza/stm32f446-FunduMoto/blob/nn/stm32f446-FunduMoto.ioc) in both CubeIDE CubeMX perspective and the latest STM32CubeMX 6.2.1 (standalone).
$ /opt/st/stm32cubeide_1.6.1/stm32cubeide
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.st.microxplorer.plugins.pinoutandconfiguration.PinoutAndConfigurationView (file:/opt/st/stm32cubeide_1.6.1/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
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.base/java.util.ArrayList.addAll(Unknown Source)
at com.st.microxplorer.plugins.ipmanager.gui.IPsOverviews.getAvailableFilter(IPsOverviews.java:1641)
at com.st.microxplorer.plugins.ipmanager.gui.IPsOverviews.updateAllDiagram(IPsOverviews.java:2412)
at com.st.microxplorer.plugins.ipmanager.pluginmanagement.IpPluginManagement.updateAllDiagram(IpPluginManagement.java:376)
at com.st.microxplorer.plugins.ipmanager.IPPluginView.getSpecificTask(IPPluginView.java:335)
at com.st.microxplorer.plugins.pinoutandconfiguration.PinoutAndConfigurationView.propertyChange(PinoutAndConfigurationView.java:948)
at java.desktop/java.beans.PropertyChangeSupport.fire(Unknown Source)
at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.desktop/java.awt.Component.firePropertyChange(Unknown Source)
at java.desktop/javax.swing.JComponent.addNotify(Unknown Source)
at java.desktop/java.awt.Container.addNotify(Unknown Source)
at java.desktop/javax.swing.JComponent.addNotify(Unknown Source)
at java.desktop/java.awt.Container.addNotify(Unknown Source)
at java.desktop/javax.swing.JComponent.addNotify(Unknown Source)
at java.desktop/java.awt.Container.addNotify(Unknown Source)
at java.desktop/javax.swing.JComponent.addNotify(Unknown Source)
at java.desktop/java.awt.Container.addImpl(Unknown Source)
at java.desktop/java.awt.Container.add(Unknown Source)
at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite.doComponentCreation(EmbeddedSwingComposite.java:488)
at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite.access$6(EmbeddedSwingComposite.java:471)
at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite$4.run(EmbeddedSwingComposite.java:286)
at com.st.stm32cube.common.mx.oss.core.awtswtbridge.AwtEnvironment$2.run(AwtEnvironment.java:166)
at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2021-05-28 02:11 AM
You should have more output in the STM32CubeMX log file located at ~/.stm32cubemx/STM32CubeMX.log
Regards
Daniel
2021-05-28 07:43 AM
2021-05-28 09:35 AM
I've reproduced the crashing stm32ai command line on Ubuntu 20.04.2 LTS
It is working fine on Ubuntu 18.04 LTS
Thanks for reporting this issue, I don't have the root cause yet but I'll let you know if there is a workaround
2021-06-01 05:53 AM
can you confirm that your CPU doesn't support avx instructions ?
cat /proc/cpuinfo | grep avx
if you have nothing in the output it means it doesn't support those extensions.
Recent versions of Tensorflow uses avx instructions by default.
On a machine without avx support tensorflow will not work (my old linux machine doesn't have avx support).
A colleague of mine ran stm32ai on Ubuntu 20.04 without any problem but his CPU supports avx instructions.
2021-06-01 10:26 AM
Exactly, my CPU doesn't support avx instructions, unfortunately.