-
Notifications
You must be signed in to change notification settings - Fork 135
Open
Description
Consider the following Promela:
init {
run f()
}
active proctype f() {
assert _pid == 1
}
The interpreter finds the assertion violation:
$ ./spin ../../../unexpected.pml
spin: ../../../unexpected.pml:6, Error: assertion violated
spin: text of failed assertion: assert((_pid==1))
#processes: 3
2: proc 2 (f:1) ../../../unexpected.pml:6 (state 1)
2: proc 1 (f:1) ../../../unexpected.pml:6 (state 1)
2: proc 0 (:init::1) ../../../unexpected.pml:3 (state 2) <valid end state>
3 processes created
But -run (-search) does not:
$ ./spin -run -safety ../../../unexpected.pml
(Spin Version 6.5.2 -- 21 June 2024)
+ Partial Order Reduction
Full statespace search for:
never claim - (none specified)
assertion violations +
cycle checks - (disabled by -DSAFETY)
invalid end states +
State-vector 20 byte, depth reached 6, errors: 0
7 states, stored
0 states, matched
7 transitions (= stored+matched)
0 atomic steps
hash conflicts: 0 (resolved)
Stats on memory usage (in Megabytes):
0.000 equivalent memory usage for states (stored*(State-vector + overhead))
0.292 actual memory usage for states
128.000 memory used for hash table (-w24)
0.534 memory used for DFS stack (-m10000)
128.730 total actual memory usage
unreached in init
(0 of 2 states)
unreached in proctype f
(0 of 2 states)
pan: elapsed time 0 seconds
I'm first found the issue on version 6.5.2 on a Visual Studio Code Python dev container (sudo apt install spin --assume-yes). I then recreated it with a build from source on this repository.
Metadata
Metadata
Assignees
Labels
No labels