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

Parca v0.19.0 panics #3890

Closed
maxbrunet opened this issue Sep 27, 2023 · 0 comments · Fixed by #3892
Closed

Parca v0.19.0 panics #3890

maxbrunet opened this issue Sep 27, 2023 · 0 comments · Fixed by #3892
Labels
bug Something isn't working

Comments

@maxbrunet
Copy link
Member

maxbrunet commented Sep 27, 2023

Captured on the demo:

ooooooooo.
`888   `Y88.
 888   .d88'  .oooo.   oooo d8b  .ooooo.   .oooo.
 888ooo88P'  `P  )88b  `888""8P d88' `"Y8 `P  )88b
 888          .oP"888   888     888        .oP"888
 888         d8(  888   888     888   .o8 d8(  888
o888o        `Y888""8o d888b    `Y8bod8P' `Y888""8o



level=info name=parca ts=2023-09-27T00:52:12.869460694Z caller=factory.go:53 msg="loading bucket configuration"
level=info name=parca ts=2023-09-27T00:52:12.873882826Z caller=badger.go:54 msg="Set nextTxnTs to 0"
level=info name=parca ts=2023-09-27T00:52:12.880366356Z caller=server.go:90 msg="starting server" addr=:7070
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x30110b2]

goroutine 2106 [running]:
github.com/parca-dev/parca/pkg/query.lineToTreeNode(...)
        github.com/parca-dev/parca/pkg/query/flamegraph.go:337
github.com/parca-dev/parca/pkg/query.linesToTreeNodes(0xc010ef00c0, 0xc010eecb00, {0xc010d45be0, 0x1, 0x0?})
        github.com/parca-dev/parca/pkg/query/flamegraph.go:300 +0x252
github.com/parca-dev/parca/pkg/query.locationToTreeNodes(0xc010ef0100?)
        github.com/parca-dev/parca/pkg/query/flamegraph.go:256 +0x186
github.com/parca-dev/parca/pkg/query.GenerateFlamegraphFlat({0xc00f036f40?, 0xf?}, {0xc00f036f5e?, 0x3?}, {{{0xc00f036f40, 0xf}, {{0xc00f036f5e, 0x3}, {0xc00f036f62, 0xb}}, ...}, ...})
        github.com/parca-dev/parca/pkg/query/flamegraph_flat.go:42 +0x205
github.com/parca-dev/parca/pkg/query.RenderReport({0x5725a80?, 0xc00f453e30?}, {0x56eef20, 0x79928e0}, {{0xc0103cdf90, 0x1, 0x1}, {{0xc00f036f40, 0xf}, {{0xc00f036f5e, ...}, ...}, ...}}, ...)
        github.com/parca-dev/parca/pkg/query/columnquery.go:524 +0x3e5
github.com/parca-dev/parca/pkg/query.(*ColumnQueryAPI).renderReport(0xc00f672c80?, {0x5725a80?, 0xc00f453e30}, {{0xc0103cdf90, 0x1, 0x1}, {{0xc00f036f40, 0xf}, {{0xc00f036f5e, 0x3}, ...}, ...}}, ...)
        github.com/parca-dev/parca/pkg/query/columnquery.go:475 +0x11e
github.com/parca-dev/parca/pkg/query.(*ColumnQueryAPI).Query(0xc001897340, {0x5725a80, 0xc00f453e30}, 0xc00f6691f0)
        github.com/parca-dev/parca/pkg/query/columnquery.go:247 +0x974
github.com/parca-dev/parca/gen/proto/go/parca/query/v1alpha1._QueryService_Query_Handler.func1({0x5725a80, 0xc00f453e30}, {0x3ed8640?, 0xc00f6691f0})
        github.com/parca-dev/parca/gen/proto/go/parca/query/v1alpha1/query_vtproto.pb.go:218 +0x72
github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/logging.UnaryServerInterceptor.UnaryServerInterceptor.func2({0x5725a80, 0xc00f453d40}, {0x3ed8640, 0xc00f6691f0}, 0xc00f453dd0?, 0xc00ed91128)
        github.com/grpc-ecosystem/go-grpc-middleware/v2@v2.0.0/interceptors/server.go:22 +0x28a
google.golang.org/grpc.getChainUnaryHandler.func1({0x5725a80, 0xc00f453d40}, {0x3ed8640, 0xc00f6691f0})
        google.golang.org/grpc@v1.58.1/server.go:1195 +0xb2
github.com/parca-dev/parca/pkg/server.(*Server).ListenAndServe.(*ServerMetrics).UnaryServerInterceptor.UnaryServerInterceptor.func15({0x5725a80, 0xc00f453d40}, {0x3ed8640, 0xc00f6691f0}, 0xc00f44f480?, 0xc00f6670c
0)
        github.com/grpc-ecosystem/go-grpc-middleware/v2@v2.0.0/interceptors/server.go:22 +0x28a
google.golang.org/grpc.getChainUnaryHandler.func1({0x5725a80, 0xc00f453d40}, {0x3ed8640, 0xc00f6691f0})
        google.golang.org/grpc@v1.58.1/server.go:1195 +0xb2
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1({0x5725a80, 0xc00f453c80}, {0x3ed8640, 0xc00f6691f0}, 0xc00f44f480, 0xc00f666fc0)
        go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.43.0/interceptor.go:376 +0x5cd
google.golang.org/grpc.NewServer.chainUnaryServerInterceptors.chainUnaryInterceptors.func1({0x5725a80, 0xc00f453c80}, {0x3ed8640, 0xc00f6691f0}, 0xc00f3c6a50?, 0x37b0da0?)
        google.golang.org/grpc@v1.58.1/server.go:1186 +0x85
github.com/parca-dev/parca/gen/proto/go/parca/query/v1alpha1._QueryService_Query_Handler({0x3df5c60?, 0xc001897340}, {0x5725a80, 0xc00f453c80}, 0xc00f669180, 0xc0018a13c0)
        github.com/parca-dev/parca/gen/proto/go/parca/query/v1alpha1/query_vtproto.pb.go:220 +0x135
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000dac1e0, {0x573ade0, 0xc00f5ac3c0}, 0xc00eadad80, 0xc0015f14d0, 0x7932b38, 0x0)
        google.golang.org/grpc@v1.58.1/server.go:1376 +0xde7
google.golang.org/grpc.(*Server).handleStream(0xc000dac1e0, {0x573ade0, 0xc00f5ac3c0}, 0xc00eadad80, 0x0)
        google.golang.org/grpc@v1.58.1/server.go:1753 +0x9e7
google.golang.org/grpc.(*Server).serveStreams.func1.1()
        google.golang.org/grpc@v1.58.1/server.go:998 +0x8d
created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 1961
        google.golang.org/grpc@v1.58.1/server.go:996 +0x165

Not sure if the same as #3876, looks slightly different.

Edit: Panics with or without --experimental-arrow

@maxbrunet maxbrunet added the bug Something isn't working label Sep 27, 2023
@maxbrunet maxbrunet changed the title Parca v0.19.0 panics without --experimental-arrow Parca v0.19.0 panics Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant