Workflow cannot be saved anymore

Hi there,

I have a workspace, which suddenly makes problems (worked before). I cannot save any new node anymore (no matter which kind). I always get an error like this:

ERROR     CellProfiler Reader     Unable to write directory: /Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/CellProfiler Reader (#13)/internal
ERROR     SaveWorkflowRunnable     Could not save workflow: workflow.knime
ERROR     WorkflowEditor     Could not save workflow: File access problems: Can not write port directory /Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/CellProfiler Reader (#13)/port_1

Any idea what I could do??? I don't see any file permission problem. I use the same user on the same machine... and outside of Knime, I can write into the named directories without any problem...

Antje

Disk full (too easy, I know)?

Can you send us the detailed stack trace (it's in the knime.log file, located in <workspace>/.metadata/knime/knime.log)?

Here is the log-file content of the last try to save this workflow:

2011-04-07 14:35:33,612 DEBUG main WorkflowEditor : Saving workflow ... 2011-04-07 14:35:33,685 DEBUG ModalContext SingleNodeContainerPersistorVersion200 : Replaced node directory "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/R Snippet (#3)" 2011-04-07 14:35:33,724 DEBUG ModalContext SingleNodeContainerPersistorVersion200 : Replaced node directory "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/Plate Viewer (#4)" 2011-04-07 14:35:33,747 DEBUG ModalContext SingleNodeContainerPersistorVersion200 : Replaced node directory "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/Plate Row Converter (#5)" 2011-04-07 14:35:33,769 DEBUG ModalContext SingleNodeContainerPersistorVersion200 : Replaced node directory "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/Join Layout (#8)" 2011-04-07 14:35:33,792 DEBUG ModalContext SingleNodeContainerPersistorVersion200 : Replaced node directory "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/GroupBy (#9)" 2011-04-07 14:35:33,840 DEBUG ModalContext SingleNodeContainerPersistorVersion200 : Replaced node directory "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/R Plot (#10)" 2011-04-07 14:35:33,858 DEBUG ModalContext SingleNodeContainerPersistorVersion200 : Replaced node directory "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/Open in R (#11)" 2011-04-07 14:35:33,903 DEBUG ModalContext SingleNodeContainerPersistorVersion200 : Replaced node directory "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/R Plot (#12)" 2011-04-07 14:35:33,949 DEBUG ModalContext SingleNodeContainerPersistorVersion200 : Replaced node directory "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/CellProfiler Reader (#13)" 2011-04-07 14:35:33,951 ERROR ModalContext CellProfiler Reader : Unable to write directory: /Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/CellProfiler Reader (#13)/internal 2011-04-07 14:35:33,956 ERROR ModalContext SaveWorkflowRunnable : Could not save workflow: workflow.knime 2011-04-07 14:35:33,956 DEBUG ModalContext SaveWorkflowRunnable : Could not save workflow: workflow.knime java.io.IOException: Can not write port directory /Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/CellProfiler Reader (#13)/port_1 at org.knime.core.node.NodePersistorVersion200.savePorts(NodePersistorVersion200.java:191) at org.knime.core.node.NodePersistorVersion200.save(NodePersistorVersion200.java:151) at org.knime.core.node.workflow.SingleNodeContainerPersistorVersion200.save(SingleNodeContainerPersistorVersion200.java:265) at org.knime.core.node.workflow.WorkflowPersistorVersion200.saveNodeContainer(WorkflowPersistorVersion200.java:665) at org.knime.core.node.workflow.WorkflowPersistorVersion200.save(WorkflowPersistorVersion200.java:496) at org.knime.core.node.workflow.WorkflowManager.save(WorkflowManager.java:4494) at org.knime.workbench.editor2.SaveWorkflowRunnable.run(SaveWorkflowRunnable.java:128) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) 2011-04-07 14:35:34,104 ERROR main WorkflowEditor : Could not save workflow: File access problems: Can not write port directory /Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/CellProfiler Reader (#13)/port_1 2011-04-07 14:35:34,105 DEBUG main WorkflowEditor : Could not save workflow: File access problems: Can not write port directory /Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/CellProfiler Reader (#13)/port_1 java.lang.reflect.InvocationTargetException at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507) at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:275) at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:1162) at org.knime.workbench.editor2.WorkflowEditor.doSave(WorkflowEditor.java:996) at org.eclipse.ui.internal.SaveableHelper$2.run(SaveableHelper.java:151) at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:277) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2600) at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:285) at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:264) at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:156) at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1369) at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:3334) at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3347) at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1187) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3622) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3277) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.knime.product.rcp.KNIMEApplication.start(KNIMEApplication.java:95) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407) Caused by: org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:4083) at org.eclipse.swt.SWT.error(SWT.java:3998) at org.eclipse.swt.SWT.error(SWT.java:3969) at org.eclipse.swt.widgets.Widget.error(Widget.java:715) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:532) at org.eclipse.swt.widgets.ToolItem.setEnabled(ToolItem.java:842) at org.eclipse.jface.action.StatusLine.setCanceled(StatusLine.java:473) at org.eclipse.jface.action.StatusLineManager$1.setCanceled(StatusLineManager.java:189) at org.eclipse.core.runtime.ProgressMonitorWrapper.setCanceled(ProgressMonitorWrapper.java:132) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.setCanceled(EventLoopProgressMonitor.java:151) at org.knime.workbench.editor2.SaveWorkflowRunnable.run(SaveWorkflowRunnable.java:144) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) 2011-04-07 14:35:34,145 DEBUG Finalizer Buffer : Closing input stream on "/var/folders/aT/aT-JBgnUFAa41sIiC1a8DE+++TQ/-Tmp-/knime_container_20110407_7680292442431399440.bin.gz", 0 remaining

Intersting. Can you manually create the file "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/CellProfiler Reader (#13)/port_1"? Does that directory (or the parent directory) already exist?

The error message comes from this piece of code:

portDir.mkdir();
if (!portDir.isDirectory() || !portDir.canWrite()) {
   throw new IOException("Can not write port directory "
       + portDir.getAbsolutePath());
}

 

I can't see what is wrong with this code (assuming the parent directory already exists). Either there is already a file with that name (so mkdir fails and the existing file is a file not a directory) or there is something wrong with file permissions. What file system is it (I assume some network drive).

Sorry, not very helpful.

Thanks a lot for your answer. I'll come back to the problem the week after next week (I'm not available until then).

Ciao

Hello, 

>> Can you manually create the file "/Volumes/ProMEBS/Knime_workspace/AN_2011-04-01_FDAStain_CellCount/CellProfiler Reader (#13)/port_1"? Does that directory (or the parent directory) already exist? <<

 

The directory (and its parent directory) already exists and is a directory. There is nothing inside. If I remove this directory with the command line and try to save the workflow, the directory is created again but fails to write something inside with the same error. At the command line, I can write without problems into the directory port_1.

It's on a network drive mounted on a Mac. The file system is zfs.

Any further idea what I could try?

Hi,

I have similar problems. Resetting the workflow helped once;i.e. I could save the reset workflow, but still couldn't save the executed workflow.

renaming a metanode helped.

I am working on a local file system. and get the message: 

(The process cannot access the file because it is being used by another process)

Bernd

PS. also the report behaves strangely: It doesn't take the updated values that are set in the workflow but still complains that some values aren't available though they are...

PS2: here is part of the error message:


java.io.FileNotFoundException: D:\work\programs\kNime\runtime-New_configuration\reports\single_experiment\Metanode (#103)\TableRow To Variable (#14)\port_1\object\portobject.zip (The process cannot access the file because it is being used by another process)

at java.io.FileOutputStream.open(Native Method)

at java.io.FileOutputStream.<init>(FileOutputStream.java:179)

at java.io.FileOutputStream.<init>(FileOutputStream.java:131)

at org.knime.core.node.NodePersistorVersion200.savePort(NodePersistorVersion200.java:351)

at org.knime.core.node.NodePersistorVersion200.savePorts(NodePersistorVersion200.java:220)

at org.knime.core.node.NodePersistorVersion200.save(NodePersistorVersion200.java:177)

at org.knime.core.node.workflow.SingleNodeContainerPersistorVersion200.save(SingleNodeContainerPersistorVersion200.java:270)

at org.knime.core.node.workflow.WorkflowPersistorVersion200.saveNodeContainer(WorkflowPersistorVersion200.java:705)

at org.knime.core.node.workflow.WorkflowPersistorVersion200.save(WorkflowPersistorVersion200.java:520)

at org.knime.core.node.workflow.WorkflowPersistorVersion200.saveNodeContainer(WorkflowPersistorVersion200.java:701)

at org.knime.core.node.workflow.WorkflowPersistorVersion200.save(WorkflowPersistorVersion200.java:520)

at org.knime.core.node.workflow.WorkflowManager.save(WorkflowManager.java:5952)

at org.knime.workbench.editor2.SaveWorkflowRunnable.run(SaveWorkflowRunnable.java:120)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

Hi,

one more thing, it seems to me it is only occoring when using meta nodes...

B

PS. I was lying, it just happened with a rowFilter node in the main workflow...

Interesting Problem. The relevant part of the error message seems to be "The process cannot access the file because it is being used by another process". What process?

I assume this is on Windows (standard Linux file systems don't lock a file by just accessing it)? Maybe a virus scanner kicks in and has a handle on the file while the workflow is saved? OK, maybe that's too easy?

 

Hi guys,

Same thing happened to me in the last days. 

Knime 2.10.4

When editing and then saving my workfow these errors occur

ERROR	 Database Reader               	 I/O error while saving internals: C:\DV-Knime\K-B_Flow\Database Reader (#28)\internal\spec.xml (Access is denied)
FATAL	 SaveWorkflowRunnable          	 File not found
ERROR	 WorkflowEditor                	 Could not save workflow: File access problems: C:\DV-Knime\K-B_Flow\Database Reader (#28)\port_1\data.zip (Access is denied)

 

The reset-workflow workaraound seems to work though. That's very strange since I have been using this WF for months and the error had never occurred before.

Angelo.

Hi,

I am trying to run the DBSCAN and Weka Cluster Assigner node and it finishes with a green 
light and a red button indicating that an I/O error occurred while saving internals 

ERROR DBSCAN (3.7)         2:14       I/O error while saving internals: <no details available>

ERROR Weka Cluster Assigner (3.7) 2:13       I/O error while saving internals: <no details available>

How to fix this problem ?

Thanks for looking into this,

Best,

 

 

I'm not sure if that's the same problem. Maybe you can more details in the knime.log file? Search for " I/O error while saving internals:" and then send the indented block that you find below - that's the stacktrace of the error.

A post was split to a new topic: Can’t save workflow