Spring Tool Suite
  1. Spring Tool Suite
  2. STS-337

Deployment fails silently on Linux if Eclipse workspace and S2AP installation are on different filesystems

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Minor Minor
    • Resolution: Won't Fix
    • Affects Version/s: Sprint 6
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:

      Ubuntu 8.04 Intel 32 bit
      Eclipse Europa (Version: 3.3.2 Build id: M20080221-1800)
      S2AP tools version 1.0.0.v200805140800
      J2SDK 1.6.0_02

      Description

      There seems to be a bug in the project deployment code of Eclipse WST that prevents correct deployment (on Linux) when workspace area and deployment directory are on different filesystems.
      Eclipse happens to execute a rename() syscall to move the files from the .metadata directory (in the workspace) to the "stage" directory in S2AP home. The syscall fails with an EXDEV errno (Invalid cross-device link), since on Linux rename() cannot move between different filesystems.
      In this case, PublishUtil.publish*() returns one or more IStatus instances with the errorRename message (and no exception attached, which renders debugging harder).
      In the target (deployment) directory, only empty directories are created in this case.

      AP Tools (com.springsource.platform.ide.server.core) does not correctly check the IStatus objects returned by Eclipse WST PublishUtil.publish*() methods, so the deployment SEEMS to be successful, failing silently.
      I suggest:

      • fixing the "silent failure" of the publishing action when errors are returned by PublishUtil.publish*()
      • adding some logging to the publishing classes (there is none, at the moment)

      Also Eclipse should be patched to:

      • correctly handle moving files between filesystems in Eclipse on linux (which was the root problem)
      • provide better error reporting in eclipse.wst.server.core

        Activity

        Hide
        Christian Dupuis added a comment -

        I'm working on improving the error handling in the deployment code to make it capture the described problem.

        Till this work has been finished please install dm Server on the same file system if possible.

        Show
        Christian Dupuis added a comment - I'm working on improving the error handling in the deployment code to make it capture the described problem. Till this work has been finished please install dm Server on the same file system if possible.
        Hide
        Marten Deinum added a comment -

        I just ran into this issue when doing some training development.

        Next to the fact that we should fix the error reporting (imho eclipse should fix the way they work but that is not in our control) we should also document this as a known issue with the dm server and tooling! So we might want to put a few lines regarding this in the documentation.

        Show
        Marten Deinum added a comment - I just ran into this issue when doing some training development. Next to the fact that we should fix the error reporting (imho eclipse should fix the way they work but that is not in our control) we should also document this as a known issue with the dm server and tooling! So we might want to put a few lines regarding this in the documentation.
        Hide
        Iwein Fuld added a comment -

        I ran into the same behavior by using a symlink (not different file systems) on Mac OSX Leopard. This could be related.

        dm Server was installed in a long path with spaces in it. When moved the dmServer to a more convenient path, so I didn't need the symlink in my server.conf and settings.xml (maven) the problem went away.

        Show
        Iwein Fuld added a comment - I ran into the same behavior by using a symlink (not different file systems) on Mac OSX Leopard. This could be related. dm Server was installed in a long path with spaces in it. When moved the dmServer to a more convenient path, so I didn't need the symlink in my server.conf and settings.xml (maven) the problem went away.
        Hide
        Martin Lippert (c) added a comment -

        The dm Server tooling is now contributed to the Eclipse Virgo project, therefore I will close this issue here. If this is still an issue, please raise this again at the new project location via:

        https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Virgo
        (choosing the "tooling" component)

        Thank you very much!

        Show
        Martin Lippert (c) added a comment - The dm Server tooling is now contributed to the Eclipse Virgo project, therefore I will close this issue here. If this is still an issue, please raise this again at the new project location via: https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Virgo (choosing the "tooling" component) Thank you very much!

          People

          • Assignee:
            Unassigned
            Reporter:
            Ben Hale (c)
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              First Response Date: