Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-2995

logTest fails because wait() doesn't check for EINTR

    Details

    • Type: Bug
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: log
    • Labels:
      None
    • Team:
      Architecture

      Description

      I encountered unit test failure when building log on OS X 10.10:

      (_build)mjuric@gallifrey:~/anaconda/conda-bld/work$ cat ./tests/.tests/*.failed
      tests/logTest
       
      Running 7 test cases...
      waitpid: Interrupted system call
      Running 7 test cases...
      (_build)mjuric@gallifrey:~/anaconda/conda-bld/work$
      

      I think the problem is due to errno==EINTR not being checked in the test code, as described on http://stackoverflow.com/questions/10160583/fork-multiple-processes-and-system-calls

        Attachments

          Activity

          Show
          mjuric Mario Juric added a comment - Proposed fix on: https://github.com/LSST/log/tree/u%2Fmjuric%2FDM-2995-fix-EINTR-in-testcase
          Hide
          tjenness Tim Jenness added a comment -

          This looks reasonable to me. Fabrice Jammes are you intending to review this or shall I call the review complete and merge it?

          Show
          tjenness Tim Jenness added a comment - This looks reasonable to me. Fabrice Jammes are you intending to review this or shall I call the review complete and merge it?
          Hide
          jammes Fabrice Jammes added a comment -

          Ok it looks fine to me, thanks for fixing it.

          Show
          jammes Fabrice Jammes added a comment - Ok it looks fine to me, thanks for fixing it.
          Hide
          tjenness Tim Jenness added a comment -

          I will merge this fix to master as it fixes the problem on OS X (which usually fails tests without it) and is the correct thing to do on Linux as well.

          Show
          tjenness Tim Jenness added a comment - I will merge this fix to master as it fixes the problem on OS X (which usually fails tests without it) and is the correct thing to do on Linux as well.

            People

            • Assignee:
              tjenness Tim Jenness
              Reporter:
              mjuric Mario Juric
              Reviewers:
              Fabrice Jammes, Tim Jenness
              Watchers:
              Andy Salnikov, Fabrice Jammes, Mario Juric, Tim Jenness
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Summary Panel