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_wmb.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) pan: claim violated! (at depth 1889) 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 6646, errors: 1 377244 states, stored 5291719 states, matched 5668963 transitions (= stored+matched) 20822372 atomic steps hash conflicts: 405371 (resolved) Stats on memory usage (in Megabytes): 30.221 equivalent memory usage for states (stored*(State-vector + overhead)) 23.526 actual memory usage for states (compression: 77.85%) 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) 489.201 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 144, "pan.___", state 290, "(1)" line 148, "pan.___", state 298, "(1)" line 148, "pan.___", state 299, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" line 148, "pan.___", state 299, "else" line 146, "pan.___", state 304, "((j<1))" line 146, "pan.___", state 304, "((j>=1))" line 152, "pan.___", state 310, "(1)" line 152, "pan.___", state 311, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" line 152, "pan.___", state 311, "else" line 186, "pan.___", state 316, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" line 186, "pan.___", state 316, "else" line 144, "pan.___", state 322, "(1)" line 148, "pan.___", state 330, "(1)" line 148, "pan.___", state 331, "(!((cache_dirty_urcu_active_readers.bitfield&(1<=1))" line 152, "pan.___", state 342, "(1)" line 152, "pan.___", state 343, "(!((cache_dirty_generation_ptr.bitfield&(1<=1))" line 144, "pan.___", state 358, "(1)" line 148, "pan.___", state 366, "(1)" line 148, "pan.___", state 367, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" line 148, "pan.___", state 367, "else" line 146, "pan.___", state 372, "((j<1))" line 146, "pan.___", state 372, "((j>=1))" line 152, "pan.___", state 378, "(1)" line 152, "pan.___", state 379, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" line 152, "pan.___", state 379, "else" line 186, "pan.___", state 384, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" line 186, "pan.___", state 384, "else" line 289, "pan.___", state 399, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" line 293, "pan.___", state 415, "(1)" line 298, "pan.___", state 431, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 299, "pan.___", state 444, "(1)" line 308, "pan.___", state 474, "(1)" line 289, "pan.___", state 487, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" line 298, "pan.___", state 519, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 299, "pan.___", state 532, "(1)" line 308, "pan.___", state 562, "(1)" line 289, "pan.___", state 575, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" line 298, "pan.___", state 607, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 299, "pan.___", state 620, "(1)" line 308, "pan.___", state 650, "(1)" line 144, "pan.___", state 666, "(1)" line 148, "pan.___", state 674, "(1)" line 148, "pan.___", state 675, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" line 148, "pan.___", state 675, "else" line 146, "pan.___", state 680, "((j<1))" line 146, "pan.___", state 680, "((j>=1))" line 152, "pan.___", state 686, "(1)" line 152, "pan.___", state 687, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" line 152, "pan.___", state 687, "else" line 186, "pan.___", state 692, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" line 186, "pan.___", state 692, "else" line 144, "pan.___", state 698, "(1)" line 148, "pan.___", state 706, "(1)" line 148, "pan.___", state 707, "(!((cache_dirty_urcu_active_readers.bitfield&(1<=1))" line 152, "pan.___", state 718, "(1)" line 152, "pan.___", state 719, "(!((cache_dirty_generation_ptr.bitfield&(1<=1))" line 144, "pan.___", state 734, "(1)" line 148, "pan.___", state 742, "(1)" line 148, "pan.___", state 743, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" line 148, "pan.___", state 743, "else" line 146, "pan.___", state 748, "((j<1))" line 146, "pan.___", state 748, "((j>=1))" line 152, "pan.___", state 754, "(1)" line 152, "pan.___", state 755, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" line 152, "pan.___", state 755, "else" line 186, "pan.___", state 760, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" line 186, "pan.___", state 760, "else" line 289, "pan.___", state 770, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" line 298, "pan.___", state 802, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 299, "pan.___", state 815, "(1)" line 308, "pan.___", state 845, "(1)" line 289, "pan.___", state 866, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" line 293, "pan.___", state 882, "(1)" line 298, "pan.___", state 898, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 299, "pan.___", state 911, "(1)" line 308, "pan.___", state 941, "(1)" line 434, "pan.___", state 954, "-end-" (79 of 954 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 291, "pan.___", state 132, "((i<1))" line 291, "pan.___", state 132, "((i>=1))" line 299, "pan.___", state 151, "(1)" line 299, "pan.___", state 152, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" line 299, "pan.___", state 152, "else" line 299, "pan.___", state 155, "(1)" line 299, "pan.___", state 156, "(1)" line 299, "pan.___", state 156, "(1)" line 303, "pan.___", state 164, "(1)" line 303, "pan.___", state 165, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" line 303, "pan.___", state 165, "else" line 303, "pan.___", state 168, "(1)" line 303, "pan.___", state 169, "(1)" line 303, "pan.___", state 169, "(1)" line 301, "pan.___", state 174, "((i<1))" line 301, "pan.___", state 174, "((i>=1))" line 308, "pan.___", state 181, "(1)" line 308, "pan.___", state 182, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" line 308, "pan.___", state 182, "else" line 308, "pan.___", state 185, "(1)" line 308, "pan.___", state 186, "(1)" line 308, "pan.___", state 186, "(1)" line 310, "pan.___", state 189, "(1)" line 310, "pan.___", state 189, "(1)" line 468, "pan.___", state 195, "(1)" line 462, "pan.___", state 198, "((write_lock==0))" line 462, "pan.___", state 198, "else" line 460, "pan.___", state 199, "(1)" line 144, "pan.___", state 206, "(1)" line 148, "pan.___", state 214, "(1)" line 148, "pan.___", state 215, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" line 148, "pan.___", state 215, "else" line 146, "pan.___", state 220, "((j<1))" line 146, "pan.___", state 220, "((j>=1))" line 152, "pan.___", state 226, "(1)" line 152, "pan.___", state 227, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" line 152, "pan.___", state 227, "else" line 186, "pan.___", state 232, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" line 186, "pan.___", state 232, "else" line 144, "pan.___", state 238, "(1)" line 152, "pan.___", state 258, "(1)" line 144, "pan.___", state 274, "(1)" line 148, "pan.___", state 282, "(1)" line 152, "pan.___", state 294, "(1)" line 289, "pan.___", state 310, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" line 293, "pan.___", state 324, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" line 298, "pan.___", state 342, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 299, "pan.___", state 355, "(1)" line 303, "pan.___", state 368, "(1)" line 308, "pan.___", state 385, "(1)" line 289, "pan.___", state 402, "(1)" line 293, "pan.___", state 414, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" line 298, "pan.___", state 432, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 303, "pan.___", state 458, "(1)" line 308, "pan.___", state 475, "(1)" line 293, "pan.___", state 505, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" line 298, "pan.___", state 523, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 303, "pan.___", state 549, "(1)" line 308, "pan.___", state 566, "(1)" line 148, "pan.___", state 588, "(1)" line 152, "pan.___", state 600, "(1)" line 144, "pan.___", state 612, "(1)" line 152, "pan.___", state 632, "(1)" line 148, "pan.___", state 656, "(1)" line 152, "pan.___", state 668, "(1)" line 289, "pan.___", state 692, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" line 289, "pan.___", state 694, "(1)" line 289, "pan.___", state 695, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid)))" line 289, "pan.___", state 695, "else" line 289, "pan.___", state 698, "(1)" line 293, "pan.___", state 706, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" line 293, "pan.___", state 708, "(1)" line 293, "pan.___", state 709, "((cache_dirty_urcu_active_readers.bitfield&(1<<_pid)))" line 293, "pan.___", state 709, "else" line 293, "pan.___", state 712, "(1)" line 293, "pan.___", state 713, "(1)" line 293, "pan.___", state 713, "(1)" line 291, "pan.___", state 718, "((i<1))" line 291, "pan.___", state 718, "((i>=1))" line 298, "pan.___", state 724, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 299, "pan.___", state 737, "(1)" line 299, "pan.___", state 738, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" line 299, "pan.___", state 738, "else" line 299, "pan.___", state 741, "(1)" line 299, "pan.___", state 742, "(1)" line 299, "pan.___", state 742, "(1)" line 303, "pan.___", state 750, "(1)" line 303, "pan.___", state 751, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" line 303, "pan.___", state 751, "else" line 303, "pan.___", state 754, "(1)" line 303, "pan.___", state 755, "(1)" line 303, "pan.___", state 755, "(1)" line 301, "pan.___", state 760, "((i<1))" line 301, "pan.___", state 760, "((i>=1))" line 308, "pan.___", state 767, "(1)" line 308, "pan.___", state 768, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" line 308, "pan.___", state 768, "else" line 308, "pan.___", state 771, "(1)" line 308, "pan.___", state 772, "(1)" line 308, "pan.___", state 772, "(1)" line 310, "pan.___", state 775, "(1)" line 310, "pan.___", state 775, "(1)" line 293, "pan.___", state 804, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" line 298, "pan.___", state 822, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 303, "pan.___", state 848, "(1)" line 308, "pan.___", state 865, "(1)" line 293, "pan.___", state 892, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" line 298, "pan.___", state 910, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 303, "pan.___", state 936, "(1)" line 308, "pan.___", state 953, "(1)" line 289, "pan.___", state 970, "(1)" line 293, "pan.___", state 982, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" line 298, "pan.___", state 1000, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 303, "pan.___", state 1026, "(1)" line 308, "pan.___", state 1043, "(1)" line 293, "pan.___", state 1073, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" line 298, "pan.___", state 1091, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 303, "pan.___", state 1117, "(1)" line 308, "pan.___", state 1134, "(1)" line 148, "pan.___", state 1156, "(1)" line 152, "pan.___", state 1168, "(1)" line 144, "pan.___", state 1180, "(1)" line 152, "pan.___", state 1200, "(1)" line 148, "pan.___", state 1224, "(1)" line 152, "pan.___", state 1236, "(1)" line 289, "pan.___", state 1260, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))" line 289, "pan.___", state 1262, "(1)" line 289, "pan.___", state 1263, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid)))" line 289, "pan.___", state 1263, "else" line 289, "pan.___", state 1266, "(1)" line 293, "pan.___", state 1274, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))" line 293, "pan.___", state 1276, "(1)" line 293, "pan.___", state 1277, "((cache_dirty_urcu_active_readers.bitfield&(1<<_pid)))" line 293, "pan.___", state 1277, "else" line 293, "pan.___", state 1280, "(1)" line 293, "pan.___", state 1281, "(1)" line 293, "pan.___", state 1281, "(1)" line 291, "pan.___", state 1286, "((i<1))" line 291, "pan.___", state 1286, "((i>=1))" line 298, "pan.___", state 1292, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))" line 299, "pan.___", state 1305, "(1)" line 299, "pan.___", state 1306, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))" line 299, "pan.___", state 1306, "else" line 299, "pan.___", state 1309, "(1)" line 299, "pan.___", state 1310, "(1)" line 299, "pan.___", state 1310, "(1)" line 303, "pan.___", state 1318, "(1)" line 303, "pan.___", state 1319, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))" line 303, "pan.___", state 1319, "else" line 303, "pan.___", state 1322, "(1)" line 303, "pan.___", state 1323, "(1)" line 303, "pan.___", state 1323, "(1)" line 301, "pan.___", state 1328, "((i<1))" line 301, "pan.___", state 1328, "((i>=1))" line 308, "pan.___", state 1335, "(1)" line 308, "pan.___", state 1336, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))" line 308, "pan.___", state 1336, "else" line 308, "pan.___", state 1339, "(1)" line 308, "pan.___", state 1340, "(1)" line 308, "pan.___", state 1340, "(1)" line 310, "pan.___", state 1343, "(1)" line 310, "pan.___", state 1343, "(1)" line 148, "pan.___", state 1367, "(1)" line 152, "pan.___", state 1379, "(1)" line 144, "pan.___", state 1391, "(1)" line 152, "pan.___", state 1411, "(1)" line 148, "pan.___", state 1435, "(1)" line 152, "pan.___", state 1447, "(1)" line 511, "pan.___", state 1473, "-end-" (159 of 1473 states) unreached in proctype :init: line 518, "pan.___", state 9, "((j<2))" line 518, "pan.___", state 9, "((j>=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 10.4 seconds pan: rate 36378.399 states/second pan: avg transition delay 1.8293e-06 usec cp .input.spin urcu_free_no_wmb.spin.input cp .input.spin.trail urcu_free_no_wmb.spin.input.trail make[1]: Leaving directory `/home/compudj/doc/userspace-rcu/formal-model/urcu/testmerge'