ZooKeeper
  1. ZooKeeper
  2. ZOOKEEPER-1374

C client multi-threaded test suite fails to compile on ARM architectures.

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.3.4
    • Fix Version/s: 3.4.3, 3.5.0
    • Component/s: c client
    • Labels:
      None
    • Environment:

      Ubuntu 12.04 (precise) armel or armhf

    • Hadoop Flags:
      Reviewed

      Description

      The multi-threaded test suite fails to build on ARM architectures:

      g++ -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -D_FORTIFY_SOURCE=2 -DUSE_STATIC_LIB -DTHREADED -DZKSERVER_CMD="\"./tests/zkServer.sh\"" -Wall -g -MT zktest_mt-ThreadingUtil.o -MD -MP -MF .deps/zktest_mt-ThreadingUtil.Tpo -c -o zktest_mt-ThreadingUtil.o `test -f 'tests/ThreadingUtil.cc' || echo './'`tests/ThreadingUtil.cc
      /tmp/ccqJWQRC.s: Assembler messages:
      /tmp/ccqJWQRC.s:373: Error: bad instruction `lock xaddl r4,r3,#0'
      /tmp/ccqJWQRC.s:425: Error: bad instruction `lock xchgl r4,r3,#0'

      gcc does provide alternative primitives (sync*) which provide better cross platform compatibility; but that does make the assumption that a) gcc is being used or b) the primitives are provided by alternative compilers.

      Tracked in Ubuntu here: https://bugs.launchpad.net/ubuntu/+source/zookeeper/+bug/920871

      1. ZOOKEEPER-1374.patch
        0.9 kB
        James Page
      2. ZOOKEEPER-1374.patch
        1 kB
        Patrick Hunt

        Activity

        Hide
        Hudson added a comment -

        Integrated in ZooKeeper-trunk #1451 (See https://builds.apache.org/job/ZooKeeper-trunk/1451/)
        ZOOKEEPER-1374. C client multi-threaded test suite fails to compile on ARM architectures. (James Page via mahadev)

        mahadev : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1240952
        Files :

        • /zookeeper/trunk/CHANGES.txt
        • /zookeeper/trunk/src/c/tests/ThreadingUtil.cc
        Show
        Hudson added a comment - Integrated in ZooKeeper-trunk #1451 (See https://builds.apache.org/job/ZooKeeper-trunk/1451/ ) ZOOKEEPER-1374 . C client multi-threaded test suite fails to compile on ARM architectures. (James Page via mahadev) mahadev : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1240952 Files : /zookeeper/trunk/CHANGES.txt /zookeeper/trunk/src/c/tests/ThreadingUtil.cc
        Hide
        Mahadev konar added a comment -

        I just committed this to both trunk and 3.4. Thanks James!

        Show
        Mahadev konar added a comment - I just committed this to both trunk and 3.4. Thanks James!
        Hide
        Hadoop QA added a comment -

        +1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12512216/ZOOKEEPER-1374.patch
        against trunk revision 1240905.

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 core tests. The patch passed core unit tests.

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/948//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/948//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/948//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12512216/ZOOKEEPER-1374.patch against trunk revision 1240905. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/948//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/948//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/948//console This message is automatically generated.
        Hide
        James Page added a comment -

        Revised patch builds fine on the following non-x86 architectures: armel, armhf and powerpc.

        See https://launchpad.net/ubuntu/+source/zookeeper/3.3.4+dfsg1-2ubuntu4 for details.

        Also builds just fine on x86 as well!

        Show
        James Page added a comment - Revised patch builds fine on the following non-x86 architectures: armel, armhf and powerpc. See https://launchpad.net/ubuntu/+source/zookeeper/3.3.4+dfsg1-2ubuntu4 for details. Also builds just fine on x86 as well!
        Hide
        Patrick Hunt added a comment -

        Yes, please do and lmk when you have it green. I'll commit it once I hear back from you.

        Show
        Patrick Hunt added a comment - Yes, please do and lmk when you have it green. I'll commit it once I hear back from you.
        Hide
        James Page added a comment -

        Patrick - that sounds entirely reasonable and the updated patch looks good; would you like me to test on arm* architectures before committing?

        Show
        James Page added a comment - Patrick - that sounds entirely reasonable and the updated patch looks good; would you like me to test on arm* architectures before committing?
        Hide
        Hadoop QA added a comment -

        +1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12512216/ZOOKEEPER-1374.patch
        against trunk revision 1234974.

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 core tests. The patch passed core unit tests.

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/926//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/926//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/926//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12512216/ZOOKEEPER-1374.patch against trunk revision 1234974. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/926//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/926//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/926//console This message is automatically generated.
        Hide
        Patrick Hunt added a comment -

        James the patch looks fine, however I'd like to maintain the old behavior if not compiling under GCC. Updated the patch as such, please take a look.

        Show
        Patrick Hunt added a comment - James the patch looks fine, however I'd like to maintain the old behavior if not compiling under GCC. Updated the patch as such, please take a look.
        Hide
        Hadoop QA added a comment -

        +1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12511680/ZOOKEEPER-1374.patch
        against trunk revision 1234974.

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 core tests. The patch passed core unit tests.

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/916//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/916//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/916//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12511680/ZOOKEEPER-1374.patch against trunk revision 1234974. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/916//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/916//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/916//console This message is automatically generated.
        Hide
        James Page added a comment -

        Trunk patch to use _sync primitives rather than ASM

        Show
        James Page added a comment - Trunk patch to use _sync primitives rather than ASM

          People

          • Assignee:
            James Page
            Reporter:
            James Page
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development