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

[Bug]: Panic when query iceberg order #8719

Closed
daniel1302 opened this issue Jul 7, 2023 · 0 comments · Fixed by #8720
Closed

[Bug]: Panic when query iceberg order #8719

daniel1302 opened this issue Jul 7, 2023 · 0 comments · Fixed by #8720
Assignees
Labels

Comments

@daniel1302
Copy link
Contributor

daniel1302 commented Jul 7, 2023

Problem encountered

An internal error is returned when the following query is executed on the GQL API(api.stagnet1.vega.rocks):

Query:

query StopOrders($partyId: ID!){
  stopOrders(filter:{ parties: [$partyId] }) {
    edges {
      node {
        
        id
        ocoLinkId
        expiresAt
        expiryStrategy
        triggerDirection
        status
        createdAt
        updatedAt
        partyId
        marketId
        trigger {
					... on StopOrderPrice {          
            price
          }
					... on StopOrderTrailingPercentOffset {          
            trailingPercentOffset
          }
        }
        submission {
          marketId
          price
          size
          side
          timeInForce
          expiresAt
          type
          reference
          peggedOrder {
            reference
            offset
          }
          postOnly
          reduceOnly
          icebergOrder {
            peakSize
            minimumVisibleSize
            reservedRemaining
          }
        }
      }
    }
  }
}

Response

{
  "errors": [
    {
      "message": "an internal error occurred",
      "path": [
        "stopOrders",
        "edges",
        1,
        "node",
        "submission",
        "icebergOrder"
      ]
    },
    {
      "message": "an internal error occurred",
      "path": [
        "stopOrders",
        "edges",
        0,
        "node",
        "submission",
        "icebergOrder"
      ]
    }
  ],
  "data": {
    "stopOrders": {
      "edges": [
        {
          "node": {
            "id": "b07c3b1da5590524e0f20e712775f6af2d5f91d5a33a36ba9b2b2019fca9a145",
            "ocoLinkId": null,
            "expiresAt": null,
            "expiryStrategy": null,
            "triggerDirection": "TRIGGER_DIRECTION_UNSPECIFIED",
            "status": "STATUS_PENDING",
            "createdAt": "2023-07-07T13:35:06.634843Z",
            "updatedAt": null,
            "partyId": "b07c3b1da5590524e0f20e712775f6af2d5f91d5a33a36ba9b2b2019fca9a145",
            "marketId": "b07c3b1da5590524e0f20e712775f6af2d5f91d5a33a36ba9b2b2019fca9a145",
            "trigger": {
              "trailingPercentOffset": "0.05"
            },
            "submission": {
              "marketId": "38a4aa08cc0ff0da92ab7d0951de999b0ee0f81029f452b8cf77fb4c300dbd41",
              "price": "0",
              "size": "1000",
              "side": "SIDE_SELL",
              "timeInForce": "TIME_IN_FORCE_IOC",
              "expiresAt": null,
              "type": "TYPE_MARKET",
              "reference": "",
              "peggedOrder": null,
              "postOnly": false,
              "reduceOnly": true,
              "icebergOrder": null
            }
          }
        },
        {
          "node": {
            "id": "bfab1c9893d429f89ca697a5b991301af1aa7512f312aad35246fb9853dc373e",
            "ocoLinkId": null,
            "expiresAt": null,
            "expiryStrategy": null,
            "triggerDirection": "TRIGGER_DIRECTION_UNSPECIFIED",
            "status": "STATUS_PENDING",
            "createdAt": "2023-07-07T13:35:04.692091Z",
            "updatedAt": null,
            "partyId": "bfab1c9893d429f89ca697a5b991301af1aa7512f312aad35246fb9853dc373e",
            "marketId": "bfab1c9893d429f89ca697a5b991301af1aa7512f312aad35246fb9853dc373e",
            "trigger": {
              "trailingPercentOffset": "0.05"
            },
            "submission": {
              "marketId": "38a4aa08cc0ff0da92ab7d0951de999b0ee0f81029f452b8cf77fb4c300dbd41",
              "price": "0",
              "size": "1000",
              "side": "SIDE_SELL",
              "timeInForce": "TIME_IN_FORCE_IOC",
              "expiresAt": null,
              "type": "TYPE_MARKET",
              "reference": "",
              "peggedOrder": null,
              "postOnly": false,
              "reduceOnly": true,
              "icebergOrder": null
            }
          }
        }
      ]
    }
  }
}

Observed behaviour

Internal error in the response

Expected behaviour

Valid response returned

Steps to reproduce

Execute the above query in the api.stagnet1.vega.rocks

Software version

v0.72.1

Failing test

No response

Jenkins run

No response

Configuration used

No response

Relevant log output

Log from the visor:


Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: 2023-07-07T13:42:05.540Z        WARN        datanode.gateway.gql        graphql/server.go:216        Recovering from error on graphQL handler        {"error": "runtime error: invalid memory address or nil pointer dereference"}
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: goroutine 1115999 [running]:
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: runtime/debug.Stack()
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /opt/hostedtoolcache/go/1.19.10/x64/src/runtime/debug/stack.go:24 +0x65
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: runtime/debug.PrintStack()
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /opt/hostedtoolcache/go/1.19.10/x64/src/runtime/debug/stack.go:16 +0x19
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: code.vegaprotocol.io/vega/datanode/gateway/graphql.(*GraphServer).Start.func5({0x0?, 0xc0073329f8?}, {0x2f90b80?, 0x5a504f0?})
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/work/vega/vega/datanode/gateway/graphql/server.go:218 +0x17d
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: github.com/99designs/gqlgen/graphql.(*OperationContext).Recover(0x2?, {0x3e2b3a8, 0xc00665ec60}, {0x2f90b80?, 0x5a504f0?})
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/go/pkg/mod/github.com/99designs/gqlgen@v0.17.20/graphql/context_operation.go:116 +0x3e
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: code.vegaprotocol.io/vega/datanode/gateway/graphql.(*executionContext)._OrderSubmission_icebergOrder.func1()
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/work/vega/vega/datanode/gateway/graphql/generated.go:44772 +0x6a
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: panic({0x2f90b80, 0x5a504f0})
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /opt/hostedtoolcache/go/1.19.10/x64/src/runtime/panic.go:884 +0x212
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: code.vegaprotocol.io/vega/datanode/gateway/graphql.orderSubmissionResolver.IcebergOrder(...)
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/work/vega/vega/datanode/gateway/graphql/order_submission_resolver.go:19
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: code.vegaprotocol.io/vega/datanode/gateway/graphql.(*executionContext)._OrderSubmission_icebergOrder.func2({0x3e2b3a8?, 0xc00665ec60})
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/work/vega/vega/datanode/gateway/graphql/generated.go:44778 +0x84
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: github.com/99designs/gqlgen/graphql/executor.processExtensions.func4({0x3e2b3a8?, 0xc00665ec60?}, 0x0?)
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/go/pkg/mod/github.com/99designs/gqlgen@v0.17.20/graphql/executor/extensions.go:72 +0x26
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: github.com/99designs/gqlgen/graphql/executor.processExtensions.func8.1({0x3e2b3a8?, 0xc00665ec60?})
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/go/pkg/mod/github.com/99designs/gqlgen@v0.17.20/graphql/executor/extensions.go:110 +0x2b
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: code.vegaprotocol.io/vega/datanode/gateway/graphql.(*GraphServer).Start.func3({0x3e2b3a8, 0xc00665ec60}, 0xc008e4b4d0)
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/work/vega/vega/datanode/gateway/graphql/server.go:159 +0x167
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: github.com/99designs/gqlgen/graphql/executor.aroundFieldFunc.InterceptField(0x8?, {0x3e2b3a8?, 0xc00665ec60?}, 0xc007332d68?)
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/go/pkg/mod/github.com/99designs/gqlgen@v0.17.20/graphql/executor/extensions.go:177 +0x2f
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: github.com/99designs/gqlgen/graphql/executor.processExtensions.func8({0x3e2b3a8, 0xc00665ec60}, 0xc0089970a0)
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/go/pkg/mod/github.com/99designs/gqlgen@v0.17.20/graphql/executor/extensions.go:109 +0xb0
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: github.com/99designs/gqlgen/graphql/executor.processExtensions.func8.1({0x3e2b3a8?, 0xc00665ec60?})
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/go/pkg/mod/github.com/99designs/gqlgen@v0.17.20/graphql/executor/extensions.go:110 +0x2b
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: code.vegaprotocol.io/vega/datanode/gateway/graphql.(*GraphServer).Start.func2({0x3e2b3a8, 0xc00665ec60}, 0xc008e4b4b8)
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/work/vega/vega/datanode/gateway/graphql/server.go:152 +0x7a
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: github.com/99designs/gqlgen/graphql/executor.aroundFieldFunc.InterceptField(0x0?, {0x3e2b3a8?, 0xc00665ec60?}, 0x40e0c7?)
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/go/pkg/mod/github.com/99designs/gqlgen@v0.17.20/graphql/executor/extensions.go:177 +0x2f
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: github.com/99designs/gqlgen/graphql/executor.processExtensions.func8({0x3e2b3a8, 0xc00665ec60}, 0xc0089970a0)
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/go/pkg/mod/github.com/99designs/gqlgen@v0.17.20/graphql/executor/extensions.go:109 +0xb0
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: code.vegaprotocol.io/vega/datanode/gateway/graphql.(*executionContext)._OrderSubmission_icebergOrder(0xc00bc4bdb0, {0x3e2b3a8, 0xc00665e9f0}, {0xc0058beb80?, {0xc00665ea20?, 0x5d322a0?, 0xc00bbe9eb8?}}, 0xc00ae35b00)
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/work/vega/vega/datanode/gateway/graphql/generated.go:44776 +0x22a
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: code.vegaprotocol.io/vega/datanode/gateway/graphql.(*executionContext)._OrderSubmission.func3({0x3e2b3a8?, 0xc00665e9f0?})
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/work/vega/vega/datanode/gateway/graphql/generated.go:80777 +0xa9
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: code.vegaprotocol.io/vega/datanode/gateway/graphql.(*executionContext)._OrderSubmission.func4()
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/work/vega/vega/datanode/gateway/graphql/generated.go:80782 +0x25
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: github.com/99designs/gqlgen/graphql.(*FieldSet).Dispatch.func1({0x2a5a2ca?, 0xc008996fe0?})
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/go/pkg/mod/github.com/99designs/gqlgen@v0.17.20/graphql/fieldset.go:42 +0x3c
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]: created by github.com/99designs/gqlgen/graphql.(*FieldSet).Dispatch
Jul 07 13:42:05 n00.stagnet1.vega.xyz visor[4037572]:         /home/runner/go/pkg/mod/github.com/99designs/gqlgen@v0.17.20/graphql/fieldset.go:41 +0x265
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants