pict
pict copied to clipboard
Missing Negative Cases When Using Submodels
I found some weird situations in which all negative values of one submodel are ignored without any warning or error. This is the smallest model I found where this happens:
C1: 1, ~0
C2: 1, 2, 3, ~0
D1: ok, ~fail
D2: 1, ~0, ~-1
D3: 1, ~0, ~-1, ~-2, ~-3
{C1, C2} @ 2
{D1, D2, D3} @ 2
Current Behavior:
pict model /r:1222
C1 C2 D1 D2 D3
1 1 ok 1 1
1 3 ok 1 1
1 2 ok 1 1
1 1 ok ~-1 1
1 2 ok 1 ~-3
1 1 ~fail 1 1
1 3 ok 1 ~-1
1 3 ok ~0 1
1 2 ok ~-1 1
1 2 ok 1 ~0
1 2 ok ~0 1
1 3 ok 1 ~0
1 3 ok ~-1 1
1 1 ok ~0 1
1 1 ok 1 ~-3
1 2 ok 1 ~-1
1 3 ok 1 ~-3
1 1 ok 1 ~0
1 3 ~fail 1 1
1 1 ok 1 ~-1
1 1 ok 1 ~-2
1 2 ok 1 ~-2
1 3 ok 1 ~-2
1 2 ~fail 1 1
Expected Behavior:
- Expected test cases with
C1=~0
- Expected test cases with
C2=~0
Has there been any update on this sub-model+negative values bug?
We're also running into issues where negative values are ignored for some parameters but only if sub-models are used. If no sub-models are used then the negative values are correctly output for all parameters.
It seems like when the bug happens even explicitly defined combinations in the seed file are excluded from the output.
For example:
./pict test.pict /e:seed.txt /o:1
test.pict
D1: 1, ~0
D2: 1, ~0
D3: 1, ~0
C1: 1, 2, ~0
C2: 1, 2, ~0
# no issue if you comment out the sub-models below
{C1, C2}
{D1, D2, D3}
seed.txt
C1 C2
1 ~0
~0 2
output with sub-models
D1 D2 D3 C1 C2
1 1 1 1 2
1 1 1 1 1
1 1 1 2 2
~0 1 1 2 1
1 1 ~0 2 1
1 ~0 1 2 1
output with sub-models commented out
D1 D2 D3 C1 C2
1 1 1 1 2
1 1 1 2 2
1 1 1 2 1
1 1 1 1 ~0
1 1 1 ~0 2
~0 1 1 2 1
1 1 ~0 2 1
1 ~0 1 2 1
Strangely, if I remove the value 2
from the c parameters, then I get an error in the terminal:
./pict test.pict /e:seed.txt /o:1
pict: api/model.cpp:1153: void pictcore::Model::processExclusions(pictcore::ComboCollection&): Assertion `!iexcl->empty()' failed.
Aborted
expand here for updated input files
test.pict
D1: 1, ~0
D2: 1, ~0
D3: 1, ~0
C1: 1, ~0
C2: 1, ~0
{C1, C2}
{D1, D2, D3}
seed.txt
C1 C2
1 ~0
~0 1