Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-17774

Testing plugin in Windows fails with requested operation can't be performed on file with user-mapped section open

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • core
    • None
    • Windows8 (64bit), JDK 1.7.0_17, Jenkins 1.466

      Running tests of extensible-choice-parameter plugin in Windows often fails.
      This failure is caused by 500 error in Jenkins (or Jetty).
      500 error is caused by java.io.FileNotFoundException with an error message "requested operation can't be performed on file with user-mapped section open".
      (I attached a sunfire-report file generated when this problem happened, but the error message is output in Japanese.)

      • This probably happens only in Windows (maybe Windows Vista or later)
      • FileNotFoundException happens when copying(overwriting) jenkins-for-test to jetty's webapps directory.
      • This seems happen only after running hpi:run.
        • It probably depends on Jetty's working directory. Before running hpi:run, Jetty's working directory is %TEMP%\Jetty_0_0_0_0_0_jenkins.for.test__.bj8wp3. After running hpi:run, Jetty seems run in (project directory)\work\Jetty_0_0_0_0_0_jenkins.for.test__.bj8wp3 .
        • I have no idea why it affects.

      I can reproduce this in https://github.com/ikedam/extensible-choice-parameter, tag reproduce_23_user-mapped_section.
      And I have fixed it in branch feature/23_JettyOnWindows, by setting useFileMappedBuffer to false in Jetty webapp context (SEE http://docs.codehaus.org/display/JETTY/Files+locked+on+Windows).

      I think this is related to JENKINS-12647 (I have not succeeded reproducing problems reported in this issue).
      As long as I tested, the problem in extensible-choice-parameter is fixed in a way of followings:

      • setting useFileMappedBuffer to false, setting setCopyWebDir to true
      • setting useFileMappedBuffer to false, setting setCopyWebDir to false
      • setting setCopyWebDir to false (disabling JENKINS-12647)

            ikedam ikedam
            ikedam ikedam
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: