Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r60585 - in sandbox/stm/branches/vbe/libs/stm: example/tx src test
From: vicente.botet_at_[hidden]
Date: 2010-03-14 17:34:11


Author: viboes
Date: 2010-03-14 17:34:10 EDT (Sun, 14 Mar 2010)
New Revision: 60585
URL: http://svn.boost.org/trac/boost/changeset/60585

Log:
Boost.STM/vbe:
* Updated tests and Jamfile to take care of solved issues

Text files modified:
   sandbox/stm/branches/vbe/libs/stm/example/tx/bank.cpp | 12 +-
   sandbox/stm/branches/vbe/libs/stm/example/tx/list.cpp | 36 +----
   sandbox/stm/branches/vbe/libs/stm/example/tx/list_sp.cpp | 17 +-
   sandbox/stm/branches/vbe/libs/stm/src/transaction.cpp | 10 +
   sandbox/stm/branches/vbe/libs/stm/test/Jamfile.v2 | 228 ++++++++++++++++++++-------------------
   5 files changed, 143 insertions(+), 160 deletions(-)

Modified: sandbox/stm/branches/vbe/libs/stm/example/tx/bank.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/example/tx/bank.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/example/tx/bank.cpp 2010-03-14 17:34:10 EDT (Sun, 14 Mar 2010)
@@ -122,10 +122,10 @@
 
 void create_db(tx::pointer<Bank> b, int nr_of_accounts){
     for(int c=0;c<nr_of_accounts;++c) {
- BOOST_STM_OUTER_TRANSACTION(_) {
- tx::pointer<BankAccount> acc(BOOST_STM_TX_NEW_PTR(_, BankAccount(c)));
+ BOOST_STM_E_TRANSACTION {
+ tx::pointer<BankAccount> acc(BOOST_STM_E_NEW_PTR(BankAccount(c)));
             b->accounts.push_back(acc);
- } BOOST_STM_RETRY
+ } BOOST_STM_E_END_TRANSACTION;
     }
 }
 
@@ -138,7 +138,7 @@
     BOOST_STM_E_TRANSACTION {
         a->Withdraw(10);
     } BOOST_STM_E_END_TRANSACTION;
- }
+ }
     CATCH_AND_PRINT_ALL
 }
 void account_withdraw() {
@@ -155,7 +155,7 @@
         a->Deposit(10);
     } BOOST_STM_E_END_TRANSACTION;
     //~ } BOOST_STM_RETRY
- }
+ }
     CATCH_AND_PRINT_ALL
 }
 void account_deposit() {
@@ -306,7 +306,7 @@
     res+=test_bank_2();
 
     return res;
- }
+ }
     CATCH_AND_PRINT_ALL
 
 }

Modified: sandbox/stm/branches/vbe/libs/stm/example/tx/list.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/example/tx/list.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/example/tx/list.cpp 2010-03-14 17:34:10 EDT (Sun, 14 Mar 2010)
@@ -100,23 +100,6 @@
     //--------------------------------------------------------------------------
     // find the location to insert the node. if the value already exists, fail
     //--------------------------------------------------------------------------
- void insert_e(const T& val) {
- BOOST_STM_TRANSACTION(_) {
- list_node<T> * prev = head_;
- list_node<T> * curr = prev->next_;
- while (curr!=0) {
- if (curr->value_ == val) BOOST_STM_TX_RETURN_NOTHING(_);
- //~ if (curr->value_ == val) return;
- else if (curr->value_ > val) BOOST_STM_BREAK(_);
- prev = curr;
- curr = curr->next_;
- }
- if (curr==0 || (curr->value_ > val)) {
- prev->next_=BOOST_STM_TX_NEW_PTR(_,list_node<T>(val, curr));
- ++size_;
- }
- } BOOST_STM_RETRY
- }
 
     void insert(const T& val) {
         BOOST_STM_E_TRANSACTION {
@@ -190,13 +173,10 @@
 test::list_node<int> n;
 
 void create() {
- BOOST_STM_OUTER_TRANSACTION(_) {
+ BOOST_STM_E_TRANSACTION {
         cerr << __LINE__ << " create" << endl;
         cerr << " create size " << l.size() << endl;
- } BOOST_STM_RETRY
- catch (...) {
- std::cout << "*** ERROR: "<< __FILE__ << "["<<__LINE__<<"] catch" << std::endl;
- }
+ } BOOST_STM_E_END_TRANSACTION;
 }
 bool check_size(std::size_t val) {
     BOOST_STM_E_TRANSACTION {
@@ -214,9 +194,9 @@
 
 bool insert(int val) {
     //thread_initializer thi;
- BOOST_STM_TRANSACTION(_) {
+ BOOST_STM_E_TRANSACTION {
         l.insert(val);
- } BOOST_STM_RETRY
+ } BOOST_STM_E_END_TRANSACTION;
     return check_size(1);
 }
 void insert1_th() {
@@ -229,7 +209,7 @@
 
             l.insert(1);
         } BOOST_STM_E_END_TRANSACTION;
- }
+ }
     CATCH_AND_PRINT_ALL
 }
 void insert2_th() {
@@ -243,7 +223,7 @@
             l.insert(2);
         } BOOST_STM_E_END_TRANSACTION;
     //~ } BOOST_STM_RETRY
- }
+ }
     CATCH_AND_PRINT_ALL
 }
 void insert3_th() {
@@ -257,7 +237,7 @@
         l.insert(3);
     } BOOST_STM_E_END_TRANSACTION;
     //~ } BOOST_STM_RETRY
