filecoin-project / lotus

Reference implementation of the Filecoin protocol, written in Go
https://lotus.filecoin.io/
Other
2.85k stars 1.27k forks source link

retrieval hanging in graphsync #2642

Closed whyrusleeping closed 5 months ago

whyrusleeping commented 4 years ago

Had a retrieval request hang indefinitely, grabbed stacks both clientside and provider side.

Provider:

goroutine 22053 [select, 12 minutes]:
   28 github.com/ipfs/go-graphsync/responsemanager.(*ResponseManager).sendSyncMessage(0xc0008cebd0, 0x2c98000, 0xc012e9a2c0, 0xc0      11faf500, 0x1, 0x1)
   27   /home/why/go/pkg/mod/github.com/ipfs/go-graphsync@v0.0.6-0.20200715204712-ef06b3d32e83/responsemanager/responsemanager.go      :220 +0x1aa
   26 github.com/ipfs/go-graphsync/responsemanager.(*ResponseManager).CancelResponse(...)
   25   /home/why/go/pkg/mod/github.com/ipfs/go-graphsync@v0.0.6-0.20200715204712-ef06b3d32e83/responsemanager/responsemanager.go      :211
   24 github.com/ipfs/go-graphsync/impl.(*GraphSync).CancelResponse(0xc00049e6c0, 0xc013f1eba0, 0x26, 0x3, 0x0, 0xc01431f1d0)
   23   /home/why/go/pkg/mod/github.com/ipfs/go-graphsync@v0.0.6-0.20200715204712-ef06b3d32e83/impl/graphsync.go:212 +0xbe
   22 github.com/filecoin-project/go-data-transfer/transport/graphsync.(*Transport).CloseChannel(0xc0008efe00, 0x2cce5c0, 0xc0000      400c0, 0xc01431f170, 0x26, 0xc01431f1d0, 0x26, 0xb, 0x0, 0x0)
   21   /home/why/go/pkg/mod/github.com/filecoin-project/go-data-transfer@v0.5.0/transport/graphsync/graphsync.go:217 +0x1f6
   20 github.com/filecoin-project/go-data-transfer/impl.(*manager).CloseDataTransferChannel(0xc011223620, 0x2cce5c0, 0xc0000400c0      , 0xc01431f170, 0x26, 0xc01431f1d0, 0x26, 0xb, 0xc0008a8380, 0xc011262ba0)
   19   /home/why/go/pkg/mod/github.com/filecoin-project/go-data-transfer@v0.5.0/impl/impl.go:190 +0x10d
   18 github.com/filecoin-project/go-fil-markets/retrievalmarket/impl.(*providerDealEnvironment).CloseDataTransfer(0xc0008a8380,       0x2cce5c0, 0xc0000400c0, 0xc01431f170, 0x26, 0xc01431f1d0, 0x26, 0xb, 0x100000, 0xc012ecc4e0)
   17   /home/why/code/go-fil-markets/retrievalmarket/impl/provider_environments.go:124 +0x73
   16 github.com/filecoin-project/go-fil-markets/retrievalmarket/impl/providerstates.CancelDeal(0x7fca70093970, 0xc0008cfe60, 0x7      fca70413470, 0xc0008a8380, 0xc01431f110, 0x26, 0x3, 0xc012ecc480, 0x0, 0xc012ecc4c0, ...)
   15   /home/why/code/go-fil-markets/retrievalmarket/impl/providerstates/provider_states.go:82 +0x1c4
   14 reflect.Value.call(0x2605aa0, 0x2a73c20, 0x13, 0x28c4afa, 0x4, 0xc012491810, 0x3, 0x3, 0x51a81f, 0x2781cc0, ...)
   13   /usr/local/lib/go/src/reflect/value.go:460 +0x8ab
   12 reflect.Value.Call(0x2605aa0, 0x2a73c20, 0x13, 0xc011f67810, 0x3, 0x3, 0x0, 0x0, 0xc0008bd450)
   11   /usr/local/lib/go/src/reflect/value.go:321 +0xb4
   10 github.com/filecoin-project/go-statemachine/fsm.fsmHandler.handler.func1(0xc012e6af60, 0x2, 0x2, 0xc012e6af60, 0xc000000000      203004, 0x7)
    9   /home/why/go/pkg/mod/github.com/filecoin-project/go-statemachine@v0.0.0-20200714194326-a77c3ae20989/fsm/fsm.go:170 +0x424
    8 reflect.callReflect(0xc012e6af00, 0xc014563ae0, 0xc014563ac8)
    7   /usr/local/lib/go/src/reflect/value.go:549 +0x322
    6 reflect.makeFuncStub(0x2cce5c0, 0xc0000400c0, 0xc013550600, 0xc01431f110, 0x26, 0x3, 0xc012ecc480, 0x0, 0xc012ecc4c0, 0x100      000, ...)
    5   /usr/local/lib/go/src/reflect/asm_amd64.s:20 +0x42
    4 reflect.Value.call(0xc0121a0240, 0xc012e6af00, 0x13, 0x28c4afa, 0x4, 0xc011f67f70, 0x2, 0x2, 0x51a81f, 0x26ca180, ...)
    3   /usr/local/lib/go/src/reflect/value.go:460 +0x8ab
    2 reflect.Value.Call(0xc0121a0240, 0xc012e6af00, 0x13, 0xc010fcaf70, 0x2, 0x2, 0xc010fcaf78, 0x27636c0, 0x0)
    1   /usr/local/lib/go/src/reflect/value.go:321 +0xb4
7286  github.com/filecoin-project/go-statemachine.(*StateMachine).run.func3(0xc013550510, 0x2cce5c0, 0xc0000400c0, 0xc013550600,       0xc013550520, 0xc011faf200)
    1   /home/why/go/pkg/mod/github.com/filecoin-project/go-statemachine@v0.0.0-20200714194326-a77c3ae20989/machine.go:102 +0x2bf
    2 created by github.com/filecoin-project/go-statemachine.(*StateMachine).run
    3   /home/why/go/pkg/mod/github.com/filecoin-project/go-statemachine@v0.0.0-20200714194326-a77c3ae20989/machine.go:100 +0x3da

Client:

  26 goroutine 11339479 [select, 16 minutes]:
   25 github.com/filecoin-project/lotus/node/impl/client.(*API).ClientRetrieve(0xc0000e5680, 0x6684900, 0x      c0a8e4f620, 0xc04de1c150, 0x26, 0x0, 0x800, 0xc02da3a280, 0xc02da3a2c0, 0x100000, ...)
   24   /Users/why/code/lotus/node/impl/client/client.go:438 +0x526
   23 reflect.Value.call(0x6272c80, 0xc0000e5600, 0x8613, 0x627e1e4, 0x4, 0xc06f7bc320, 0x3, 0x3, 0x5, 0x5      ef7101, ...)
   22   /usr/local/go/src/reflect/value.go:460 +0x8ab
   21 reflect.Value.Call(0x6272c80, 0xc0000e5600, 0x8613, 0xc06f7bc320, 0x3, 0x3, 0x5, 0x1, 0x70)
   20   /usr/local/go/src/reflect/value.go:321 +0xb4
   19 github.com/filecoin-project/go-jsonrpc/auth.PermissionedProxy.func1(0xc06f7bc320, 0x3, 0x3, 0xc06f7b      c320, 0x181, 0xc073c7b4c0)
   18   /Users/why/go/pkg/mod/github.com/filecoin-project/go-jsonrpc@v0.1.1-0.20200602181149-522144ab4e24/      auth/auth.go:62 +0x537
   17 reflect.callReflect(0xc01178f6b0, 0xc0007f75e0, 0xc0007f75c8)
   16   /usr/local/go/src/reflect/value.go:549 +0x322
   15 reflect.makeFuncStub(0x6684900, 0xc0a8e4f620, 0xc04de1c150, 0x26, 0x0, 0x800, 0xc02da3a280, 0xc02da3      a2c0, 0x100000, 0x100000, ...)
   14   /usr/local/go/src/reflect/asm_amd64.s:20 +0x42
   13 github.com/filecoin-project/lotus/api/apistruct.(*FullNodeStruct).ClientRetrieve(0xc0000db200, 0x668      4900, 0xc0a8e4f620, 0xc04de1c150, 0x26, 0x0, 0x800, 0xc02da3a280, 0xc02da3a2c0, 0x100000, ...)
   12   /Users/why/code/lotus/api/apistruct/struct.go:393 +0x8c
   11 reflect.Value.call(0xc0117c8a80, 0xc0117a88d0, 0x13, 0x627e1e4, 0x4, 0xc0c9271980, 0x4, 0x4, 0xc05b9      8e100, 0xc083e08328, ...)
   10   /usr/local/go/src/reflect/value.go:460 +0x8ab
    9 reflect.Value.Call(0xc0117c8a80, 0xc0117a88d0, 0x13, 0xc0c9271980, 0x4, 0x4, 0x5eb94e0, 0xc083e08328      , 0x196)
    8   /usr/local/go/src/reflect/value.go:321 +0xb4
    7 github.com/filecoin-project/go-jsonrpc.doCall(0xc09f77d340, 0x17, 0xc0117c8a80, 0xc0117a88d0, 0x13,       0xc0c9271980, 0x4, 0x4, 0x0, 0x0, ...)
    6   /Users/why/go/pkg/mod/github.com/filecoin-project/go-jsonrpc@v0.1.1-0.20200602181149-522144ab4e24/      handler.go:130 +0xdc
    5 github.com/filecoin-project/go-jsonrpc.handlers.handle(0xc01177e8d0, 0x6684900, 0xc0a8e4f5c0, 0xc0cf      6643e8, 0x3, 0xc0cf6643f0, 0xc09f77d340, 0x17, 0xc0c5d0e180, 0x2, ...)
    4   /Users/why/go/pkg/mod/github.com/filecoin-project/go-jsonrpc@v0.1.1-0.20200602181149-522144ab4e24/      handler.go:206 +0xb2b
    3 created by github.com/filecoin-project/go-jsonrpc.(*wsConn).handleCall
    2   /Users/why/go/pkg/mod/github.com/filecoin-project/go-jsonrpc@v0.1.1-0.20200602181149-522144ab4e24/      websocket.go:407 +0x295
rjan90 commented 5 months ago

Closing this ticket as the Legacy Lotus/Lotus-Miner Markets sub-system reached EOL at the end of the 31st January 2023, and is being completely removed from the code here: