java.lang.​IllegalArg​umentExcep​tion: NTFS ADS separator (':') in file name is forbidden

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

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!
Dear Mukund,
Thank you for the answer!
I am looking forward to the fix in an upcoming release.
Has this bug been fixed in a future release?

댓글을 달려면 로그인하십시오.

답변 (2개)

Meet
Meet 2025년 1월 17일
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
Srijita 2025년 1월 23일
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

카테고리

도움말 센터File Exchange에서 MATLAB Coder에 대해 자세히 알아보기

제품

릴리스

R2021b

질문:

2022년 2월 8일

편집:

2025년 1월 23일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by