Skip to content

Test suite failures on HEAD

Running the test-suite against master (5b8f848b), gives me the following output

cabal test all output
Running 1 test suites...
Test suite system-test: RUNNING...
hspec tests
  request
    RequestRoots
      should return a non-empty result:               Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050356/ghc-debug
OK (0.52s)
    RequestClosures
      should return a non-empty result:               Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050357/ghc-debug
OK (0.53s)
    RequestSavedObjects
      should return saved object:                     Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050358/ghc-debug
FAIL (5.17s)
        uncaught exception: IOException of type ResourceVanished
        <socket: 15>: hPutBuf: resource vanished (Broken pipe)
        Use -p '/should return saved object/' to rerun this test only.
    RequestInfoTables
      should return decodable RawInfoTables:          Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050359/ghc-debug
FAIL (5.27s)
        uncaught exception: IOException of type ResourceVanished
        <socket: 15>: hPutBuf: resource vanished (Broken pipe)
        Use -p '/should return decodable RawInfoTables/' to rerun this test only.
    RequestSRT
      should return decodable SRT:                    Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050360/ghc-debug
FAIL (2.06s)
        uncaught exception: IOException of type ResourceVanished
        <socket: 15>: hPutBuf: resource vanished (Broken pipe)
        Use -p '/should return decodable SRT/' to rerun this test only.
    RequestConstrDesc
      should return ConstrDesc of saved value (I# 1): Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050361/ghc-debug
FAIL (5.03s)
        uncaught exception: IOException of type ResourceVanished
        <socket: 15>: hPutBuf: resource vanished (Broken pipe)
        Use -p '/should return ConstrDesc of saved value (I# 1)/' to rerun this test only.
    RequestSourceInfo
      should return IPE information for saved object: Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050362/ghc-debug
OK (0.52s)
    RequestBlocks
      should return all blocks:                       Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050363/ghc-debug
Populating block cache with 1540 blocks
OK (0.54s)
    Snapshot
      creating and loading a snapshot:                Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050364/ghc-debug
Populating block cache with 1540 blocks
SPAWNING: 64
"made"
OK (0.80s)
    HeapGraph-Cycles
      should terminate:                               Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050365/ghc-debug
OK (0.71s)
    RequestResume
      should resume a paused debugee:                 Starting ghc-debug on socket: /run/user/1000/extra-dir-16762295050366/ghc-debug
OK (5.56s)

4 out of 11 tests failed (26.70s)

Test suite system-test: FAIL

I am using GHC 9.8.1 and gcc 13.2.0.

Running the save-one-pause program causes it to seg fault with the following backtrace:

#0  Socket::write (this=0x0, buf=buf@entry=0x7fffffff70e4 "\377\377\377\376", len=len@entry=4) at cbits/socket.cpp:36
#1  0x000000000040f3b9 in Response::flush (status=RESP_OKAY, this=0x793388 <MainCapability+1224>) at cbits/stub.cpp:145
#2  Response::finish (status=RESP_OKAY, this=0x793388 <MainCapability+1224>) at cbits/stub.cpp:211
#3  pause_mutator (resp=...) at cbits/stub.cpp:238
#4  0x00000000004089cc in ghczmdebugzmstubzm0zi5zi0zi0zminplace_GHCziDebugziStub_pause1_info ()
#5  0x0000000000000000 in ?? ()

This looks to be the similar to the backtrace from #16 (closed).

It looks like reverting !29 (merged) fixes it, so it's likely that a change in that MR is the cause. cc @wz1000