X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=formal-model%2Furcu%2Fresult-signal-over-writer%2Ftestmerge%2Furcu_free_no_rmb.log;fp=formal-model%2Furcu%2Fresult-signal-over-writer%2Ftestmerge%2Furcu_free_no_rmb.log;h=6a46f80a3a7a8c6276b50cff3ac4ec9e6745889f;hb=8baf2c9506f8e4bbac913c7ea2a8b2e9a3cd0932;hp=0000000000000000000000000000000000000000;hpb=fa5b67244cb2c3733d2c0195d3ad239d97ec2dc3;p=urcu.git diff --git a/formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_rmb.log b/formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_rmb.log new file mode 100644 index 0000000..6a46f80 --- /dev/null +++ b/formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_rmb.log @@ -0,0 +1,369 @@ +make[1]: Entering directory `/home/compudj/doc/userspace-rcu/formal-model/urcu/testmerge' +rm -f pan* trail.out .input.spin* *.spin.trail .input.define +touch .input.define +cat .input.define >> pan.ltl +cat DEFINES >> pan.ltl +spin -f "!(`cat urcu_free.ltl | grep -v ^//`)" >> pan.ltl +cp urcu_free_no_rmb.define .input.define +cat .input.define > .input.spin +cat DEFINES >> .input.spin +cat urcu.spin >> .input.spin +rm -f .input.spin.trail +spin -a -X -N pan.ltl .input.spin +Exit-Status 0 +gcc -w -DHASH64 -o pan pan.c +./pan -a -v -c1 -X -m10000000 -w20 +warning: for p.o. reduction to be valid the never claim must be stutter-invariant +(never claims generated from LTL formulae are stutter-invariant) +depth 0: Claim reached state 5 (line 567) +Depth= 5645 States= 1e+06 Transitions= 1.47e+07 Memory= 527.287 t= 27.1 R= 4e+04 +pan: claim violated! (at depth 1736) +pan: wrote .input.spin.trail + +(Spin Version 5.1.7 -- 23 December 2008) +Warning: Search not completed + + Partial Order Reduction + +Full statespace search for: + never claim + + assertion violations + (if within scope of claim) + acceptance cycles + (fairness disabled) + invalid end states - (disabled by never claim) + +State-vector 56 byte, depth reached 5645, errors: 1 + 1039881 states, stored + 14441478 states, matched + 15481359 transitions (= stored+matched) + 57000435 atomic steps +hash conflicts: 2892596 (resolved) + +Stats on memory usage (in Megabytes): + 83.303 equivalent memory usage for states (stored*(State-vector + overhead)) + 64.050 actual memory usage for states (compression: 76.89%) + state-vector as stored = 37 byte + 28 byte overhead + 8.000 memory used for hash table (-w20) + 457.764 memory used for DFS stack (-m10000000) + 529.729 total actual memory usage + +unreached in proctype urcu_reader + line 289, "pan.___", state 16, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 48, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 61, "(1)" + line 308, "pan.___", state 91, "(1)" + line 289, "pan.___", state 104, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 136, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 149, "(1)" + line 308, "pan.___", state 179, "(1)" + line 289, "pan.___", state 193, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 225, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 238, "(1)" + line 308, "pan.___", state 268, "(1)" + line 159, "pan.___", state 289, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 159, "pan.___", state 291, "(1)" + line 163, "pan.___", state 298, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 163, "pan.___", state 300, "(1)" + line 163, "pan.___", state 301, "((cache_dirty_urcu_active_readers.bitfield&(1<<_pid)))" + line 163, "pan.___", state 301, "else" + line 161, "pan.___", state 306, "((j<1))" + line 161, "pan.___", state 306, "((j>=1))" + line 167, "pan.___", state 311, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 167, "pan.___", state 313, "(1)" + line 167, "pan.___", state 314, "((cache_dirty_generation_ptr.bitfield&(1<<_pid)))" + line 167, "pan.___", state 314, "else" + line 177, "pan.___", state 319, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid)))" + line 177, "pan.___", state 319, "else" + line 159, "pan.___", state 324, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<=1))" + line 167, "pan.___", state 346, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<=1))" + line 159, "pan.___", state 363, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 159, "pan.___", state 365, "(1)" + line 163, "pan.___", state 372, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 163, "pan.___", state 374, "(1)" + line 163, "pan.___", state 375, "((cache_dirty_urcu_active_readers.bitfield&(1<<_pid)))" + line 163, "pan.___", state 375, "else" + line 161, "pan.___", state 380, "((j<1))" + line 161, "pan.___", state 380, "((j>=1))" + line 167, "pan.___", state 385, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 167, "pan.___", state 387, "(1)" + line 167, "pan.___", state 388, "((cache_dirty_generation_ptr.bitfield&(1<<_pid)))" + line 167, "pan.___", state 388, "else" + line 177, "pan.___", state 393, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid)))" + line 177, "pan.___", state 393, "else" + line 289, "pan.___", state 408, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 440, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 453, "(1)" + line 308, "pan.___", state 483, "(1)" + line 289, "pan.___", state 496, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 528, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 541, "(1)" + line 308, "pan.___", state 571, "(1)" + line 289, "pan.___", state 584, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 616, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 629, "(1)" + line 308, "pan.___", state 659, "(1)" + line 159, "pan.___", state 674, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 159, "pan.___", state 676, "(1)" + line 163, "pan.___", state 683, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 163, "pan.___", state 685, "(1)" + line 163, "pan.___", state 686, "((cache_dirty_urcu_active_readers.bitfield&(1<<_pid)))" + line 163, "pan.___", state 686, "else" + line 161, "pan.___", state 691, "((j<1))" + line 161, "pan.___", state 691, "((j>=1))" + line 167, "pan.___", state 696, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 167, "pan.___", state 698, "(1)" + line 167, "pan.___", state 699, "((cache_dirty_generation_ptr.bitfield&(1<<_pid)))" + line 167, "pan.___", state 699, "else" + line 177, "pan.___", state 704, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid)))" + line 177, "pan.___", state 704, "else" + line 159, "pan.___", state 709, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<=1))" + line 167, "pan.___", state 731, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<=1))" + line 159, "pan.___", state 748, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 159, "pan.___", state 750, "(1)" + line 163, "pan.___", state 757, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 163, "pan.___", state 759, "(1)" + line 163, "pan.___", state 760, "((cache_dirty_urcu_active_readers.bitfield&(1<<_pid)))" + line 163, "pan.___", state 760, "else" + line 161, "pan.___", state 765, "((j<1))" + line 161, "pan.___", state 765, "((j>=1))" + line 167, "pan.___", state 770, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 167, "pan.___", state 772, "(1)" + line 167, "pan.___", state 773, "((cache_dirty_generation_ptr.bitfield&(1<<_pid)))" + line 167, "pan.___", state 773, "else" + line 177, "pan.___", state 778, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid)))" + line 177, "pan.___", state 778, "else" + line 289, "pan.___", state 788, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 820, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 833, "(1)" + line 308, "pan.___", state 863, "(1)" + line 289, "pan.___", state 884, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 916, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 929, "(1)" + line 308, "pan.___", state 959, "(1)" + line 434, "pan.___", state 972, "-end-" + (95 of 972 states) +unreached in proctype urcu_writer + line 289, "pan.___", state 14, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 289, "pan.___", state 20, "(1)" + line 293, "pan.___", state 28, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 293, "pan.___", state 34, "(1)" + line 293, "pan.___", state 35, "(1)" + line 293, "pan.___", state 35, "(1)" + line 291, "pan.___", state 40, "((i<1))" + line 291, "pan.___", state 40, "((i>=1))" + line 298, "pan.___", state 46, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 59, "(1)" + line 299, "pan.___", state 60, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" + line 299, "pan.___", state 60, "else" + line 299, "pan.___", state 63, "(1)" + line 299, "pan.___", state 64, "(1)" + line 299, "pan.___", state 64, "(1)" + line 303, "pan.___", state 72, "(1)" + line 303, "pan.___", state 73, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" + line 303, "pan.___", state 73, "else" + line 303, "pan.___", state 76, "(1)" + line 303, "pan.___", state 77, "(1)" + line 303, "pan.___", state 77, "(1)" + line 301, "pan.___", state 82, "((i<1))" + line 301, "pan.___", state 82, "((i>=1))" + line 308, "pan.___", state 89, "(1)" + line 308, "pan.___", state 90, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" + line 308, "pan.___", state 90, "else" + line 308, "pan.___", state 93, "(1)" + line 308, "pan.___", state 94, "(1)" + line 308, "pan.___", state 94, "(1)" + line 310, "pan.___", state 97, "(1)" + line 310, "pan.___", state 97, "(1)" + line 456, "pan.___", state 101, "cached_generation_ptr.val[_pid] = (old_gen+1)" + line 454, "pan.___", state 102, "old_gen = cached_generation_ptr.val[_pid]" + line 289, "pan.___", state 106, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 289, "pan.___", state 112, "(1)" + line 293, "pan.___", state 120, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 293, "pan.___", state 126, "(1)" + line 293, "pan.___", state 127, "(1)" + line 293, "pan.___", state 127, "(1)" + line 299, "pan.___", state 151, "(1)" + line 303, "pan.___", state 164, "(1)" + line 310, "pan.___", state 189, "(1)" + line 310, "pan.___", state 189, "(1)" + line 468, "pan.___", state 195, "(1)" + line 159, "pan.___", state 205, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" + line 163, "pan.___", state 214, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 159, "pan.___", state 240, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<=1))" + line 298, "pan.___", state 742, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 755, "(1)" + line 299, "pan.___", state 756, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" + line 299, "pan.___", state 756, "else" + line 299, "pan.___", state 759, "(1)" + line 299, "pan.___", state 760, "(1)" + line 299, "pan.___", state 760, "(1)" + line 303, "pan.___", state 768, "(1)" + line 303, "pan.___", state 769, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" + line 303, "pan.___", state 769, "else" + line 303, "pan.___", state 772, "(1)" + line 303, "pan.___", state 773, "(1)" + line 303, "pan.___", state 773, "(1)" + line 301, "pan.___", state 778, "((i<1))" + line 301, "pan.___", state 778, "((i>=1))" + line 308, "pan.___", state 785, "(1)" + line 308, "pan.___", state 786, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" + line 308, "pan.___", state 786, "else" + line 308, "pan.___", state 789, "(1)" + line 308, "pan.___", state 790, "(1)" + line 308, "pan.___", state 790, "(1)" + line 310, "pan.___", state 793, "(1)" + line 310, "pan.___", state 793, "(1)" + line 293, "pan.___", state 822, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 840, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 303, "pan.___", state 866, "(1)" + line 308, "pan.___", state 883, "(1)" + line 293, "pan.___", state 910, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 928, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 303, "pan.___", state 954, "(1)" + line 308, "pan.___", state 971, "(1)" + line 289, "pan.___", state 988, "(1)" + line 293, "pan.___", state 1000, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 1018, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 303, "pan.___", state 1044, "(1)" + line 308, "pan.___", state 1061, "(1)" + line 293, "pan.___", state 1091, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 298, "pan.___", state 1109, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 303, "pan.___", state 1135, "(1)" + line 308, "pan.___", state 1152, "(1)" + line 163, "pan.___", state 1174, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 167, "pan.___", state 1187, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 159, "pan.___", state 1200, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<=1))" + line 298, "pan.___", state 1319, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 299, "pan.___", state 1332, "(1)" + line 299, "pan.___", state 1333, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" + line 299, "pan.___", state 1333, "else" + line 299, "pan.___", state 1336, "(1)" + line 299, "pan.___", state 1337, "(1)" + line 299, "pan.___", state 1337, "(1)" + line 303, "pan.___", state 1345, "(1)" + line 303, "pan.___", state 1346, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" + line 303, "pan.___", state 1346, "else" + line 303, "pan.___", state 1349, "(1)" + line 303, "pan.___", state 1350, "(1)" + line 303, "pan.___", state 1350, "(1)" + line 301, "pan.___", state 1355, "((i<1))" + line 301, "pan.___", state 1355, "((i>=1))" + line 308, "pan.___", state 1362, "(1)" + line 308, "pan.___", state 1363, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" + line 308, "pan.___", state 1363, "else" + line 308, "pan.___", state 1366, "(1)" + line 308, "pan.___", state 1367, "(1)" + line 308, "pan.___", state 1367, "(1)" + line 310, "pan.___", state 1370, "(1)" + line 310, "pan.___", state 1370, "(1)" + line 163, "pan.___", state 1394, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" + line 167, "pan.___", state 1407, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" + line 159, "pan.___", state 1420, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<=2))" + line 519, "pan.___", state 20, "((j<2))" + line 519, "pan.___", state 20, "((j>=2))" + line 524, "pan.___", state 33, "((j<2))" + line 524, "pan.___", state 33, "((j>=2))" + (3 of 46 states) +unreached in proctype :never: + line 572, "pan.___", state 8, "-end-" + (1 of 8 states) + +pan: elapsed time 28.5 seconds +pan: rate 36487.053 states/second +pan: avg transition delay 1.8409e-06 usec +cp .input.spin urcu_free_no_rmb.spin.input +cp .input.spin.trail urcu_free_no_rmb.spin.input.trail +make[1]: Leaving directory `/home/compudj/doc/userspace-rcu/formal-model/urcu/testmerge'