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
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to