Delayed Commit: No such file or directory

When I do a Remote Run the the build is successful. After the Remote Run says the Local changes have been successfully checked and asks for confirmation to Commit them and I say yes, I get a Message tab entitled "Messages Delayed Commit" where it says Error and that there is "(No such file or directory)" for my Java file. Any hints what the source is for this problem?

Thanks,
Jon

8 comments

More detail on this. I have 1 module in my project and it is in a different directory than the project root. I also use Path Variables. When I specify the Delayed Commit Project Root it gives the error dialog:
Cannot send patch to server: 'Cannot find relative path for file '...', it is not under project root: ...

If I specify the module's Content root as the Project Root, it gives the No such file or directory.

Should I not be able to have a single module project where the module's content root is not under the project root and where you use Path Variables?

0

Jon,

Please note that in order for the remote run to work correctly, sources structure on client (where IDEA is run) and on the build agent should be the same (relative paths from the "Project root" specified in the Remote Run dialog and relative paths from the build working directory on the agent should match).
So, as "Project root" you should specify the directory that corresponds to the build working directory on the build agent.

Could you please describe your project structure in a bit more detail?

Please include what VCS roots are you using and how are they checked out; where are the module's and project's content roots are located on client.

--
Best regards,

Yegor Yarko
Quality Assurance Engineer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

Yegor,

I am farther along and get no errors now. The Remote Run seems to work, the build happens. However, I don't see my IDE changes affecting the build itself. For example, if I make a Java file uncompilable then do a Remote Run off of committing that Java file, it won't break the compile target in ant but clearly should. The whole process happens then the commit of my actual change happens after the successful build that clearly doesn't include my change. Does the buildAgent/work/Server place my pre-commit changes onto the same directory structure. In other words, does it overlay in the normal place? I don't see this happening.

I'm using just one VCS root, a subversion branch. The "Project root" corresponds to the same build working directory on the build agent. My one module's content root is where the project files are, the ]]>. My build agent is on Solaris and so is my IDEA installation.

Maybe not related, but I am seeing Exceptions inside of IDEA on occassion. A sample is pasted below.

Thanks,
Jon

Assertion failed:
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:89)
at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:96)
at com.intellij.facet.impl.ProjectFacetsConfigurator.addFacetInfo(ProjectFacetsConfigurator.java:122)
at com.intellij.facet.impl.ProjectFacetsConfigurator.addFacetInfos(ProjectFacetsConfigurator.java:22)
at com.intellij.openapi.roots.ui.configuration.projectRoot.FacetEditorFacadeImpl.addFacetsNodes(FacetEditorFacadeImpl.java:13)
at com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable.b(ModuleStructureConfigurable.java:206)
at com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable.a(ModuleStructureConfigurable.java:194)
at com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable.reset(ModuleStructureConfigurable.java:52)
at com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable.reset(ProjectStructureConfigurable.java:35)
at com.intellij.ide.ui.search.DefaultSearchableConfigurable.reset(DefaultSearchableConfigurable.java:17)
at com.intellij.openapi.options.ex.ExplorerSettingsEditor.b(ExplorerSettingsEditor.java:57)
at com.intellij.openapi.options.ex.ExplorerSettingsEditor.access$1400(ExplorerSettingsEditor.java:268)
at com.intellij.openapi.options.ex.ExplorerSettingsEditor$11.run(ExplorerSettingsEditor.java:1)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:21)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:138)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:12)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:189)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
at java.awt.Dialog$1.run(Dialog.java:517)
at java.awt.Dialog$2.run(Dialog.java:545)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:543)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:110)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:130)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:761)
at com.intellij.ide.actions.ShowSettingsUtilImpl.showExplorerOptions(ShowSettingsUtilImpl.java:4)
at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:40)
at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:2)
at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:121)
at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:100)
at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:60)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:138)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:183)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:189)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

0

I also see this in the buildAgent's error.log:
WARN - jetbrains.buildServer.AGENT - Starting agent Web server on port 9090
java.util.NoSuchElementException

0

Jon,

If remote run does not pick up the changes you've submitted, probably there is a problem determining correct relative file name. The process works like this:
- IDEA sends the patch with relative file names based on the Project Root (specified in the Remote Run dialog) - you can see the actual names sent in the changes of your personal build on the web UI.
- The patch is sent to the agent where it is applied determining full file names based on the build working directory (buildAgent/work/Server/]]> by default)

TeamCity checks whether the patch matches existing sources, but it seems that in your case the check fails to determine the patch is invalid.

We will need more detail about your configuration to try to recreate the problem.
Particularly, it would be helpful if you let us know:
- the full path of the directory your project resides in on client;
- the full path of the file you change;
- "Project Root" you specify in the Remote Run dialog;
- the file name that appears in the change of your personal build in the web UI;
- the path where you expect the file to appear on agent;
- if VCS used on client and configured in TeamCity for the project are different, then both of URLs and VCS checkout subdirectory, if any;
- the patch sent to the agent. On how to retrieve the patch, please follow the instructions under the Remote Run problems section at
http://www.jetbrains.net/confluence/display/TCD/HowtoDebug+problems#HowtoDebugproblems-RemoteRunproblems

If you consider this information sensitive, you can send it to teamcity-feedback@jetbrains.com or upload it to ftp://ftp.intellij.net/.uploads and let us know the file name uploaded.

The stacktrace and NoSuchElementException you noted seem to be not related to the issue and should not affect normal functioning.

--
Best regards,

Yegor Yarko
Quality Assurance Engineer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

Hi Yegor,

- IDEA sends the patch with relative file names based
on the Project Root (specified in the Remote Run
dialog) - you can see the actual names sent in the
changes of your personal build on the web UI.


I see the Java file name there.

- The patch is sent to the agent where it is applied
determining full file names based on the build
working directory (buildAgent/work/Server/<your
Project name> by default)


/home/jsteelma/buildAgent/work/Server/DCR_on_Taxi107

- the full path of the directory your project resides in on client


/data/cvsroot/dealercommunity_DCR_DS07

- the full path of the file you change


/home/jsteelma/buildAgent/work/Server/DCR_on_Taxi107/dc/src/main/java/com/autotrader/dc/web/nvs/NewVehicleSpecialBBean.java

- "Project Root" you specify in the Remote Run dialog


/data/cvsroot/dealercommunity_DCR_DS07

- the file name that appears in the change of your personal build in the web UI


edited dc\src\main\java\com\autotrader\dc\web\nvs\NewVehicleSpecialBBean.java

- the path where you expect the file to appear on agent


/home/jsteelma/buildAgent/work/Server/DCR_on_Taxi107/dc/src/main/java/com/autotrader/dc/web/nvs

- if VCS used on client and configured in TeamCity
for the project are different, then both of URLs and
VCS checkout subdirectory, if any


Not different -
svn://svn.autotrader.com/dealercommunity/branches/DealerCommunity_3_6_1_0--2007_08_14

- the patch sent to the agent


Patch is saved to file /var/tmp/temp41864patch115
I'm emailing the file to teamcity-feedback@jetbrains.com

Thanks,
Jon

0

Jon,

Thank you for the information, I really appreciate your efforts!

So far the settings seems to be correct.

I've created a Jira issue on your behalf to address the problem, let's continue pinpointing it there: http://www.jetbrains.net/jira/browse/TW-3069

--
Best regards,

Yegor Yarko
Quality Assurance Engineer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

Thanks Yegor. Please let me know what else I can do to move it forward.
Jon

0

Please sign in to leave a comment.