java.lang.IllegalArgumentException: NTFS ADS separator (':') in file name is forbidden
Show older comments
When I perform Coder with single precision conversion using fixed point designer, during Mex building, following errors happn.But when I perform Coder without precision conversion, no error happens. How can I fix this problem?
Exception in thread "AWT-EventQueue-0": java.lang.IllegalArgumentException: NTFS ADS separator (':') in file name is forbidden.
at org.apache.commons.io.FilenameUtils.indexOfExtension(FilenameUtils.java:746)
at org.apache.commons.io.FilenameUtils.getExtension(FilenameUtils.java:1069)
at com.mathworks.toolbox.coder.nide.editor.CoderFileBackingStore.<init>(CoderFileBackingStore.java:38)
at com.mathworks.toolbox.coder.nide.editor.CoderFileBackingStore.<init>(CoderFileBackingStore.java:30)
at com.mathworks.toolbox.coder.nide.NideArtifactSet.addSourceArtifact(NideArtifactSet.java:69)
at com.mathworks.toolbox.coder.nide.impl.CoderNideFacade.updateArtifactSet(CoderNideFacade.java:339)
at com.mathworks.toolbox.coder.nide.impl.CoderNideFacade.initFilesToModel(CoderNideFacade.java:304)
at com.mathworks.toolbox.coder.nide.impl.CoderNideFacade.access$800(CoderNideFacade.java:63)
at com.mathworks.toolbox.coder.nide.impl.CoderNideFacade$4.propertyChange(CoderNideFacade.java:207)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at com.mathworks.toolbox.coder.nide.impl.CoderNideAppModel.fireInputFilesChanged(CoderNideAppModel.java:175)
at com.mathworks.toolbox.coder.nide.impl.CoderNideAppModel.setInputFiles(CoderNideAppModel.java:171)
at com.mathworks.toolbox.coder.wfa.build.VerifyCompatibilityModel$NormalMexBuilder$1.handleFiles(VerifyCompatibilityModel.java:534)
at com.mathworks.toolbox.coder.wfa.build.CoderBuildManager$Handler$1.run(CoderBuildManager.java:250)
at com.mathworks.mwswing.MJUtilities.runOnEventDispatchThread(MJUtilities.java:911)
at com.mathworks.toolbox.coder.wfa.build.CoderBuildManager$Handler.buildFinished(CoderBuildManager.java:247)
at com.mathworks.toolbox.coder.wfa.build.BuildCommand$1$1.run(BuildCommand.java:211)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
3 Comments
Mukund Sankaran
on 9 Feb 2022
Edited: Walter Roberson
on 23 Jan 2025
Hi Adelie,
This is unfortunately a bug in the MATLAB Coder app when using singles conversion, and a fix for this will be available in an upcoming release.
As a workaround, you could try converting your project to a script ( https://www.mathworks.com/help/coder/ug/generate-a-matlab-script-to-build-a-project.html ) in order to generate the MEX function and use coder.runTest ( https://www.mathworks.com/help/coder/ref/coder.runtest.html ) to test the generated MEX function.
Apologies for the inconvenience!
adelie penguin
on 13 Feb 2022
pian zhou
on 8 Jun 2023
Has this bug been fixed in a future release?
Answers (2)
Meet
on 17 Jan 2025
0 votes
Hi Adelie,
This issue is likely caused by the NTFS ADS file types that are resident on the server. The NTFS ADS file type has file names in the format of "file1.txt:hidden" where there is a ":" separator in the file name after the file extension. The issue was possibly due to that fact that when MATLAB starts, it scans the MATLAB path in the File Explorer and encountered an illegal file name as described above. Please check if there is any file that has the NTFS ADS format (with a ":" in the file name) and remove these files from the MATLAB path.
I hope this fixes the issue!!
Srijita
on 23 Jan 2025
0 votes
I am facing the same issue.
Exception in thread "AWT-EventQueue-0": java.lang.IllegalArgumentException: NTFS ADS separator (':') in file name is forbidden.
at org.apache.commons.io.FilenameUtils.indexOfExtension(FilenameUtils.java:746)
at org.apache.commons.io.FilenameUtils.getExtension(FilenameUtils.java:1069)
at com.mathworks.toolbox.slproject.project.archiving.ProjectArchiveInfoProvider.isProjectArchive(ProjectArchiveInfoProvider.java:78)
at com.mathworks.toolbox.slproject.project.archiving.ProjectArchiveInfoProvider.isApplicable(ProjectArchiveInfoProvider.java:74)
at com.mathworks.mlwidgets.explorer.model.FileDecorationModel.installExtensions(FileDecorationModel.java:80)
at com.mathworks.mlwidgets.explorer.model.FileDecorationModel.<init>(FileDecorationModel.java:61)
at com.mathworks.mlwidgets.explorer.model.FileDecorationCache.getDecorations(FileDecorationCache.java:94)
at com.mathworks.mlwidgets.explorer.model.table.UiFileList.getDecorations(UiFileList.java:167)
at com.mathworks.mlwidgets.explorer.util.UiFileSystemUtils.getDecorationSynchronously(UiFileSystemUtils.java:74)
at com.mathworks.mlwidgets.explorer.model.table.FileSystemExpansionProvider.getDecoration(FileSystemExpansionProvider.java:131)
at com.mathworks.mlwidgets.explorer.model.table.FileSystemExpansionProvider.getDecoration(FileSystemExpansionProvider.java:136)
at com.mathworks.mlwidgets.explorer.model.table.NameColumn$1.convert(NameColumn.java:62)
at com.mathworks.mlwidgets.explorer.model.table.NameColumn$1.convert(NameColumn.java:54)
at com.mathworks.widgets.grouptable.GroupingTableColumn.getValue(GroupingTableColumn.java:171)
at com.mathworks.widgets.grouptable.GroupingTableRow.getValueAt(GroupingTableRow.java:484)
at com.jidesoft.grid.TreeTableModel.getValueAt(Unknown Source)
at com.mathworks.mlwidgets.explorer.widgets.table.FileCellViewerCustomizer.getCellPainter(FileCellViewerCustomizer.java:142)
at com.mathworks.mlwidgets.explorer.widgets.table.FileCellViewerCustomizer.shouldShowCellViewer(FileCellViewerCustomizer.java:67)
at com.mathworks.mlwidgets.explorer.widgets.table.FileCellViewerCustomizer.shouldShowCellViewer(FileCellViewerCustomizer.java:35)
at com.mathworks.mwswing.CellViewerUtils$AbstractContext.mouseMoved(CellViewerUtils.java:242)
at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:330)
at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:329)
at java.awt.Component.processMouseMotionEvent(Component.java:6584)
at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3342)
at com.mathworks.widgets.grouptable.GroupingTable.processMouseMotionEvent(GroupingTable.java:1192)
at java.awt.Component.processEvent(Component.java:6308)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4548)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
matlabVersion
24.1.0.2603908 (R2024a) Update 3
I have searched for files with ':' in the path but there isn't any. I am not sure what the fix is. I am unable to use Matlab
Categories
Find more on MATLAB Coder in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!