I see this same error, Stephen -- the test gets caught in an infinite while
loop where the atomic reader waits for an atomic writer that is not running
(maybe terminated or failed to spawn). I see the error when building on Ubuntu
14.10 and CentOS 7. I do not see it on CentOS 6.6.
I also see the OVS atomic source code cause an internal compiler error when
using clang as delivered in the Ubuntu 14.10 distro. (Compiler says it is
unable to determine whether atomic boolean base type should be "bool" or "u8").
Some forum threads have claimed that recent Ubuntu clang crashes can be a
result of a bug where clang builds improperly under GCC 4.8. I tried
rebuilding clang using GCC 4.7 on Ubuntu but it didn't eliminate the internal
error when the resultant clang binary compiled OVS atomic code.
I have not had an opportunity to track these issues down so I'm currently
developing on a CentOS 6.6 box.
Regards,
Randy Sharo
________________________________
Hi,
I'm seeing the following unit test hanging on multiple boards, while it passes
on one board:
27: test atomic operations
Before I invest time debugging, has anyone seen similar issues with this test?
Regards,
Stephen Finucane
---
PS: The boards are on different kernels (failing: 3.16.6-200.fc20.x86_64,
3.17.2-200.fc20.x86_64, 3.17.6-200.fc20.x86_64; working:
3.14.7-200.default.fc20.x86_64). However, OVS should support all of these
kernels. I've included diffs between the kernel configs for these below in case
it's a config issue:
$ diff -u ./config-working ./config-broken | grep '^-[^-]' | grep -i 'mutex'
-# CONFIG_RT_MUTEX_TESTER is not set
$ diff -u ./config-working ./config-broken | grep '^-[^-]' | grep -i 'lock'
-CONFIG_PTP_1588_CLOCK_PCH=m
$ diff -u ./config-working ./config-broken | grep '^-[^-]' | grep -i 'atom'
$
$ diff -u ./config-working ./config-broken | grep '^+[^+]' | grep -i 'lock'
+CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
+CONFIG_ARCH_USE_QUEUE_RWLOCK=y
+CONFIG_QUEUE_RWLOCK=y
+# CONFIG_MTD_UBI_BLOCK is not set
+# Clock Source drivers
+# CONFIG_LOCK_TORTURE_TEST is not set
$ diff -u ./config-working ./config-broken | grep '^+[^+]' | grep -i 'atom'
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_PMC_ATOM=y
$ diff -u ./config-working ./config-broken | grep '^+[^+]' | grep -i 'mutex'
$
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev