Panic: reflect: call of reflect.Value.Int on zero Value


Having trouble getting started with heartbeat. I'd like it to ping another host. Here's my setup:

    $ sudo cat heartbeat.yml | sed -e '/^ *#/d; /^ *$/d'
    - type: icmp
      schedule: '*/5 * * * * * *'
      hosts: [""]
      index.number_of_shards: 1
      index.codec: best_compression
      hosts: ["localhost:9200"]

... and here's what happens when I start heartbeat:

    $ sudo ./heartbeat -e -c heartbeat.yml
    2018-06-13T12:35:23.418+0100    INFO    instance/beat.go:468    Home path: [/Users/davidturner/stack-6.2.4/heartbeat-6.2.4-darwin-x86_64] Config path: [/Users/davidturner/stack-6.2.4/heartbeat-6.2.4-darwin-x86_64] Data path: [/Users/davidturner/stack-6.2.4/heartbeat-6.2.4-darwin-x86_64/data] Logs path: [/Users/davidturner/stack-6.2.4/heartbeat-6.2.4-darwin-x86_64/logs]
    2018-06-13T12:35:23.418+0100    INFO    instance/beat.go:475    Beat UUID: a6d913a0-fe9c-4ccf-9aff-b84683e4a9fd
    2018-06-13T12:35:23.418+0100    INFO    instance/beat.go:213    Setup Beat: heartbeat; Version: 6.2.4
    2018-06-13T12:35:23.418+0100    INFO    elasticsearch/client.go:145     Elasticsearch url: http://localhost:9200
    2018-06-13T12:35:23.418+0100    INFO    pipeline/module.go:76   Beat name: Davids-MacBook-Pro-3.local
    2018-06-13T12:35:23.418+0100    WARN    beater/heartbeat.go:24  Beta: Heartbeat is beta software
    2018-06-13T12:35:23.418+0100    INFO    beater/manager.go:110   Select (active) monitor icmp
    panic: reflect: call of reflect.Value.Int on zero Value

    goroutine 1 [running]:
    reflect.Value.Int(0x0, 0x0, 0x0, 0x4be44d6)
            /usr/local/go/src/reflect/value.go:914 +0x141, 0xc42000e8c8, 0xc42000e8c8, 0x522b4a0, 0xc42000e8c8)
            /go/src/ +0x196*payloadHandler).sysfd(0xc420487650, 0xc420487630, 0xc42000e8c8, 0x522b4a0)
            /go/src/ +0x5b, 0xc42000e8c8, 0x0)
            /go/src/ +0x104, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0)
            /go/src/ +0x671, 0x4, 0x4be71fd, 0x8, 0x17)
            /go/src/ +0x54, 0x17, 0x0)
            /go/src/ +0x4f
            /go/src/ +0x6a
    sync.(*Once).Do(0x5297a60, 0xc420236d68)
            /usr/local/go/src/sync/once.go:44 +0xbe, 0x4, 0x1, 0xc4204405a0, 0x0, 0x0, 0x0, 0xc4203d7280, 0xc420236ef8)
            /go/src/ +0x1cb*entry).Create(0xc4203d1940, 0xc4204405a0, 0xc4203d07e0, 0x4, 0x4, 0x0, 0x0)
            /go/src/ +0x51*entry).Create-fm(0xc4204405a0, 0x4a03b20, 0xc42035fa40, 0x0, 0x0, 0x0)
            /go/src/ +0x34*monitor).Update(0xc4202375b8, 0xc420237518, 0x1, 0x1, 0x0, 0x1)
            /go/src/ +0x301, 0xc420360500, 0x52147e0, 0xc4203d7000, 0xc42000e068, 0xc42000e7b8, 0x1, 0x1, 0xc4203d94c0, 0x1, ...)
            /go/src/ +0x924, 0xc4203d2c00, 0x4be7dcc, 0x9, 0x4be3a4f, 0x5)
            /go/src/ +0x39a*Beat).createBeater(0xc4200fc540, 0x4c27880, 0x0, 0xc42007a1b0, 0x2e0020369920, 0x1b0)
            /go/src/ +0x40b*Beat).launch(0xc4200fc540, 0x4c27880, 0x0, 0x0)
            /go/src/ +0xd1, 0x9, 0x4be7dcc, 0x9, 0x0, 0x0, 0x4c27880, 0xc420010150, 0xc420237d40)
            /go/src/ +0xa8, 0x9, 0x4be7dcc, 0x9, 0x0, 0x0, 0x4c27880, 0x0, 0x0)
            /go/src/ +0x71, 0xc42028f620, 0x0, 0x3)
            /go/src/ +0x60*Command).execute(0xc4203c0000, 0xc420010150, 0x3, 0x3, 0xc4203c0000, 0xc420010150)
            /go/src/ +0x2c6*Command).ExecuteC(0xc4203c0000, 0x4be7dcc, 0x9, 0x0)
            /go/src/ +0x30e*Command).Execute(0xc4203c0000, 0xc420237f70, 0x4993359)
            /go/src/ +0x2b
            /go/src/ +0x2f

Not sure where to go from here. Any advice appreciated.


You're hitting a bug with ICMP under Mac, caused by beats using an old version of the package.

The bug is fixed in 6.3, can you upgrade?

Thanks @adrisr, "fixed in 6.3" is enough for me.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.