- }
+ }
     CATCH_AND_PRINT_ALL
 }
 
@@ -363,7 +343,7 @@
 
 
     return test_all();
- }
+ }
     CATCH_AND_PRINT_ALL
 
 }

Modified: sandbox/stm/branches/vbe/libs/stm/example/tx/list_sp.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/example/tx/list_sp.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/example/tx/list_sp.cpp 2010-03-14 17:34:10 EDT (Sun, 14 Mar 2010)
@@ -144,13 +144,10 @@
 test::list_node<int> n;
 
 void create() {
- BOOST_STM_TRANSACTION(_) {
+ BOOST_STM_E_TRANSACTION {
         cout << __LINE__ << " create" << endl;
         cout << " create size " << l.size() << endl;
- } BOOST_STM_RETRY
- catch (...) {
- std::cout << "*** ERROR: "<< __FILE__ << "["<<__LINE__<<"] catch" << std::endl;
- }
+ } BOOST_STM_E_END_TRANSACTION;
 }
 bool check_size(std::size_t val) {
     BOOST_STM_E_TRANSACTION {
@@ -179,7 +176,7 @@
         BOOST_STM_E_TRANSACTION {
             l.insert(1);
         } BOOST_STM_E_END_TRANSACTION;
- }
+ }
     CATCH_AND_PRINT_ALL
 }
 void insert2_th() {
@@ -188,7 +185,7 @@
         BOOST_STM_E_TRANSACTION {
             l.insert(2);
         } BOOST_STM_E_END_TRANSACTION;
- }
+ }
     CATCH_AND_PRINT_ALL
 }
 
@@ -205,7 +202,7 @@
         BOOST_STM_E_TRANSACTION {
             l.insert(3);
         } BOOST_STM_E_END_TRANSACTION;
- }
+ }
     CATCH_AND_PRINT_ALL
 }
 bool n1() {
@@ -250,7 +247,7 @@
     fails= fails || !n2();
     fails= fails || !n3();
     fails= fails || !check_size(0);
- //~ //fails= fails || !insert1();
+ //fails= fails || !insert1();
     thread th1(insert1_th);
     thread th2(insert2_th);
     thread th3(insert2_th);
@@ -286,7 +283,7 @@
     thread_initializer thi;
 
     return test_all();
- }
+ }
     CATCH_AND_PRINT_ALL
 
 }

Modified: sandbox/stm/branches/vbe/libs/stm/src/transaction.cpp
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/src/transaction.cpp (original)
+++ sandbox/stm/branches/vbe/libs/stm/src/transaction.cpp 2010-03-14 17:34:10 EDT (Sun, 14 Mar 2010)
@@ -19,7 +19,9 @@
 
 using namespace std;
 //using namespace boost::stm;
-namespace boost { namespace stm {
+namespace boost {
+boost::mutex log_mutex;
+namespace stm {
 namespace non_tx {
     std::map<void*, base_transaction_object*> detail::cache_map::map_;
 #ifndef BOOST_STM_USE_BOOST_MUTEX
@@ -34,7 +36,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Static initialization
 ///////////////////////////////////////////////////////////////////////////////
-transaction::InflightTxes transaction::transactionsInFlight_;
+transaction::in_flight_trans_cont transaction::transactionsInFlight_;
 //latm::mutex_set transaction::latmLockedLocks_;
 //latm::mutex_thread_id_set_map transaction::latmLockedLocksAndThreadIdsMap_;
 //latm::mutex_thread_id_map transaction::latmLockedLocksOfThreadMap_;
@@ -483,7 +485,7 @@
 #ifndef MAP_THREAD_MUTEX_CONTAINER
    {
    // realign all in-flight transactions so they are accessing the correct mutex
- for (InflightTxes::iterator i = transactionsInFlight_.begin();
+ for (in_flight_trans_cont::iterator i = transactionsInFlight_.begin();
       i != transactionsInFlight_.end(); ++i)
    {
       transaction* t = *i;
@@ -526,7 +528,7 @@
 #ifndef MAP_THREAD_BOOL_CONTAINER
    {
    // realign all in-flight transactions so they are accessing the correct mutex
- for (InflightTxes::iterator i = transactionsInFlight_.begin();
+ for (in_flight_trans_cont::iterator i = transactionsInFlight_.begin();
       i != transactionsInFlight_.end(); ++i)
    {
       transaction* t = *i;

Modified: sandbox/stm/branches/vbe/libs/stm/test/Jamfile.v2
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/test/Jamfile.v2 (original)
+++ sandbox/stm/branches/vbe/libs/stm/test/Jamfile.v2 2010-03-14 17:34:10 EDT (Sun, 14 Mar 2010)
@@ -53,9 +53,11 @@
 
     alias def_invalid
         :
+ [ run stm : -bench accounts -def -threads 2 -inserts 100 : : : accounts_def_t2_i100 ]
+ [ run stm : -bench accounts -def -threads 4 -inserts 100 : : : accounts_def_t4_i100 ]
+
             [ run stm : -bench hashmap -def -threads 2 -inserts 100 : : : hashmap_def_t2_i100 ]
 
-
             [ run stm : -bench ht -def -threads 2 -inserts 100 -latm tm : : : ht_def_tm_t2_i100 ]
             [ run stm : -bench ht -def -threads 4 -inserts 100 -latm tm : : : ht_def_tm_t4_i100 ]
             [ run stm : -bench ht -def -threads 2 -inserts 100 -latm tx : : : ht_def_tx_t2_i100 ]
@@ -67,7 +69,6 @@
 
             [ run stm : -bench ll -def -threads 4 -inserts 100 -latm tm : : : ll_def_tm_t4_i100 ]
 
-
             [ run stm : -bench isolated_int_lock_in_tx -def -threads 2 -inserts 100 -latm full : : : isolated_int_lock_in_tx_def_full_t2_i100 ]
             [ run stm : -bench isolated_int_lock_in_tx -def -threads 4 -inserts 100 -latm full : : : isolated_int_lock_in_tx_def_full_t4_i100 ]
             [ run stm : -bench isolated_int_lock_in_tx -def -threads 2 -inserts 100 -latm tm : : : isolated_int_lock_in_tx_def_tm_t2_i100 ]
@@ -76,36 +77,27 @@
             [ run stm : -bench isolated_int_lock_in_tx -def -threads 4 -inserts 100 -latm tx : : : isolated_int_lock_in_tx_def_tx_t4_i100 ]
 
 
-
             [ run stm : -bench irrevocable_int -def -threads 2 -inserts 100 : : : irrevocable_int_def_t2_i100 ]
 
- ########### deadlock. killed after 0:26. 00% CPU all-modes
- #[ run stm : -bench lot_example -def -threads 2 -inserts 100 -latm full : : : lot_example_def_full_t2_i100 ]
- ########### deadlock.
- #[ run stm : -bench lot_example -def -threads 2 -inserts 100 -latm tm : : : lot_example_def_tm_t2_i100 ]
- ########### deadlock.
- #[ run stm : -bench lot_example -def -threads 2 -inserts 100 -latm tx : : : lot_example_def_tx_t2_i100 ]
-
- ########### deadlock
- #[ run stm : -bench lit_example -def -threads 2 -inserts 100 -latm tx : : : lit_example_def_tx_t2_i100 ]
 
+ [ run stm : -bench rbtree -def -threads 2 -inserts 100 : : : rbtree_def_t2_i100 ]
 
- ########### livelock. killed after 3:50. 50% CPU
- #[ run stm : -bench nested_tx -def -threads 2 -inserts 100 -latm full : : : nested_tx_def_full_t2_i100 ]
- ########### livelock
- #[ run stm : -bench nested_tx -def -threads 2 -inserts 100 -latm tm : : : nested_tx_def_tm_t2_i100 ]
- ########### livelock
- #[ run stm : -bench nested_tx -def -threads 2 -inserts 100 -latm tx : : : nested_tx_def_tx_t2_i100 ]
+ [ run stm : -bench list_hash_w_locks -def -threads 2 -inserts 100 -latm tm : : : list_hash_w_locks_def_tm_t2_i100 ]
+ [ run stm : -bench list_hash_w_locks -def -threads 2 -inserts 100 -latm tx : : : list_hash_w_locks_def_tx_t2_i100 ]
+ [ run stm : -bench list_hash_w_locks -def -threads 4 -inserts 100 -latm tx : : : list_hash_w_locks_def_tx_t4_i100 ]
+
+ [ run stm : -bench ll -def -threads 2 -inserts 100 -latm tm : : : ll_def_tm_t2_i100 ]
 
- [ run stm : -bench rbtree -def -threads 2 -inserts 100 : : : rbtree_def_t2_i100 ]
+ [ run stm : -bench linkedlist -def -threads 4 -inserts 100 : : : linkedlist_def_t4_i100 ]
 
- [ run stm : -bench smart -def -threads 4 -inserts 100 : : : smart_def_t4_i100 ]
+ [ run stm : -bench tx_linear_lock -def -threads 2 -inserts 100 -latm tx : : : tx_linear_lock_def_tx_t2_i100 ]
 
+ [ run stm : -bench hashmap -def -threads 4 -inserts 100 : : : hashmap_def_t4_i100 ]
 
+ [ run stm : -bench irrevocable_int -def -threads 4 -inserts 100 : : : irrevocable_int_def_t4_i100 ]
 
- [ run stm : -bench list_hash_w_locks -def -threads 2 -inserts 100 -latm tm : : : list_hash_w_locks_def_tm_t2_i100 ]
- [ run stm : -bench list_hash_w_locks -def -threads 2 -inserts 100 -latm tx : : : list_hash_w_locks_def_tx_t2_i100 ]
- [ run stm : -bench list_hash_w_locks -def -threads 4 -inserts 100 -latm tx : : : list_hash_w_locks_def_tx_t4_i100 ]
+ [ run stm : -bench rbtree -def -threads 4 -inserts 100 : : : rbtree_def_t4_i100 ]
+
     ;
 
     alias dir_invalid
@@ -130,15 +122,7 @@
             [ run stm : -bench ll -dir -threads 2 -inserts 100 -latm tm : : : ll_dir_t2_tm_i100 ]
             [ run stm : -bench ll -dir -threads 4 -inserts 100 -latm tm : : : ll_dir_t4_tm_i100 ]
 
- ########### fails with CHECK all-modes
- #/bin/sh: line 4: 3764 Aborted (core dumped) "bin/tx_linear_lock_dir_t2.test/gcc-3.4.4/debug/threading-multi/tx_linear_lock_dir_t2.exe" > "bin/tx_linear_lock_dir_t2.test/gcc-3.4.4/debug/threading-multi/tx_linear_lock_dir_t2.output" 2>&1
- #assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
- ########### deadlock. without CHECK 2010/02/22
             [ run stm : -bench tx_linear_lock -dir -threads 2 -inserts 100 -latm full : : : tx_linear_lock_dir_full_t2_i100 ]
- ########### deadlock
- #[ run stm : -bench tx_linear_lock -dir -threads 4 -inserts 100 -latm full : : : tx_linear_lock_dir_full_t4_i100 ]
- ########### deadlock
- #[ run stm : -bench tx_linear_lock -dir -threads 2 -inserts 100 -latm tx : : : tx_linear_lock_dir_tx_t2_i100 ]
 
             [ run stm : -bench isolated_int_lock_in_tx -dir -threads 2 -inserts 100 -latm full : : : isolated_int_lock_in_tx_dir_full_t2_i100 ]
             [ run stm : -bench isolated_int_lock_in_tx -dir -threads 4 -inserts 100 -latm full : : : isolated_int_lock_in_tx_dir_full_t4_i100 ]
@@ -147,35 +131,15 @@
             [ run stm : -bench isolated_int_lock_in_tx -dir -threads 2 -inserts 100 -latm tx : : : isolated_int_lock_in_tx_dir_tx_t2_i100 ]
             [ run stm : -bench isolated_int_lock_in_tx -dir -threads 4 -inserts 100 -latm tx : : : isolated_int_lock_in_tx_dir_tx_t4_i100 ]
 
- ########### deadlock. killed after 0:20. 00% CPU all-modes all-modes
- #[ run stm : -bench isolated_composed_int_lock -dir -threads 2 -inserts 100 -latm full : : : isolated_composed_int_lock_dir_full_t2_i100 ]
 
             [ run stm : -bench isolated_composed_int_lock2 -dir -threads 2 -inserts 100 -latm tx : : : isolated_composed_int_lock2_dir_tx_t2_i100 ]
+ [ run stm : -bench isolated_composed_int_lock2 -dir -threads 2 -inserts 100 -latm full : : : isolated_composed_int_lock2_dir_full_t2_i100 ]
 
             [ run stm : -bench irrevocable_int -dir -threads 4 -inserts 100 : : : irrevocable_int_dir_t4_i100 ]
 
- ########### deadlock. killed after 0:20. 00% CPU all-modes
- #[ run stm : -bench lot_example -dir -threads 2 -inserts 100 -latm full : : : lot_example_dir_full_t2_i100 ]
- ########### deadlock
- #[ run stm : -bench lot_example -dir -threads 2 -inserts 100 -latm tm : : : lot_example_dir_tm_t2_i100 ]
- ########### deadlock
- #[ run stm : -bench lot_example -dir -threads 2 -inserts 100 -latm tx : : : lot_example_dir_tx_t2_i100 ]
-
- ########### deadlock. killed after 0:40. 00% CPU all-modes
- #[ run stm : -bench lit_example -dir -threads 2 -inserts 100 -latm full : : : lit_example_dir_full_t2_i100 ]
- ########### deadlock
- #[ run stm : -bench lit_example -dir -threads 2 -inserts 100 -latm tx : : : lit_example_dir_tx_t2_i100 ]
-
- ########### livelock. killed after 3:00. 50% CPU
- #[ run stm : -bench nested_tx -dir -threads 2 -inserts 100 -latm full : : : nested_tx_dir_full_t2_i100 ]
- #[ run stm : -bench nested_tx -dir -threads 2 -inserts 100 -latm tm : : : nested_tx_dir_tm_t2_i100 ]
- #[ run stm : -bench nested_tx -dir -threads 2 -inserts 100 -latm tx : : : nested_tx_dir_tx_t2_i100 ]
 
             [ run stm : -bench rbtree -dir -threads 4 -inserts 100 : : : rbtree_dir_t4_i100 ]
-
- [ run stm : -bench smart -dir -threads 4 -inserts 100 : : : smart_dir_t4_i100 ]
-
-
+
             [ run stm : -bench hashmap_w_locks -dir -threads 4 -inserts 100 -latm full : : : hashmap_w_locks_dir_full_t4_i100 ]
             [ run stm : -bench hashmap_w_locks -dir -threads 4 -inserts 100 -latm tm : : : hashmap_w_locks_dir_tm_t4_i100 ]
             [ run stm : -bench hashmap_w_locks -dir -threads 4 -inserts 100 -latm tx : : : hashmap_w_locks_dir_tx_t4_i100 ]
@@ -187,12 +151,15 @@
             [ run stm : -bench using_linkedlist -dir -threads 2 -inserts 100 -latm full : : : using_linkedlist_dir_full_t2_i100 ]
             [ run stm : -bench using_linkedlist -dir -threads 2 -inserts 100 -latm tm : : : using_linkedlist_dir_tm_t2_i100 ]
             [ run stm : -bench using_linkedlist -dir -threads 2 -inserts 100 -latm tx : : : using_linkedlist_dir_tx_t2_i100 ]
-
+
+
+
     ;
 
     alias embedded
         :
             [ run-fail ../example/embed.cpp ]
+ #[ run ../example/property_test.cpp ]
     ;
 
     alias examples_tx
@@ -202,7 +169,11 @@
             [ run ../example/dyn_poly.cpp ]
             [ run ../example/multiple_inheritance.cpp ]
 
+ ######## failed 2010/03/14
+ ######## assertion "false&&"tx type not found"" failed: file "../../../boost/stm/detail/transaction_impl.hpp", line 231
             [ run ../example/tx/bank.cpp : : : : tx_bank ]
+ ######## failed 2010/03/14
+ ######## assertion "pthread_mutex_unlock(&lockable)==0&&"synchro::unlock<pthread_mutex_t>"" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 53
             [ run ../example/tx/numeric.cpp ]
             [ run ../example/tx/array.cpp ]
             [ run ../example/tx/pointer.cpp ]
@@ -249,71 +220,37 @@
 
     alias fails_sometimes
         :
- ########### deadlock sometimes. 2010/02/22
- [ run stm : -bench isolated_composed_int_lock2 -def -threads 2 -inserts 100 -latm tx : : : isolated_composed_int_lock2_def_tx_t2_i100 ]
-
- ########### fails sometimes 17:27 091003
- #assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 52
- [ run stm : -bench hashmap -def -threads 4 -inserts 100 : : : hashmap_def_t4_i100 ]
-
- ########### fails sometimes 18:56 091003
- #assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 52
- [ run stm : -bench irrevocable_int -def -threads 4 -inserts 100 : : : irrevocable_int_def_t4_i100 ]
-
- ########### fails sometimes
- [ run stm : -bench rbtree -def -threads 4 -inserts 100 : : : rbtree_def_t4_i100 ]
-
- ########### fails
- # /bin/sh: line 4: 3172 Aborted (core dumped) "bin/isolated_composed_int_lock2_dir_t2.test/gcc-3.4.4/debug/threading-multi/isolated_composed_int_lock2_dir_t2.exe" > "bin/isolated_composed_int_lock2_dir_t2.test/gcc-3.4.4/debug/threading-multi/isolated_composed_int_lock2_dir_t2.output" 2>&1
- #assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
- # 11 [sig] isolated_composed_int_lock_def_t2 3660 _cygtls::handle_except ions: Error while dumping state (probably corrupted stack)
- [ run stm : -bench isolated_composed_int_lock2 -dir -threads 2 -inserts 100 -latm full : : : isolated_composed_int_lock2_dir_full_t2_i100 ]
-
- ########### fails sometimes
- [ run stm : -bench ll -def -threads 2 -inserts 100 -latm tm : : : ll_def_tm_t2_i100 ]
-
- ########### fails sometimes
- #assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 52
- [ run stm : -bench linkedlist -def -threads 4 -inserts 100 : : : linkedlist_def_t4_i100 ]
+ # all worked several times without failure at 2010/03/14
+
 
- ########### fails sometimes
- [ run stm : -bench tx_linear_lock -def -threads 2 -inserts 100 -latm tx : : : tx_linear_lock_def_tx_t2_i100 ]
 
- ########### fails sometimes
+ ;
+
+ alias fails_often
+ :
+ # all failed at 2010/03/14 several times
+ ########### fails sometimes 3 times 2010/03/14 succeed 2010/03/14
             [ run stm : -bench ll -dir -threads 4 -inserts 100 -latm tx : : : ll_dir_t4_tx_i100 ]
 
- ########### fails sometimes 19:00 091107
+ ########### fails 3 consecutive times 2010/03/14 suceeded at 2010/??/??
             [ run stm : -bench ll -dir -threads 2 -inserts 100 -latm tx : : : ll_dir_t2_tx_i100 ]
 
- ########### fails often
+ ########### fails often 2010/03/14 suceeded at 2010/??/??
             [ run stm : -bench ll -def -threads 2 -inserts 100 -latm tx : : : ll_def_tx_t2_i100 ]
 
+ ########### deadlock sometimes. 2010/02/22
+ [ run stm : -bench isolated_composed_int_lock2 -def -threads 2 -inserts 100 -latm tx : : : isolated_composed_int_lock2_def_tx_t2_i100 ]
+
     ;
 
- alias failures
+ alias fails_always
         :
- ########### fails since revison 2010/02/22
- #assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 52
- [ run stm : -bench accounts -def -threads 2 -inserts 100 : : : accounts_def_t2_i100 ]
- ########### fails since revison 2010/02/22
- #assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 52
- #[ run stm : -bench accounts -def -threads 4 -inserts 100 : : : accounts_def_t4_i100 ]
-
-
- ########### fails with CHECK all-modes
- # /bin/sh: line 4: 4072 Aborted (core dumped) "bin/lit_def_t2.test/gcc-3.4.4/debug/threading-multi/lit_def_t2.exe" > "bin/lit_def_t2.test/gcc-3.4.4/debug/threading-multi/lit_def_t2.output" 2>&1
- ########### deadlock sometimes without CHECK. killed after 0:40. 00% CPU
- [ run stm : -bench lit_example -def -threads 2 -inserts 100 -latm full : : : lit_example_def_full_t2_i100 ]
- ########### fails
- [ run stm : -bench lit_example -def -threads 2 -inserts 100 -latm tm : : : lit_example_def_tm_t2_i100 ]
- ########### fails
- [ run stm : -bench lit_example -dir -threads 2 -inserts 100 -latm tm : : : lit_example_dir_tm_t2_i100 ]
-
+
             ########### fails
             # /bin/sh: line 4: 2944 Aborted (core dumped) "bin/ht_def_t2_i1000.test/gcc-3.4.4/debug/threading-multi/ht_def_t2_i1000.exe" > "bin/ht_def_t2_i1000.test/gcc-3.4.4/debug/threading-multi/ht_def_t2_i1000.output" 2>&1
             # Rounding max threads to the next multiple of 4 (4).
             # assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
- [ run stm : -bench ht -def -threads 2 -inserts 100 -latm full : : : ht_def_full_t2_i100 ]
+ #[ run stm : -bench ht -def -threads 2 -inserts 100 -latm full : : : ht_def_full_t2_i100 ]
 
             ########### fails
             # assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
@@ -327,23 +264,22 @@
             [ run stm : -bench tx_linear_lock -dir -threads 2 -inserts 100 -latm tm : : : tx_linear_lock_dir_tm_t2_i100 ]
             ########### fails
             [ run stm : -bench tx_linear_lock -def -threads 2 -inserts 100 -latm tm : : : tx_linear_lock_def_tm_t2_i100 ]
-
+
             ########### fails all-modes
             # /bin/sh: line 4: 3660 Segmentation fault (core dumped) "bin/isolated_composed_int_lock_def_t2.test/gcc-3.4.4/debug/threading-multi/isolated_composed_int_lock_def_t2.exe" > "bin/isolated_composed_int_lock_def_t2.test/gcc-3.4.4/debug/threading-multi/isolated_composed_int_lock_def_t2.output" 2>&1
             # assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 40
             [ run stm : -bench isolated_composed_int_lock -def -threads 2 -inserts 100 -latm full : : : isolated_composed_int_lock_def_full_t2_i100 ]
             ########### fails
             # /bin/sh: line 4: 4744 Aborted (core dumped) "bin/gcc-3.4.4/debug/threading-multi/stm.exe" -bench isolated_composed_int_lock -def -threads 2 -inserts 100 -latm tm > "bin/isolated_composed_int_lock_def_tm_t2_i100.test/gcc-3.4.4/debug/threading-multi/isolated_composed_int_lock_def_tm_t2_i100.output" 2>&1
- [ run stm : -bench isolated_composed_int_lock -def -threads 2 -inserts 100 -latm tm : : : isolated_composed_int_lock_def_tm_t2_i100 ]
+ [ run stm : -bench isolated_composed_int_lock -def -threads 2 -inserts 100 -latm tm : : : isolated_composed_int_lock_def_tm_t2_i100 ]
             ########### fails
             # /bin/sh: line 4: 4772 Aborted (core dumped) "bin/gcc-3.4.4/debug/threading-multi/stm.exe" -bench isolated_composed_int_lock -def -threads 2 -inserts 100 -latm tx > "bin/isolated_composed_int_lock_def_tx_t2_i100.test/gcc-3.4.4/debug/threading-multi/isolated_composed_int_lock_def_tx_t2_i100.output" 2>&1
             [ run stm : -bench isolated_composed_int_lock -def -threads 2 -inserts 100 -latm tx : : : isolated_composed_int_lock_def_tx_t2_i100 ]
             ########### fails
- [ run stm : -bench isolated_composed_int_lock -dir -threads 2 -inserts 100 -latm tm : : : isolated_composed_int_lock_dir_tm_t2_i100 ]
- ########### fails
             [ run stm : -bench isolated_composed_int_lock -dir -threads 2 -inserts 100 -latm tx : : : isolated_composed_int_lock_dir_tx_t2_i100 ]
-
- ########### deadlock
+ ########### fails
+ [ run stm : -bench isolated_composed_int_lock -dir -threads 2 -inserts 100 -latm tm : : : isolated_composed_int_lock_dir_tm_t2_i100 ]
+ ########### fails
             #/bin/sh: line 4: 4536 Aborted (core dumped) "bin/gcc-3.4.4/debug/threading-multi/stm.exe" -bench isolated_composed_int_lock2 -def -threads 2 -inserts 100 -latm full > "bin/isolated_composed_int_lock2_def_full_t2_i100.test/gcc-3.4.4/debug/threading-multi/isolated_composed_int_lock2_def_full_t2_i100.output" 2>&1
             #====== BEGIN OUTPUT ======
             #61 i= 0
@@ -361,11 +297,12 @@
             #70 lock
             [ run stm : -bench isolated_composed_int_lock2 -def -threads 2 -inserts 100 -latm tm : : : isolated_composed_int_lock2_def_tm_t2_i100 ]
             ########### fails
- #[ run stm : -bench isolated_composed_int_lock2 -def -threads 4 -inserts 100 -latm tx : : : isolated_composed_int_lock2_def_tx_t4_i100 ]
+ [ run stm : -bench isolated_composed_int_lock2 -def -threads 4 -inserts 100 -latm tx : : : isolated_composed_int_lock2_def_tx_t4_i100 ]
+
             ########### fails
             [ run stm : -bench isolated_composed_int_lock2 -dir -threads 2 -inserts 100 -latm tm : : : isolated_composed_int_lock2_dir_tm_t2_i100 ]
             ########### fails
- #[ run stm : -bench isolated_composed_int_lock2 -dir -threads 4 -inserts 100 -latm tx : : : isolated_composed_int_lock2_dir_tx_t4_i100 ]
+ [ run stm : -bench isolated_composed_int_lock2 -dir -threads 4 -inserts 100 -latm tx : : : isolated_composed_int_lock2_dir_tx_t4_i100 ]
 
             ########### fails all-modes
             # /bin/sh: line 4: 2376 Aborted (core dumped) "bin/using_linkedlist_def_t2_i1000.test/gcc-3.4.4/debug/threading-multi/using_linkedlist_def_t2_i1000.exe" > "bin/using_linkedlist_def_t2_i1000.test/gcc-3.4.4/debug/threading-multi/using_linkedlist_def_t2_i1000.output" 2>&1
@@ -391,6 +328,73 @@
             #assertion "res==0" failed: file "../../../boost/synchro/pthread/mutex.hpp", line 52
             [ run stm : -bench list_hash_w_locks -def -threads 4 -inserts 100 -latm tm : : : list_hash_w_locks_def_tm_t4_i100 ]
 
+ ;
+
+ alias deadlock
+ :
+
+
+ ########### deadlock after 3:14 at 2010/03/14 (blocks bjam)
+ #[ run stm : -bench smart -def -threads 4 -inserts 100 : : : smart_def_t4_i100 ]
+ ########### fails with CHECK all-modes
+ # /bin/sh: line 4: 4072 Aborted (core dumped) "bin/lit_def_t2.test/gcc-3.4.4/debug/threading-multi/lit_def_t2.exe" > "bin/lit_def_t2.test/gcc-3.4.4/debug/threading-multi/lit_def_t2.output" 2>&1
+ ########### deadlock sometimes without CHECK. killed after 0:40. 00% CPU
+ #[ run stm : -bench lit_example -def -threads 2 -inserts 100 -latm full : : : lit_example_def_full_t2_i100 ]
+ ########### fails
+ #[ run stm : -bench lit_example -def -threads 2 -inserts 100 -latm tm : : : lit_example_def_tm_t2_i100 ]
+ ########### fails
+ #[ run stm : -bench lit_example -dir -threads 2 -inserts 100 -latm tm : : : lit_example_dir_tm_t2_i100 ]
+ ;
+
+ alias livelock
+ :
+
+ ########### deadlock. killed after 0:26. 00% CPU all-modes
+ #[ run stm : -bench lot_example -def -threads 2 -inserts 100 -latm full : : : lot_example_def_full_t2_i100 ]
+ ########### deadlock.
+ #[ run stm : -bench lot_example -def -threads 2 -inserts 100 -latm tm : : : lot_example_def_tm_t2_i100 ]
+ ########### deadlock.
+ #[ run stm : -bench lot_example -def -threads 2 -inserts 100 -latm tx : : : lot_example_def_tx_t2_i100 ]
+
+ ########### deadlock
+ #[ run stm : -bench lit_example -def -threads 2 -inserts 100 -latm tx : : : lit_example_def_tx_t2_i100 ]
+
+
+ ########### livelock. killed after 3:50. 50% CPU
+ #[ run stm : -bench nested_tx -def -threads 2 -inserts 100 -latm full : : : nested_tx_def_full_t2_i100 ]
+ ########### livelock
+ #[ run stm : -bench nested_tx -def -threads 2 -inserts 100 -latm tm : : : nested_tx_def_tm_t2_i100 ]
+ ########### livelock
+ #[ run stm : -bench nested_tx -def -threads 2 -inserts 100 -latm tx : : : nested_tx_def_tx_t2_i100 ]
+
+ ########### deadlock 2010/03/14
+ #[ run stm : -bench tx_linear_lock -dir -threads 4 -inserts 100 -latm full : : : tx_linear_lock_dir_full_t4_i100 ]
+
+ ########### deadlock
+ #[ run stm : -bench tx_linear_lock -dir -threads 2 -inserts 100 -latm tx : : : tx_linear_lock_dir_tx_t2_i100 ]
+
+ ########### deadlock. killed after 0:20. 00% CPU all-modes all-modes
+ #[ run stm : -bench isolated_composed_int_lock -dir -threads 2 -inserts 100 -latm full : : : isolated_composed_int_lock_dir_full_t2_i100 ]
+
+ ########### deadlock. killed after 0:20. 00% CPU all-modes
+ #[ run stm : -bench lot_example -dir -threads 2 -inserts 100 -latm full : : : lot_example_dir_full_t2_i100 ]
+ ########### deadlock
+ #[ run stm : -bench lot_example -dir -threads 2 -inserts 100 -latm tm : : : lot_example_dir_tm_t2_i100 ]
+ ########### deadlock
+ #[ run stm : -bench lot_example -dir -threads 2 -inserts 100 -latm tx : : : lot_example_dir_tx_t2_i100 ]
+
+ ########### deadlock. killed after 0:40. 00% CPU all-modes
+ #[ run stm : -bench lit_example -dir -threads 2 -inserts 100 -latm full : : : lit_example_dir_full_t2_i100 ]
+ ########### deadlock
+ #[ run stm : -bench lit_example -dir -threads 2 -inserts 100 -latm tx : : : lit_example_dir_tx_t2_i100 ]
+
+ ########### livelock. killed after 3:00. 50% CPU
+ #[ run stm : -bench nested_tx -dir -threads 2 -inserts 100 -latm full : : : nested_tx_dir_full_t2_i100 ]
+ #[ run stm : -bench nested_tx -dir -threads 2 -inserts 100 -latm tm : : : nested_tx_dir_tm_t2_i100 ]
+ #[ run stm : -bench nested_tx -dir -threads 2 -inserts 100 -latm tx : : : nested_tx_dir_tx_t2_i100 ]
+
+ # deadlock
+ #[ run stm : -bench smart -dir -threads 4 -inserts 100 : : : smart_dir_t4_i100 ]
     ;
 
     exe perf_counter : ../example/counter.cpp ;


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk