--- /dev/null
+make[1]: Entering directory `/home/compudj/doc/userspace-rcu/formal-model/urcu'
+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 -O2 -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 744)
+Depth= 5439 States= 1e+06 Transitions= 1.03e+07 Memory= 527.190 t= 8.16 R= 1e+05
+pan: claim violated! (at depth 1801)
+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 5439, errors: 1
+ 1006552 states, stored
+ 9396280 states, matched
+ 10402832 transitions (= stored+matched)
+ 36844262 atomic steps
+hash conflicts: 1832712 (resolved)
+
+Stats on memory usage (in Megabytes):
+ 80.634 equivalent memory usage for states (stored*(State-vector + overhead))
+ 61.871 actual memory usage for states (compression: 76.73%)
+ state-vector as stored = 36 byte + 28 byte overhead
+ 8.000 memory used for hash table (-w20)
+ 457.764 memory used for DFS stack (-m10000000)
+ 527.580 total actual memory usage
+
+unreached in proctype urcu_reader
+ line 399, "pan.___", state 16, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 48, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 409, "pan.___", state 61, "(1)"
+ line 418, "pan.___", state 91, "(1)"
+ line 399, "pan.___", state 106, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 138, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 409, "pan.___", state 151, "(1)"
+ line 418, "pan.___", state 181, "(1)"
+ line 399, "pan.___", state 197, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 229, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 409, "pan.___", state 242, "(1)"
+ line 418, "pan.___", state 272, "(1)"
+ line 399, "pan.___", state 315, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 347, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 409, "pan.___", state 360, "(1)"
+ line 418, "pan.___", state 390, "(1)"
+ line 540, "pan.___", state 414, "-end-"
+ (17 of 414 states)
+unreached in proctype urcu_writer
+ line 399, "pan.___", state 14, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 399, "pan.___", state 20, "(1)"
+ line 403, "pan.___", state 28, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 403, "pan.___", state 34, "(1)"
+ line 403, "pan.___", state 35, "(1)"
+ line 403, "pan.___", state 35, "(1)"
+ line 401, "pan.___", state 40, "((i<1))"
+ line 401, "pan.___", state 40, "((i>=1))"
+ line 408, "pan.___", state 46, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 409, "pan.___", state 59, "(1)"
+ line 409, "pan.___", state 60, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))"
+ line 409, "pan.___", state 60, "else"
+ line 409, "pan.___", state 63, "(1)"
+ line 409, "pan.___", state 64, "(1)"
+ line 409, "pan.___", state 64, "(1)"
+ line 413, "pan.___", state 72, "(1)"
+ line 413, "pan.___", state 73, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))"
+ line 413, "pan.___", state 73, "else"
+ line 413, "pan.___", state 76, "(1)"
+ line 413, "pan.___", state 77, "(1)"
+ line 413, "pan.___", state 77, "(1)"
+ line 411, "pan.___", state 82, "((i<1))"
+ line 411, "pan.___", state 82, "((i>=1))"
+ line 418, "pan.___", state 89, "(1)"
+ line 418, "pan.___", state 90, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))"
+ line 418, "pan.___", state 90, "else"
+ line 418, "pan.___", state 93, "(1)"
+ line 418, "pan.___", state 94, "(1)"
+ line 418, "pan.___", state 94, "(1)"
+ line 420, "pan.___", state 97, "(1)"
+ line 420, "pan.___", state 97, "(1)"
+ line 369, "pan.___", state 99, "(1)"
+ line 639, "pan.___", state 103, "cached_generation_ptr.val[_pid] = (old_gen+1)"
+ line 637, "pan.___", state 104, "old_gen = cached_generation_ptr.val[_pid]"
+ line 399, "pan.___", state 108, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 399, "pan.___", state 114, "(1)"
+ line 403, "pan.___", state 122, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 403, "pan.___", state 128, "(1)"
+ line 403, "pan.___", state 129, "(1)"
+ line 403, "pan.___", state 129, "(1)"
+ line 409, "pan.___", state 153, "(1)"
+ line 413, "pan.___", state 166, "(1)"
+ line 420, "pan.___", state 191, "(1)"
+ line 420, "pan.___", state 191, "(1)"
+ line 652, "pan.___", state 199, "(1)"
+ line 175, "pan.___", state 208, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 179, "pan.___", state 217, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 175, "pan.___", state 243, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<i)))"
+ line 183, "pan.___", state 265, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<i)))"
+ line 175, "pan.___", state 282, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 179, "pan.___", state 291, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 183, "pan.___", state 304, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 399, "pan.___", state 320, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 403, "pan.___", state 334, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 352, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 409, "pan.___", state 365, "(1)"
+ line 413, "pan.___", state 378, "(1)"
+ line 418, "pan.___", state 395, "(1)"
+ line 399, "pan.___", state 414, "(1)"
+ line 403, "pan.___", state 426, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 444, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 413, "pan.___", state 470, "(1)"
+ line 418, "pan.___", state 487, "(1)"
+ line 403, "pan.___", state 519, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 537, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 413, "pan.___", state 563, "(1)"
+ line 418, "pan.___", state 580, "(1)"
+ line 179, "pan.___", state 603, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 183, "pan.___", state 616, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 175, "pan.___", state 629, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<i)))"
+ line 183, "pan.___", state 651, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<i)))"
+ line 175, "pan.___", state 668, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 179, "pan.___", state 677, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 183, "pan.___", state 690, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 399, "pan.___", state 714, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 399, "pan.___", state 716, "(1)"
+ line 399, "pan.___", state 717, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid)))"
+ line 399, "pan.___", state 717, "else"
+ line 399, "pan.___", state 720, "(1)"
+ line 403, "pan.___", state 728, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 403, "pan.___", state 730, "(1)"
+ line 403, "pan.___", state 731, "((cache_dirty_urcu_active_readers.bitfield&(1<<_pid)))"
+ line 403, "pan.___", state 731, "else"
+ line 403, "pan.___", state 734, "(1)"
+ line 403, "pan.___", state 735, "(1)"
+ line 403, "pan.___", state 735, "(1)"
+ line 401, "pan.___", state 740, "((i<1))"
+ line 401, "pan.___", state 740, "((i>=1))"
+ line 408, "pan.___", state 746, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 409, "pan.___", state 759, "(1)"
+ line 409, "pan.___", state 760, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))"
+ line 409, "pan.___", state 760, "else"
+ line 409, "pan.___", state 763, "(1)"
+ line 409, "pan.___", state 764, "(1)"
+ line 409, "pan.___", state 764, "(1)"
+ line 413, "pan.___", state 772, "(1)"
+ line 413, "pan.___", state 773, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))"
+ line 413, "pan.___", state 773, "else"
+ line 413, "pan.___", state 776, "(1)"
+ line 413, "pan.___", state 777, "(1)"
+ line 413, "pan.___", state 777, "(1)"
+ line 411, "pan.___", state 782, "((i<1))"
+ line 411, "pan.___", state 782, "((i>=1))"
+ line 418, "pan.___", state 789, "(1)"
+ line 418, "pan.___", state 790, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))"
+ line 418, "pan.___", state 790, "else"
+ line 418, "pan.___", state 793, "(1)"
+ line 418, "pan.___", state 794, "(1)"
+ line 418, "pan.___", state 794, "(1)"
+ line 420, "pan.___", state 797, "(1)"
+ line 420, "pan.___", state 797, "(1)"
+ line 403, "pan.___", state 828, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 846, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 413, "pan.___", state 872, "(1)"
+ line 418, "pan.___", state 889, "(1)"
+ line 403, "pan.___", state 918, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 936, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 413, "pan.___", state 962, "(1)"
+ line 418, "pan.___", state 979, "(1)"
+ line 399, "pan.___", state 998, "(1)"
+ line 403, "pan.___", state 1010, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 1028, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 413, "pan.___", state 1054, "(1)"
+ line 418, "pan.___", state 1071, "(1)"
+ line 403, "pan.___", state 1103, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 408, "pan.___", state 1121, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 413, "pan.___", state 1147, "(1)"
+ line 418, "pan.___", state 1164, "(1)"
+ line 179, "pan.___", state 1187, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 183, "pan.___", state 1200, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 175, "pan.___", state 1213, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<i)))"
+ line 183, "pan.___", state 1235, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<i)))"
+ line 175, "pan.___", state 1252, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 179, "pan.___", state 1261, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 183, "pan.___", state 1274, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 399, "pan.___", state 1298, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 399, "pan.___", state 1300, "(1)"
+ line 399, "pan.___", state 1301, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid)))"
+ line 399, "pan.___", state 1301, "else"
+ line 399, "pan.___", state 1304, "(1)"
+ line 403, "pan.___", state 1312, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 403, "pan.___", state 1314, "(1)"
+ line 403, "pan.___", state 1315, "((cache_dirty_urcu_active_readers.bitfield&(1<<_pid)))"
+ line 403, "pan.___", state 1315, "else"
+ line 403, "pan.___", state 1318, "(1)"
+ line 403, "pan.___", state 1319, "(1)"
+ line 403, "pan.___", state 1319, "(1)"
+ line 401, "pan.___", state 1324, "((i<1))"
+ line 401, "pan.___", state 1324, "((i>=1))"
+ line 408, "pan.___", state 1330, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 409, "pan.___", state 1343, "(1)"
+ line 409, "pan.___", state 1344, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<_pid))))"
+ line 409, "pan.___", state 1344, "else"
+ line 409, "pan.___", state 1347, "(1)"
+ line 409, "pan.___", state 1348, "(1)"
+ line 409, "pan.___", state 1348, "(1)"
+ line 413, "pan.___", state 1356, "(1)"
+ line 413, "pan.___", state 1357, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<_pid))))"
+ line 413, "pan.___", state 1357, "else"
+ line 413, "pan.___", state 1360, "(1)"
+ line 413, "pan.___", state 1361, "(1)"
+ line 413, "pan.___", state 1361, "(1)"
+ line 411, "pan.___", state 1366, "((i<1))"
+ line 411, "pan.___", state 1366, "((i>=1))"
+ line 418, "pan.___", state 1373, "(1)"
+ line 418, "pan.___", state 1374, "(!((cache_dirty_generation_ptr.bitfield&(1<<_pid))))"
+ line 418, "pan.___", state 1374, "else"
+ line 418, "pan.___", state 1377, "(1)"
+ line 418, "pan.___", state 1378, "(1)"
+ line 418, "pan.___", state 1378, "(1)"
+ line 420, "pan.___", state 1381, "(1)"
+ line 420, "pan.___", state 1381, "(1)"
+ line 179, "pan.___", state 1406, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 183, "pan.___", state 1419, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 175, "pan.___", state 1432, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<i)))"
+ line 183, "pan.___", state 1454, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<i)))"
+ line 175, "pan.___", state 1471, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<_pid)))"
+ line 179, "pan.___", state 1480, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<_pid)))"
+ line 183, "pan.___", state 1493, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<_pid)))"
+ line 702, "pan.___", state 1520, "-end-"
+ (144 of 1520 states)
+unreached in proctype :init:
+ line 709, "pan.___", state 9, "((j<2))"
+ line 709, "pan.___", state 9, "((j>=2))"
+ line 710, "pan.___", state 20, "((j<2))"
+ line 710, "pan.___", state 20, "((j>=2))"
+ line 715, "pan.___", state 33, "((j<2))"
+ line 715, "pan.___", state 33, "((j>=2))"
+ (3 of 46 states)
+unreached in proctype :never:
+ line 749, "pan.___", state 8, "-end-"
+ (1 of 8 states)
+
+pan: elapsed time 8.24 seconds
+pan: rate 122154.37 states/second
+pan: avg transition delay 7.9209e-07 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'