Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hedgehog found a counterexample in prop packet fifo id #131

Open
DigitalBrains1 opened this issue Jan 28, 2025 · 1 comment
Open

Hedgehog found a counterexample in prop packet fifo id #131

DigitalBrains1 opened this issue Jan 28, 2025 · 1 comment

Comments

@DigitalBrains1
Copy link
Member

DigitalBrains1 commented Jan 28, 2025

$ git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.6.6
$ cabal v2-run clash-protocols:unittests -- --pattern '$NF ~ /prop packet fifo id/' --hedgehog-replay '196:bEhPz8BB6hZ3bb12Hz10BB2h3S12hIdA2bGPgv Seed 6375259335271169919 17161120250667971335'
[...]
Tests
  Protocols
    PacketStream
      Tests.Protocols.PacketStream.PacketFifo
        prop packet fifo id: FAIL (0.09s)
            ✗ prop_packet fifo id failed at src/Protocols/Hedgehog.hs:248:59
              after 196 tests and 70 shrinks.
[...]
Full output
$ git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.6.6
$ cabal v2-run clash-protocols:unittests -- --pattern '$NF ~ /prop packet fifo id/' --hedgehog-replay '196:bEhPz8BB6hZ3bb12Hz10BB2h3S12hIdA2bGPgv Seed 6375259335271169919 17161120250667971335'
Configuration is affected by the following files:
- cabal.project
- cabal.project.local
Tests
  Protocols
    PacketStream
      Tests.Protocols.PacketStream.PacketFifo
        prop packet fifo id: FAIL (0.09s)
            ✗ prop_packet fifo id failed at src/Protocols/Hedgehog.hs:248:59
              after 196 tests and 70 shrinks.
              shrink path: 196:bEhPz8BB6hZ3bb12Hz10BB2h3S12hIdA2bGPgv
            
              forAll0 =
                ( StallWithNack , [] ) :> Nil
              
              forAll1 =
                NoStall :> Nil
              
              forAll2 =
                ( StallWithNack
                , [ 10
                  , 0
                  , 10
                  , 0
                  , 9
                  , 6
                  , 2
                  , 2
                  , 3
                  , 2
                  , 7
                  , 5
                  , 4
                  , 6
                  , 6
                  , 4
                  , 1
                  , 6
                  , 0
                  , 0
                  , 5
                  , 9
                  , 6
                  , 3
                  , 3
                  , 7
                  , 8
                  , 9
                  , 8
                  , 4
                  , 6
                  , 2
                  , 9
                  , 3
                  , 3
                  , 6
                  , 0
                  , 10
                  , 2
                  ]
                ) :>
                  Nil
              
              forAll3 =
                Stall :> Nil
              
              forAll4 =
                39
              
              forAll5 =
                [PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = True},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b...._.... :> Nil, _last = Just 0, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = True},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b...._.... :> Nil, _last = Just 0, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = True},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b...._.... :> Nil, _last = Just 0, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b...._.... :> Nil, _last = Just 0, _meta = -32768, _abort = False}]
            
              Failed
              ━━ lhs ━━
              [PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b0000_0000 :> Nil, _last = Nothing, _meta = -32768, _abort = False},PacketStreamM2S {_data = 0b...._.... :> Nil, _last = Just 0, _meta = -32768, _abort = False}]
              ━━ rhs ━━
              []
            
              This failure can be reproduced by running:
              > recheckAt (Seed 6375259335271169919 17161120250667971335) "196:bEhPz8BB6hZ3bb12Hz10BB2h3S12hIdA2bGPgv" prop_packet fifo id
            
          Use "--pattern '$NF ~ /prop packet fifo id/' --hedgehog-replay '196:bEhPz8BB6hZ3bb12Hz10BB2h3S12hIdA2bGPgv Seed 6375259335271169919 17161120250667971335'" to reproduce from the command-line.

Rowan wrote:

I expect it's because of the massive amounts of stalls.
That it just doesn't get around to sending data and times out.
Could you make an issue with this text (and critically the seed). I can take a look later

@DigitalBrains1
Copy link
Member Author

DigitalBrains1 commented Jan 28, 2025

Just hit it again... probably the same thing.

Use "--pattern '$NF ~ /prop packet fifo id/' --hedgehog-replay '392:fHeHkWy11Hq8Sh2Z7bb7H2s12HiCa2CZcrCQ3cxCQcsCQdkCReaCQ3geCS37 Seed 2132738277759105175 4731842780066325247'" to reproduce from the command-line.

[edit]
It actually keeps happening, it's not a rare occurence at all... I'll add one more, but I'll stop reporting every new occurence now.

Use "--pattern '$NF ~ /prop packet fifo id/' --hedgehog-replay '394:hDhZ13jBB3bd12J2q3S3jY13jMa3BctDKctCVdiCTemCVgh Seed 9792381140106345749 13621255186710998925'" to reproduce from the command-line.

[/edit]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant