influxdata / influxdata/influxdb

Crash when looking at Graylog status page on Grafana

Open
#24,361 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
31.7k
Forks
3.7k
Avg merge
13h 37m
Merged PRs (30d)
8

Description

__Expected behavior:__
Influx shouldn't crash

__Actual behavior:__
Graylog crashed two times on opening the same Grafana Dashboard

__Environment info:__

* System info: Debian 11
* InfluxDB version: 2.1.1

__Config:__
Copy any non-default config values here or attach the full config as a gist or file.

__Logs:__

The last query executed:
```
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: ts=2023-09-07T15:52:54.968231Z lvl=info msg="Executing query" log_id=0k0HgnPl000 service=query query="SELECT max(rate_one_minute) FROM graylog.autogen./^org\\.gray
```

The Error log:
```
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: panic: runtime error: invalid memory address or nil pointer dereference
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xc1fc0f]
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: goroutine 2970798915 [running]:
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: github.com/influxdata/influxdb/v2/influxql/query.Iterators.Close({0xc062ba0480, 0x16, 0x47})
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/src/github.com/influxdata/influxdb/influxql/query/iterator.go:48 +0x4f
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: github.com/influxdata/influxdb/v2/v1/coordinator.(*LocalShardMapping).CreateIterator(_, {_, _}, _, {0xa19ccdcbe4115d19, {0x4079bc0, 0xc0d634e090}, {0x0, 0x0, 0x0},
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/src/github.com/influxdata/influxdb/v1/coordinator/shard_mapper.go:214 +0x377
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: github.com/influxdata/influxdb/v2/influxql/query.(*exprIteratorBuilder).callIterator.func1(0xc014e39ac8, {0x40a6bc0, 0xc04c2adf50}, 0xc014e38a98, 0xc014e38a70, 0xc
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/src/github.com/influxdata/influxdb/influxql/query/select.go:614 +0x3a4
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: github.com/influxdata/influxdb/v2/influxql/query.(*exprIteratorBuilder).callIterator(_, {_, _}, _, {0xa19ccdcbe4115d19, {0x4079bc0, 0xc0d634e090}, {0x0, 0x0, 0x0},
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/src/github.com/influxdata/influxdb/influxql/query/select.go:639 +0xbf
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: github.com/influxdata/influxdb/v2/influxql/query.(*exprIteratorBuilder).buildCallIterator.func1(0xc0baf72c38, {0x40a6bc0, 0xc04c2adf50}, 0x101b480, 0xc0baf73180)
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/src/github.com/influxdata/influxdb/influxql/query/select.go:546 +0x6e5
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: github.com/influxdata/influxdb/v2/influxql/query.(*exprIteratorBuilder).buildCallIterator(0xc014e39ac8, {0x40a6bc0, 0xc04c2adf50}, 0xc0d634e090)
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/src/github.com/influxdata/influxdb/influxql/query/select.go:590 +0x214f
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: github.com/influxdata/influxdb/v2/influxql/query.buildExprIterator({_, _}, {_, _}, {_, _}, {_, _, _}, {0xa19ccdcbe4115d19, ...}, ...)
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/src/github.com/influxdata/influxdb/influxql/query/select.go:185 +0x178
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: github.com/influxdata/influxdb/v2/influxql/query.buildFieldIterator({_, _}, {_, _}, {_, _}, {_, _, _}, {0xa19ccdcbe4115d19, ...}, ...)
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/src/github.com/influxdata/influxdb/influxql/query/select.go:862 +0xc5
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: github.com/influxdata/influxdb/v2/influxql/query.buildCursor.func1()
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/src/github.com/influxdata/influxdb/influxql/query/select.go:766 +0x165
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: golang.org/x/sync/errgroup.(*Group).Go.func1()
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/pkg/mod/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c/errgroup/errgroup.go:57 +0x67
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: created by golang.org/x/sync/errgroup.(*Group).Go
Sep 07 17:52:54 mgmtdus1 influxd-systemd-start.sh[46290]: /home/circleci/go/pkg/mod/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c/errgroup/errgroup.go:54 +0x92
Sep 07 17:52:55 mgmtdus1 systemd[1]: influxdb.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Sep 07 17:52:55 mgmtdus1 systemd[1]: influxdb.service: Failed with result 'exit-code'.
```

Contributor guide

Open the contributing guide

Research direction

Begin with influxql/query/iterator.go:48 and trace iterator cleanup through v1/coordinator/shard_mapper.go:214 and influxql/query/select.go:546-862. Reproduce the reported Graylog Grafana query on InfluxDB 2.1.1 and verify that opening the dashboard no longer causes the nil-pointer panic or service exit.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.