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_mb.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 743) (Spin Version 5.1.7 -- 23 December 2008) + 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 72 byte, depth reached 10856, errors: 0 161519 states, stored 1724866 states, matched 1886385 transitions (= stored+matched) 6692565 atomic steps hash conflicts: 84009 (resolved) Stats on memory usage (in Megabytes): 15.404 equivalent memory usage for states (stored*(State-vector + overhead)) 10.421 actual memory usage for states (compression: 67.65%) state-vector as stored = 40 byte + 28 byte overhead 8.000 memory used for hash table (-w20) 457.764 memory used for DFS stack (-m10000000) 476.115 total actual memory usage unreached in proctype urcu_reader_sig line 403, "pan.___", state 330, "(1)" line 614, "pan.___", state 411, "-end-" (2 of 411 states) unreached in proctype urcu_writer line 652, "pan.___", state 213, "(1)" line 403, "pan.___", state 239, "(1)" line 403, "pan.___", state 525, "(1)" line 399, "pan.___", state 610, "(1)" line 403, "pan.___", state 624, "(1)" line 403, "pan.___", state 724, "(1)" line 399, "pan.___", state 805, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<0)))" line 399, "pan.___", state 807, "(1)" line 399, "pan.___", state 808, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<0)))" line 399, "pan.___", state 808, "else" line 399, "pan.___", state 811, "(1)" line 403, "pan.___", state 819, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<0)))" line 403, "pan.___", state 821, "(1)" line 403, "pan.___", state 822, "((cache_dirty_urcu_active_readers.bitfield&(1<<0)))" line 403, "pan.___", state 822, "else" line 403, "pan.___", state 825, "(1)" line 403, "pan.___", state 826, "(1)" line 403, "pan.___", state 826, "(1)" line 401, "pan.___", state 831, "((j<1))" line 401, "pan.___", state 831, "((j>=1))" line 408, "pan.___", state 837, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<0)))" line 409, "pan.___", state 850, "(1)" line 409, "pan.___", state 851, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<0))))" line 409, "pan.___", state 851, "else" line 409, "pan.___", state 854, "(1)" line 409, "pan.___", state 855, "(1)" line 409, "pan.___", state 855, "(1)" line 413, "pan.___", state 863, "(1)" line 413, "pan.___", state 864, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<0))))" line 413, "pan.___", state 864, "else" line 413, "pan.___", state 867, "(1)" line 413, "pan.___", state 868, "(1)" line 413, "pan.___", state 868, "(1)" line 411, "pan.___", state 873, "((j<1))" line 411, "pan.___", state 873, "((j>=1))" line 418, "pan.___", state 880, "(1)" line 418, "pan.___", state 881, "(!((cache_dirty_generation_ptr.bitfield&(1<<0))))" line 418, "pan.___", state 881, "else" line 418, "pan.___", state 884, "(1)" line 418, "pan.___", state 885, "(1)" line 418, "pan.___", state 885, "(1)" line 399, "pan.___", state 896, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<0)))" line 399, "pan.___", state 898, "(1)" line 399, "pan.___", state 899, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<0)))" line 399, "pan.___", state 899, "else" line 399, "pan.___", state 902, "(1)" line 403, "pan.___", state 910, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<0)))" line 403, "pan.___", state 912, "(1)" line 403, "pan.___", state 913, "((cache_dirty_urcu_active_readers.bitfield&(1<<0)))" line 403, "pan.___", state 913, "else" line 403, "pan.___", state 916, "(1)" line 403, "pan.___", state 917, "(1)" line 403, "pan.___", state 917, "(1)" line 401, "pan.___", state 922, "((j<1))" line 401, "pan.___", state 922, "((j>=1))" line 408, "pan.___", state 928, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<0)))" line 409, "pan.___", state 941, "(1)" line 409, "pan.___", state 942, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<0))))" line 409, "pan.___", state 942, "else" line 409, "pan.___", state 945, "(1)" line 409, "pan.___", state 946, "(1)" line 409, "pan.___", state 946, "(1)" line 413, "pan.___", state 954, "(1)" line 413, "pan.___", state 955, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<0))))" line 413, "pan.___", state 955, "else" line 413, "pan.___", state 958, "(1)" line 413, "pan.___", state 959, "(1)" line 413, "pan.___", state 959, "(1)" line 411, "pan.___", state 964, "((j<1))" line 411, "pan.___", state 964, "((j>=1))" line 418, "pan.___", state 971, "(1)" line 418, "pan.___", state 972, "(!((cache_dirty_generation_ptr.bitfield&(1<<0))))" line 418, "pan.___", state 972, "else" line 418, "pan.___", state 975, "(1)" line 418, "pan.___", state 976, "(1)" line 418, "pan.___", state 976, "(1)" line 194, "pan.___", state 981, "(1)" line 194, "pan.___", state 981, "(1)" line 214, "pan.___", state 985, "((i<1))" line 214, "pan.___", state 985, "((i>=1))" line 399, "pan.___", state 991, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<0)))" line 399, "pan.___", state 993, "(1)" line 399, "pan.___", state 994, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<0)))" line 399, "pan.___", state 994, "else" line 399, "pan.___", state 997, "(1)" line 403, "pan.___", state 1005, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<0)))" line 403, "pan.___", state 1007, "(1)" line 403, "pan.___", state 1008, "((cache_dirty_urcu_active_readers.bitfield&(1<<0)))" line 403, "pan.___", state 1008, "else" line 403, "pan.___", state 1011, "(1)" line 403, "pan.___", state 1012, "(1)" line 403, "pan.___", state 1012, "(1)" line 401, "pan.___", state 1017, "((j<1))" line 401, "pan.___", state 1017, "((j>=1))" line 408, "pan.___", state 1023, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<0)))" line 409, "pan.___", state 1036, "(1)" line 409, "pan.___", state 1037, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<0))))" line 409, "pan.___", state 1037, "else" line 409, "pan.___", state 1040, "(1)" line 409, "pan.___", state 1041, "(1)" line 409, "pan.___", state 1041, "(1)" line 413, "pan.___", state 1049, "(1)" line 413, "pan.___", state 1050, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<0))))" line 413, "pan.___", state 1050, "else" line 413, "pan.___", state 1053, "(1)" line 413, "pan.___", state 1054, "(1)" line 413, "pan.___", state 1054, "(1)" line 411, "pan.___", state 1059, "((j<1))" line 411, "pan.___", state 1059, "((j>=1))" line 418, "pan.___", state 1066, "(1)" line 418, "pan.___", state 1067, "(!((cache_dirty_generation_ptr.bitfield&(1<<0))))" line 418, "pan.___", state 1067, "else" line 418, "pan.___", state 1070, "(1)" line 418, "pan.___", state 1071, "(1)" line 418, "pan.___", state 1071, "(1)" line 194, "pan.___", state 1076, "(1)" line 194, "pan.___", state 1076, "(1)" line 221, "pan.___", state 1077, "(1)" line 221, "pan.___", state 1077, "(1)" line 356, "pan.___", state 1083, "((sighand_exec==1))" line 356, "pan.___", state 1083, "else" line 362, "pan.___", state 1086, "sighand_exec = 1" line 399, "pan.___", state 1099, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<0)))" line 399, "pan.___", state 1101, "(1)" line 399, "pan.___", state 1102, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<0)))" line 399, "pan.___", state 1102, "else" line 399, "pan.___", state 1105, "(1)" line 403, "pan.___", state 1113, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<0)))" line 403, "pan.___", state 1115, "(1)" line 403, "pan.___", state 1116, "((cache_dirty_urcu_active_readers.bitfield&(1<<0)))" line 403, "pan.___", state 1116, "else" line 403, "pan.___", state 1119, "(1)" line 403, "pan.___", state 1120, "(1)" line 403, "pan.___", state 1120, "(1)" line 401, "pan.___", state 1125, "((i<1))" line 401, "pan.___", state 1125, "((i>=1))" line 408, "pan.___", state 1131, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<0)))" line 409, "pan.___", state 1144, "(1)" line 409, "pan.___", state 1145, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<0))))" line 409, "pan.___", state 1145, "else" line 409, "pan.___", state 1148, "(1)" line 409, "pan.___", state 1149, "(1)" line 409, "pan.___", state 1149, "(1)" line 413, "pan.___", state 1157, "(1)" line 413, "pan.___", state 1158, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<0))))" line 413, "pan.___", state 1158, "else" line 413, "pan.___", state 1161, "(1)" line 413, "pan.___", state 1162, "(1)" line 413, "pan.___", state 1162, "(1)" line 411, "pan.___", state 1167, "((i<1))" line 411, "pan.___", state 1167, "((i>=1))" line 418, "pan.___", state 1174, "(1)" line 418, "pan.___", state 1175, "(!((cache_dirty_generation_ptr.bitfield&(1<<0))))" line 418, "pan.___", state 1175, "else" line 418, "pan.___", state 1178, "(1)" line 418, "pan.___", state 1179, "(1)" line 418, "pan.___", state 1179, "(1)" line 420, "pan.___", state 1182, "(1)" line 420, "pan.___", state 1182, "(1)" line 362, "pan.___", state 1191, "sighand_exec = 1" line 403, "pan.___", state 1222, "(1)" line 403, "pan.___", state 1319, "(1)" line 399, "pan.___", state 1404, "(1)" line 403, "pan.___", state 1418, "(1)" line 403, "pan.___", state 1518, "(1)" line 399, "pan.___", state 1599, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<0)))" line 399, "pan.___", state 1601, "(1)" line 399, "pan.___", state 1602, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<0)))" line 399, "pan.___", state 1602, "else" line 399, "pan.___", state 1605, "(1)" line 403, "pan.___", state 1613, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<0)))" line 403, "pan.___", state 1615, "(1)" line 403, "pan.___", state 1616, "((cache_dirty_urcu_active_readers.bitfield&(1<<0)))" line 403, "pan.___", state 1616, "else" line 403, "pan.___", state 1619, "(1)" line 403, "pan.___", state 1620, "(1)" line 403, "pan.___", state 1620, "(1)" line 401, "pan.___", state 1625, "((j<1))" line 401, "pan.___", state 1625, "((j>=1))" line 408, "pan.___", state 1631, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<0)))" line 409, "pan.___", state 1644, "(1)" line 409, "pan.___", state 1645, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<0))))" line 409, "pan.___", state 1645, "else" line 409, "pan.___", state 1648, "(1)" line 409, "pan.___", state 1649, "(1)" line 409, "pan.___", state 1649, "(1)" line 413, "pan.___", state 1657, "(1)" line 413, "pan.___", state 1658, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<0))))" line 413, "pan.___", state 1658, "else" line 413, "pan.___", state 1661, "(1)" line 413, "pan.___", state 1662, "(1)" line 413, "pan.___", state 1662, "(1)" line 411, "pan.___", state 1667, "((j<1))" line 411, "pan.___", state 1667, "((j>=1))" line 418, "pan.___", state 1674, "(1)" line 418, "pan.___", state 1675, "(!((cache_dirty_generation_ptr.bitfield&(1<<0))))" line 418, "pan.___", state 1675, "else" line 418, "pan.___", state 1678, "(1)" line 418, "pan.___", state 1679, "(1)" line 418, "pan.___", state 1679, "(1)" line 399, "pan.___", state 1690, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<0)))" line 399, "pan.___", state 1692, "(1)" line 399, "pan.___", state 1693, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<0)))" line 399, "pan.___", state 1693, "else" line 399, "pan.___", state 1696, "(1)" line 403, "pan.___", state 1704, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<0)))" line 403, "pan.___", state 1706, "(1)" line 403, "pan.___", state 1707, "((cache_dirty_urcu_active_readers.bitfield&(1<<0)))" line 403, "pan.___", state 1707, "else" line 403, "pan.___", state 1710, "(1)" line 403, "pan.___", state 1711, "(1)" line 403, "pan.___", state 1711, "(1)" line 401, "pan.___", state 1716, "((j<1))" line 401, "pan.___", state 1716, "((j>=1))" line 408, "pan.___", state 1722, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<0)))" line 409, "pan.___", state 1735, "(1)" line 409, "pan.___", state 1736, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<0))))" line 409, "pan.___", state 1736, "else" line 409, "pan.___", state 1739, "(1)" line 409, "pan.___", state 1740, "(1)" line 409, "pan.___", state 1740, "(1)" line 413, "pan.___", state 1748, "(1)" line 413, "pan.___", state 1749, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<0))))" line 413, "pan.___", state 1749, "else" line 413, "pan.___", state 1752, "(1)" line 413, "pan.___", state 1753, "(1)" line 413, "pan.___", state 1753, "(1)" line 411, "pan.___", state 1758, "((j<1))" line 411, "pan.___", state 1758, "((j>=1))" line 418, "pan.___", state 1765, "(1)" line 418, "pan.___", state 1766, "(!((cache_dirty_generation_ptr.bitfield&(1<<0))))" line 418, "pan.___", state 1766, "else" line 418, "pan.___", state 1769, "(1)" line 418, "pan.___", state 1770, "(1)" line 418, "pan.___", state 1770, "(1)" line 194, "pan.___", state 1775, "(1)" line 194, "pan.___", state 1775, "(1)" line 214, "pan.___", state 1779, "((i<1))" line 214, "pan.___", state 1779, "((i>=1))" line 399, "pan.___", state 1785, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<0)))" line 399, "pan.___", state 1787, "(1)" line 399, "pan.___", state 1788, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<0)))" line 399, "pan.___", state 1788, "else" line 399, "pan.___", state 1791, "(1)" line 403, "pan.___", state 1799, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<0)))" line 403, "pan.___", state 1801, "(1)" line 403, "pan.___", state 1802, "((cache_dirty_urcu_active_readers.bitfield&(1<<0)))" line 403, "pan.___", state 1802, "else" line 403, "pan.___", state 1805, "(1)" line 403, "pan.___", state 1806, "(1)" line 403, "pan.___", state 1806, "(1)" line 401, "pan.___", state 1811, "((j<1))" line 401, "pan.___", state 1811, "((j>=1))" line 408, "pan.___", state 1817, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<0)))" line 409, "pan.___", state 1830, "(1)" line 409, "pan.___", state 1831, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<0))))" line 409, "pan.___", state 1831, "else" line 409, "pan.___", state 1834, "(1)" line 409, "pan.___", state 1835, "(1)" line 409, "pan.___", state 1835, "(1)" line 413, "pan.___", state 1843, "(1)" line 413, "pan.___", state 1844, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<0))))" line 413, "pan.___", state 1844, "else" line 413, "pan.___", state 1847, "(1)" line 413, "pan.___", state 1848, "(1)" line 413, "pan.___", state 1848, "(1)" line 411, "pan.___", state 1853, "((j<1))" line 411, "pan.___", state 1853, "((j>=1))" line 418, "pan.___", state 1860, "(1)" line 418, "pan.___", state 1861, "(!((cache_dirty_generation_ptr.bitfield&(1<<0))))" line 418, "pan.___", state 1861, "else" line 418, "pan.___", state 1864, "(1)" line 418, "pan.___", state 1865, "(1)" line 418, "pan.___", state 1865, "(1)" line 194, "pan.___", state 1870, "(1)" line 194, "pan.___", state 1870, "(1)" line 221, "pan.___", state 1871, "(1)" line 221, "pan.___", state 1871, "(1)" line 356, "pan.___", state 1877, "((sighand_exec==1))" line 356, "pan.___", state 1877, "else" line 362, "pan.___", state 1880, "sighand_exec = 1" line 399, "pan.___", state 1893, "cache_dirty_urcu_gp_ctr.bitfield = (cache_dirty_urcu_gp_ctr.bitfield&~((1<<0)))" line 399, "pan.___", state 1895, "(1)" line 399, "pan.___", state 1896, "((cache_dirty_urcu_gp_ctr.bitfield&(1<<0)))" line 399, "pan.___", state 1896, "else" line 399, "pan.___", state 1899, "(1)" line 403, "pan.___", state 1907, "cache_dirty_urcu_active_readers.bitfield = (cache_dirty_urcu_active_readers.bitfield&~((1<<0)))" line 403, "pan.___", state 1909, "(1)" line 403, "pan.___", state 1910, "((cache_dirty_urcu_active_readers.bitfield&(1<<0)))" line 403, "pan.___", state 1910, "else" line 403, "pan.___", state 1913, "(1)" line 403, "pan.___", state 1914, "(1)" line 403, "pan.___", state 1914, "(1)" line 401, "pan.___", state 1919, "((i<1))" line 401, "pan.___", state 1919, "((i>=1))" line 408, "pan.___", state 1925, "cache_dirty_generation_ptr.bitfield = (cache_dirty_generation_ptr.bitfield&~((1<<0)))" line 409, "pan.___", state 1938, "(1)" line 409, "pan.___", state 1939, "(!((cache_dirty_urcu_gp_ctr.bitfield&(1<<0))))" line 409, "pan.___", state 1939, "else" line 409, "pan.___", state 1942, "(1)" line 409, "pan.___", state 1943, "(1)" line 409, "pan.___", state 1943, "(1)" line 413, "pan.___", state 1951, "(1)" line 413, "pan.___", state 1952, "(!((cache_dirty_urcu_active_readers.bitfield&(1<<0))))" line 413, "pan.___", state 1952, "else" line 413, "pan.___", state 1955, "(1)" line 413, "pan.___", state 1956, "(1)" line 413, "pan.___", state 1956, "(1)" line 411, "pan.___", state 1961, "((i<1))" line 411, "pan.___", state 1961, "((i>=1))" line 418, "pan.___", state 1968, "(1)" line 418, "pan.___", state 1969, "(!((cache_dirty_generation_ptr.bitfield&(1<<0))))" line 418, "pan.___", state 1969, "else" line 418, "pan.___", state 1972, "(1)" line 418, "pan.___", state 1973, "(1)" line 418, "pan.___", state 1973, "(1)" line 420, "pan.___", state 1976, "(1)" line 420, "pan.___", state 1976, "(1)" line 362, "pan.___", state 1985, "sighand_exec = 1" line 403, "pan.___", state 2016, "(1)" line 702, "pan.___", state 2304, "-end-" (221 of 2304 states) unreached in proctype :init: (0 of 46 states) unreached in proctype :never: line 748, "pan.___", state 8, "-end-" (1 of 8 states) pan: elapsed time 1.47 seconds pan: rate 109876.87 states/second pan: avg transition delay 7.7927e-07 usec cp .input.spin urcu_free_no_mb.spin.input cp .input.spin.trail urcu_free_no_mb.spin.input.trail make[1]: Leaving directory `/home/compudj/doc/userspace-rcu/formal-model/urcu'