XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: unity3d-plugin
    • Labels:
      None
    • Environment:
      * Mac OS X
      * Slave node running on same machine as Jenkins (connected via SSH to localhost, same 'jenkins' user running everything)
      * Unity Cache server (running on same machine as Jenkins and Unity slave node)
    • Similar Issues:

      Description

      We get a pipe broken exception in the Jenkins Unity plugin about 50% of the time. The workspace is cleaned before every build, and compiled assets are fetched from a Unity Cache server running on the same machine.

      The error happens ALWAYS at the exact same step:
      [...]
      Refresh: trashing asset 2197dcffa7f1e4295a0f8e83fed9f5bf
      Refresh: trashing asset bca6eeff7c4924a429da9a1b3450b036
      Refresh: trashing asset 6b4a9fff255e844c999a4bcd6105d894
      Refresh: trashing asset d63cefffccda34624843a84caddbb852
      Failure on remote
      java.io.IOException: Pipe broken
      at java.io.PipedInputStream.read(PipedInputStream.java:322)
      at java.io.PipedInputStream.read(PipedInputStream.java:378)
      at java.io.InputStream.read(InputStream.java:101)
      at org.jenkinsci.plugins.unity3d.io.StreamCopyThread.run(StreamCopyThread.java:64)

      When it succeeds, the next line is ALWAYS
      Updating Assets - GUID: 00000000000000001000000000000000...
      done. [Time: 18.743246 ms]

      So IF the build fails, then it is ALWAYS right after the last asset being trashed. If it makes it to the next line (updating asset with GUID 00001000), then the build will ALWAYS succeed.

      I think that the frequency of the error is dependent on how large the project is, as we didn't get the error nearly as much in the beginning phases of the project. Now that the project is large we get the pipe broken error about 50% of the time. This is of course conjecture and the frequency of the error could be caused by something else entirely.

      Also, errors tend to happen multiple times in a row. Conversely, once it succeeds it tends to succeed for several consecutive builds.

      This is of course very much a showstopper for us, so I'd be extremely grateful if someone could have a look at this issue.

      Thanks!

      • Tommi Kiviniemi
        VP Technology, Co-founder
        Seriously Digital Entertainment Ltd.

        Attachments

          Issue Links

            Activity

            tommigun Tommi Kiviniemi created issue -
            tommigun Tommi Kiviniemi made changes -
            Field Original Value New Value
            Environment Mac OS X Mac OS X,
            Slave node running on same machine as Jenkins (connected via SSH to localhost, same 'jenkins' user running everything)
            tommigun Tommi Kiviniemi made changes -
            Environment Mac OS X,
            Slave node running on same machine as Jenkins (connected via SSH to localhost, same 'jenkins' user running everything)
            * Mac OS X
            * Slave node running on same machine as Jenkins (connected via SSH to localhost, same 'jenkins' user running everything)
            * Unity Cache server (running on same machine as Jenkins and Unity slave node)
            tommigun Tommi Kiviniemi made changes -
            Description We get a pipe broken exception in the Jenkins Unity plugin about 50% of the time.

            It ALWAYS happens at the exact same step:
            [...]
            Refresh: trashing asset 2197dcffa7f1e4295a0f8e83fed9f5bf
            Refresh: trashing asset bca6eeff7c4924a429da9a1b3450b036
            Refresh: trashing asset 6b4a9fff255e844c999a4bcd6105d894
            Refresh: trashing asset d63cefffccda34624843a84caddbb852
            Failure on remote
            java.io.IOException: Pipe broken
            at java.io.PipedInputStream.read(PipedInputStream.java:322)
            at java.io.PipedInputStream.read(PipedInputStream.java:378)
            at java.io.InputStream.read(InputStream.java:101)
            at org.jenkinsci.plugins.unity3d.io.StreamCopyThread.run(StreamCopyThread.java:64)

            When it succeeds, the next line is ALWAYS
            Updating Assets - GUID: 00000000000000001000000000000000...
             done. [Time: 18.743246 ms]

            So IF the build fails, then it is ALWAYS right after the last asset being trashed. If it makes it to the next line (updating asset with GUID 00001000), then the build will ALWAYS succeed.

            I think that the frequency of the error is dependent on how large the project is, as we didn't get the error nearly as much in the beginning phases of the project. Now that the project is large we get the pipe broken error about 50% of the time. This is of course conjecture and the frequency of the error could be caused by something else entirely.

            Also, errors tend to happen multiple times in a row. Conversely, once it succeeds it tends to succeed for several consecutive builds.

            This is of course very much a showstopper for us, so I'd be extremely grateful if someone could have a look at this issue.

            Thanks!
            - Tommi Kiviniemi
            VP Technology, Co-founder
            Seriously Digital Entertainment Ltd.
            We get a pipe broken exception in the Jenkins Unity plugin about 50% of the time. The workspace is cleaned before every build, and compiled assets are fetched from a Unity Cache server running on the same machine.

            The error happens ALWAYS at the exact same step:
            [...]
            Refresh: trashing asset 2197dcffa7f1e4295a0f8e83fed9f5bf
            Refresh: trashing asset bca6eeff7c4924a429da9a1b3450b036
            Refresh: trashing asset 6b4a9fff255e844c999a4bcd6105d894
            Refresh: trashing asset d63cefffccda34624843a84caddbb852
            Failure on remote
            java.io.IOException: Pipe broken
            at java.io.PipedInputStream.read(PipedInputStream.java:322)
            at java.io.PipedInputStream.read(PipedInputStream.java:378)
            at java.io.InputStream.read(InputStream.java:101)
            at org.jenkinsci.plugins.unity3d.io.StreamCopyThread.run(StreamCopyThread.java:64)

            When it succeeds, the next line is ALWAYS
            Updating Assets - GUID: 00000000000000001000000000000000...
             done. [Time: 18.743246 ms]

            So IF the build fails, then it is ALWAYS right after the last asset being trashed. If it makes it to the next line (updating asset with GUID 00001000), then the build will ALWAYS succeed.

            I think that the frequency of the error is dependent on how large the project is, as we didn't get the error nearly as much in the beginning phases of the project. Now that the project is large we get the pipe broken error about 50% of the time. This is of course conjecture and the frequency of the error could be caused by something else entirely.

            Also, errors tend to happen multiple times in a row. Conversely, once it succeeds it tends to succeed for several consecutive builds.

            This is of course very much a showstopper for us, so I'd be extremely grateful if someone could have a look at this issue.

            Thanks!
            - Tommi Kiviniemi
            VP Technology, Co-founder
            Seriously Digital Entertainment Ltd.
            lacostej lacostej made changes -
            Link This issue is duplicated by JENKINS-22492 [ JENKINS-22492 ]
            scm_issue_link SCM/JIRA link daemon made changes -
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Resolved [ 5 ]
            lacostej lacostej made changes -
            Status Resolved [ 5 ] Closed [ 6 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 156828 ] JNJira + In-Review [ 207892 ]

              People

              Assignee:
              lacostej lacostej
              Reporter:
              tommigun Tommi Kiviniemi
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: