rticommunity / telegraf

The plugin-driven server agent for collecting & reporting metrics.
MIT License
8 stars 1 forks source link

DDS_Consumer SIGSEGV on exit #2

Open sid-flyarcher opened 3 years ago

sid-flyarcher commented 3 years ago

Relevant telegraf.conf:

[[inputs.dds_consumer]]
  ## XML configuration file path
  config_path = "ShapeExample.xml"

  ## Configuration name for DDS Participant from a description in XML
  participant_config = "MyParticipantLibrary::Zero"

  ## Configuration name for DDS DataReader from a description in XML
  reader_config = "MySubscriber::MySquareReader"

  # Tag key is an array of keys that should be added as tags.
  tag_keys = ["color"]

  # Override the base name of the measurement
  name_override = "shapes"

  ## Data format to consume.
  data_format = "json"

[[outputs.file]]
  ## Files to write to, "stdout" is a specially handled file.
  files = ["stdout"]

System info:

telegraf v1.15.3 Ubuntu 20.04 RTI DDS 6.0.1

Steps to reproduce:

  1. Launch Telegraf
  2. Launch the shapesdemo
  3. Use Ctrl+C to terminate Telegraf

Expected behavior:

Telegraf waits on DDS_WaitSet_Delete and exits cleanly

Actual behavior:

Segfaults on exit

Additional info:

Log:

shapes,color=BLUE,host=archer-xps-01 x=100,y=204,shapesize=30 1603178665871810998
^CRTIDDSConnector_delete:DDS_WaitSet_delete
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7fd62241516c]

runtime stack:
runtime.throw(0x2b18db8, 0x2a)
    /usr/local/go/src/runtime/panic.go:1116 +0x72
runtime.sigpanic()
    /usr/local/go/src/runtime/signal_unix.go:704 +0x4ac

goroutine 53 [syscall]:
runtime.cgocall(0x219c9c0, 0xc000589ed8, 0xc000000000)
    /usr/local/go/src/runtime/cgocall.go:133 +0x5b fp=0xc000589ea8 sp=0xc000589e70 pc=0x4070fb
github.com/rticommunity/rticonnextdds-connector-go._Cfunc_RTIDDSConnector_take(0x7fd5e0000ce0, 0x7fd5e0000c90)
    _cgo_gotypes.go:334 +0x45 fp=0xc000589ed8 sp=0xc000589ea8 pc=0x1efa3a5
github.com/rticommunity/rticonnextdds-connector-go.(*Input).Take.func1(0xc0000fe080)
    /data/sid/grafana-extensions/go/src/github.com/rticommunity/rticonnextdds-connector-go/rticonnextdds_connector.go:468 +0x6c fp=0xc000589f18 sp=0xc000589ed8 pc=0x1f00b0c
github.com/rticommunity/rticonnextdds-connector-go.(*Input).Take(0xc0000fe080, 0x3e8, 0x2e9baa0)
    /data/sid/grafana-extensions/go/src/github.com/rticommunity/rticonnextdds-connector-go/rticonnextdds_connector.go:468 +0x30 fp=0xc000589f38 sp=0xc000589f18 pc=0x1efc950
github.com/influxdata/telegraf/plugins/inputs/dds_consumer.(*DDSConsumer).process(0xc000196100, 0xc0000fe080)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/plugins/inputs/dds_consumer/dds_consumer.go:124 +0x228 fp=0xc000589fd0 sp=0xc000589f38 pc=0x1f03be8
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc000589fd8 sp=0xc000589fd0 pc=0x473e81
created by github.com/influxdata/telegraf/plugins/inputs/dds_consumer.(*DDSConsumer).Start
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/plugins/inputs/dds_consumer/dds_consumer.go:110 +0x2b4

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xc00020fd68)
    /usr/local/go/src/runtime/sema.go:56 +0x45
sync.(*WaitGroup).Wait(0xc00020fd60)
    /usr/local/go/src/sync/waitgroup.go:130 +0x65
github.com/influxdata/telegraf/agent.(*Agent).Run(0xc000206088, 0x2ef30e0, 0xc0000a8b80, 0x1, 0x1)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:198 +0x5b9
main.runAgent(0x2ef30e0, 0xc0000a8b80, 0x43197f8, 0x0, 0x0, 0x43197f8, 0x0, 0x0, 0x0, 0x0)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/cmd/telegraf/telegraf.go:207 +0x926
main.reloadLoop(0x43197f8, 0x0, 0x0, 0x43197f8, 0x0, 0x0, 0xc00052bd10, 0x0, 0x0, 0xc00052bd10, ...)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/cmd/telegraf/telegraf.go:110 +0x267
main.run(...)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/cmd/telegraf/telegraf_posix.go:7
main.main()
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/cmd/telegraf/telegraf.go:361 +0x71e

goroutine 67 [select]:
github.com/influxdata/telegraf/agent.(*Agent).flushLoop(0xc000206088, 0x2ef30e0, 0xc0000a8c80, 0xc000196200, 0x2ec21a0, 0xc0002b69f0)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:818 +0x20e
github.com/influxdata/telegraf/agent.(*Agent).runOutputs.func1(0xc0001fe340, 0x2faf080, 0x0, 0xc000206088, 0x2ef30e0, 0xc0000a8c80, 0xc000196200)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:770 +0xe5
created by github.com/influxdata/telegraf/agent.(*Agent).runOutputs
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:764 +0x1a5

goroutine 18 [select]:
go.opencensus.io/stats/view.(*worker).start(0xc000122a00)
    /data/sid/grafana-extensions/go/pkg/mod/go.opencensus.io@v0.22.3/stats/view/worker.go:154 +0x105
created by go.opencensus.io/stats/view.init.0
    /data/sid/grafana-extensions/go/pkg/mod/go.opencensus.io@v0.22.3/stats/view/worker.go:32 +0x57

goroutine 51 [syscall]:
os/signal.signal_recv(0x2ec9660)
    /usr/local/go/src/runtime/sigqueue.go:147 +0x9d
os/signal.loop()
    /usr/local/go/src/os/signal/signal_unix.go:23 +0x25
created by os/signal.Notify.func1.1
    /usr/local/go/src/os/signal/signal.go:150 +0x45

goroutine 54 [chan receive]:
github.com/influxdata/telegraf/agent.(*Agent).runOutputs(0xc000206088, 0xc0004eb4c0, 0x0, 0x0)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:774 +0x2b6
github.com/influxdata/telegraf/agent.(*Agent).Run.func1(0xc00020fd60, 0xc000206088, 0xc0004eb4c0)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:152 +0x65
created by github.com/influxdata/telegraf/agent.(*Agent).Run
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:150 +0x4ec

goroutine 55 [syscall]:
github.com/rticommunity/rticonnextdds-connector-go._Cfunc_RTIDDSConnector_delete(0x7fd5e0000ce0)
    _cgo_gotypes.go:97 +0x45
github.com/rticommunity/rticonnextdds-connector-go.(*Connector).Delete.func3(0xc0000fe040)
    /data/sid/grafana-extensions/go/src/github.com/rticommunity/rticonnextdds-connector-go/rticonnextdds_connector.go:197 +0x55
github.com/rticommunity/rticonnextdds-connector-go.(*Connector).Delete(0xc0000fe040, 0xc0000b2001, 0x7fd5f067fb28)
    /data/sid/grafana-extensions/go/src/github.com/rticommunity/rticonnextdds-connector-go/rticonnextdds_connector.go:197 +0x1b7
github.com/influxdata/telegraf/plugins/inputs/dds_consumer.(*DDSConsumer).Stop(0xc000196100)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/plugins/inputs/dds_consumer/dds_consumer.go:117 +0x2f
github.com/influxdata/telegraf/agent.stopServiceInputs(0xc0002060b0, 0x1, 0x1)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:445 +0x82
github.com/influxdata/telegraf/agent.(*Agent).runInputs(0xc000206088, 0x2ef30e0, 0xc0000a8b80, 0xbfdbc2074a694b0e, 0x38cf44c, 0x42dbe60, 0xc0004eb500, 0x0, 0x0)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:333 +0x3f0
github.com/influxdata/telegraf/agent.(*Agent).Run.func5(0xc00020fd60, 0xc000206088, 0x2ef30e0, 0xc0000a8b80, 0xbfdbc2074a694b0e, 0x38cf44c, 0x42dbe60, 0xc0004eb500)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:192 +0xab
created by github.com/influxdata/telegraf/agent.(*Agent).Run
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/agent.go:190 +0x5a8

goroutine 68 [select]:
github.com/influxdata/telegraf/agent.(*RollingTicker).run(0xc0002b69f0, 0x2ef30e0, 0xc0000a8d40, 0xc0002680f0)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/tick.go:252 +0x128
github.com/influxdata/telegraf/agent.newRollingTicker.func1(0xc0002b69f0, 0x2ef30e0, 0xc0000a8d40, 0xc0002680f0)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/tick.go:240 +0x76
created by github.com/influxdata/telegraf/agent.newRollingTicker
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/tick.go:238 +0x165

goroutine 56 [select]:
github.com/influxdata/telegraf/agent.(*UnalignedTicker).run(0xc000030ae0, 0x2ef30e0, 0xc0000fe100, 0xc0000fe140, 0x2f0b700, 0x43197f8)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/tick.go:170 +0xc5
github.com/influxdata/telegraf/agent.newUnalignedTicker.func1(0xc000030ae0, 0x2ef30e0, 0xc0000fe100, 0xc0000fe140, 0x2f0b700, 0x43197f8)
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/tick.go:147 +0x8d
created by github.com/influxdata/telegraf/agent.newUnalignedTicker
    /data/sid/grafana-extensions/go/src/github.com/influxdata/telegraf/agent/tick.go:145 +0x1d4