|
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