STM32CubeMX 6.10.0 hangs on "Generating user source code..."
The STM32CubeMX tool (I'm using 6.10.0) continuously hangs after GENERATE CODE on "Generating user source code..."
The STMCubeMX.log file (within the .stm32cubemx directory) shows a java.lang.NullPointerException:
2024-02-20 08:52:19,505 [ERROR] CodeEngine:200 - catch error: There are no more files
2024-02-20 08:52:19,505 [ERROR] ProjectBuilder:2205 -
java.lang.NullPointerException: Cannot invoke "com.st.microxplorer.codegenerator.TemplateFile.getPath()" because "this.template" is null
at com.st.microxplorer.codegenerator.CodeEngine.genCode(CodeEngine.java:243) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeGenerator.generateOutputCode(CodeGenerator.java:5673) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeGenerator.generatePeriphConfigCode(CodeGenerator.java:2876) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeGenerator.generateCodeFiles(CodeGenerator.java:1964) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeGenerator.generateDefaultConfig(CodeGenerator.java:9768) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeGenerator.generateCode(CodeGenerator.java:1485) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.plugins.projectmanager.engine.ProjectBuilder.generateCode(ProjectBuilder.java:2827) ~[?:?]
at com.st.microxplorer.plugins.projectmanager.engine.ProjectBuilder.createCode(ProjectBuilder.java:2202) ~[?:?]
at com.st.microxplorer.plugins.projectmanager.engine.ProjectBuilder.createProject(ProjectBuilder.java:830) ~[?:?]
at com.st.microxplorer.plugins.projectmanager.engine.GenerateProjectThread.run(GenerateProjectThread.java:61) ~[?:?]
Occasionally the hang situation isn't reported with a java.lang.NullPointerException but with a java.io.IOException:
2024-02-20 08:54:20,963 [ERROR] ProjectBuilder:2205 -
java.io.IOException: There are no more files
at java.io.WinNTFileSystem.canonicalize0(Native Method) ~[?:?]
at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:463) ~[?:?]
at java.io.File.getCanonicalPath(File.java:626) ~[?:?]
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1079) ~[STM32CubeMX.exe:?]
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1038) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeEngine.genCode(CodeEngine.java:249) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeGenerator.generateOutputCode(CodeGenerator.java:5673) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeGenerator.generateMSPCode(CodeGenerator.java:4685) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeGenerator.generateCodeFiles(CodeGenerator.java:2171) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeGenerator.generateDefaultConfig(CodeGenerator.java:9768) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.codegenerator.CodeGenerator.generateCode(CodeGenerator.java:1485) ~[STM32CubeMX.exe:?]
at com.st.microxplorer.plugins.projectmanager.engine.ProjectBuilder.generateCode(ProjectBuilder.java:2827) ~[?:?]
at com.st.microxplorer.plugins.projectmanager.engine.ProjectBuilder.createCode(ProjectBuilder.java:2202) ~[?:?]
at com.st.microxplorer.plugins.projectmanager.engine.ProjectBuilder.createProject(ProjectBuilder.java:830) ~[?:?]
at com.st.microxplorer.plugins.projectmanager.engine.GenerateProjectThread.run(GenerateProjectThread.java:61) ~[?:?]
I don't know why this happens, but I get the feeling it has something to do with amount of files to be generated. The larger the number of "Pinout & Configuration" settings the more likely the hang situation seems to occur. Maybe also in combination with the "Project Manager" option "Generate peripheral initialization as a pair of '.c/.h' files per peripheral"
How can this be fixed? Or is there a work around?
