version: 0.32.0
branch: main
revision: bf98d8214337743a22f2eb7b35980f15ba745829
`amtool` doesn't report version correctly when installed with `go install github.com/prometheus/alertmanager/cmd/amtool@v0.32.0`
$ amtool --version
amtool, version (branch: , revision: unknown)
build user:
build date:
go version: go1.26.2
platform: darwin/arm64
tags: unknown
$ amtool check-config amconfig_bad.yaml
Checking 'amconfig.yaml'panic: runtime error: invalid memory address or nil pointer dereference [recovered, repanicked]
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x104cb7018]
goroutine 1 [running]:
gopkg.in/yaml%2ev2.handleErr(0x10242137f9d8)
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/yaml.go:249 +0x6c
panic({0x1055e1780?, 0x1057e39c0?})
/opt/homebrew/Cellar/go/1.26.2/libexec/src/runtime/panic.go:860 +0x12c
gopkg.in/yaml%2ev2.handleErr(0x10242137ecd0)
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/yaml.go:249 +0x6c
panic({0x1055e1780?, 0x1057e39c0?})
/opt/homebrew/Cellar/go/1.26.2/libexec/src/runtime/panic.go:860 +0x12c
gopkg.in/yaml%2ev2.handleErr(0x10242137e5b0)
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/yaml.go:249 +0x6c
panic({0x1055e1780?, 0x1057e39c0?})
/opt/homebrew/Cellar/go/1.26.2/libexec/src/runtime/panic.go:860 +0x12c
github.com/prometheus/alertmanager/config.(*SlackConfig).UnmarshalYAML(0x102421452380, 0x107d94a70?)
/Users/hzieba/go/pkg/mod/github.com/prometheus/alertmanager@v0.32.0/config/notifiers.go:585 +0x188
gopkg.in/yaml%2ev2.(*decoder).callUnmarshaler(0x102421136de0, 0x10242142a7e0, {0x107d94a70, 0x102421452380})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:270 +0x90
gopkg.in/yaml%2ev2.(*decoder).prepare(0x102421136de0, 0x10242142a7e0, {0x1055e8640?, 0x1024210e2738?, 0x10242137e058?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:313 +0x25c
gopkg.in/yaml%2ev2.(*decoder).unmarshal(0x102421136de0, 0x10242142a7e0, {0x1055e8640?, 0x1024210e2738?, 0x1024210f2d80?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:364 +0x180
gopkg.in/yaml%2ev2.(*decoder).sequence(0x102421136de0, 0x10242142a770, {0x10556b760?, 0x102421452230?, 0x10242137e198?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:609 +0x2a0
gopkg.in/yaml%2ev2.(*decoder).unmarshal(0x102421136de0, 0x10242142a770, {0x10556b760?, 0x102421452230?, 0x19?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:374 +0x1d8
gopkg.in/yaml%2ev2.(*decoder).mappingStruct(0x102421136de0, 0x10242142a5b0, {0x105708960?, 0x1024214521c0?, 0x105554b00?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:767 +0x9e4
gopkg.in/yaml%2ev2.(*decoder).mapping(0x102421136de0?, 0x10242142a5b0?, {0x105708960?, 0x1024214521c0?, 0x10242137e548?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:626 +0x384
gopkg.in/yaml%2ev2.(*decoder).unmarshal(0x102421136de0, 0x10242142a5b0, {0x105554b00?, 0x1024214521c0?, 0x10?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:372 +0x1f4
gopkg.in/yaml%2ev2.(*decoder).callUnmarshaler.func1({0x105554b00?, 0x1024214521c0?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:272 +0xc4
github.com/prometheus/alertmanager/config.(*Receiver).UnmarshalYAML(0x1024214521c0, 0x107d94a50?)
/Users/hzieba/go/pkg/mod/github.com/prometheus/alertmanager@v0.32.0/config/config.go:952 +0x34
gopkg.in/yaml%2ev2.(*decoder).callUnmarshaler(0x102421136de0, 0x10242142a5b0, {0x107d94a50, 0x1024214521c0})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:270 +0x90
gopkg.in/yaml%2ev2.(*decoder).prepare(0x102421136de0, 0x10242142a5b0, {0x1057084e0?, 0x1024214521c0?, 0x10242137e778?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:313 +0x25c
gopkg.in/yaml%2ev2.(*decoder).unmarshal(0x102421136de0, 0x10242142a5b0, {0x1057084e0?, 0x1024214521c0?, 0x1024210f2d50?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:364 +0x180
gopkg.in/yaml%2ev2.(*decoder).sequence(0x102421136de0, 0x10242142a540, {0x10556bc20?, 0x1024214371f8?, 0x10242137e8b8?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:609 +0x2a0
gopkg.in/yaml%2ev2.(*decoder).unmarshal(0x102421136de0, 0x10242142a540, {0x10556bc20?, 0x1024214371f8?, 0x10566ab60?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:374 +0x1d8
gopkg.in/yaml%2ev2.(*decoder).mappingStruct(0x102421136de0, 0x10242142a0e0, {0x1056de4c0?, 0x1024214371d0?, 0x105554a40?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:767 +0x9e4
gopkg.in/yaml%2ev2.(*decoder).mapping(0x102421136de0?, 0x10242142a0e0?, {0x1056de4c0?, 0x1024214371d0?, 0x10242137ec68?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:626 +0x384
gopkg.in/yaml%2ev2.(*decoder).unmarshal(0x102421136de0, 0x10242142a0e0, {0x105554a40?, 0x1024214371d0?, 0x10242137ecb8?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:372 +0x1f4
gopkg.in/yaml%2ev2.(*decoder).callUnmarshaler.func1({0x105554a40?, 0x1024214371d0?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:272 +0xc4
github.com/prometheus/alertmanager/config.(*Config).UnmarshalYAML(0x1024214371d0, 0x107d949b0?)
/Users/hzieba/go/pkg/mod/github.com/prometheus/alertmanager@v0.32.0/config/config.go:289 +0x3c
gopkg.in/yaml%2ev2.(*decoder).callUnmarshaler(0x102421136de0, 0x10242142a0e0, {0x107d949b0, 0x1024214371d0})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:270 +0x90
gopkg.in/yaml%2ev2.(*decoder).prepare(0x102421136de0, 0x10242142a0e0, {0x1056e2c40?, 0x1024214371d0?, 0x10555a500?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:313 +0x25c
gopkg.in/yaml%2ev2.(*decoder).unmarshal(0x102421136de0, 0x10242142a0e0, {0x1056e2c40?, 0x1024214371d0?, 0x10242137f978?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:364 +0x180
gopkg.in/yaml%2ev2.(*decoder).document(...)
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:384
gopkg.in/yaml%2ev2.(*decoder).unmarshal(0x102421136de0, 0x10242142a070, {0x1056e2c40?, 0x1024214371d0?, 0x10242137f9f8?})
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/decode.go:360 +0x15c
gopkg.in/yaml%2ev2.unmarshal({0x1024214400e0, 0xdb, 0xe0}, {0x1055e83c0, 0x1024214371d0}, 0x1)
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/yaml.go:148 +0x2ec
gopkg.in/yaml%2ev2.UnmarshalStrict(...)
/Users/hzieba/go/pkg/mod/gopkg.in/yaml.v2@v2.4.0/yaml.go:89
github.com/prometheus/alertmanager/config.Load({0x102421440000, 0xdb})
/Users/hzieba/go/pkg/mod/github.com/prometheus/alertmanager@v0.32.0/config/config.go:120 +0x54
github.com/prometheus/alertmanager/config.LoadFile({0x16b7cb08c, 0xd})
/Users/hzieba/go/pkg/mod/github.com/prometheus/alertmanager@v0.32.0/config/config.go:146 +0x3c
github.com/prometheus/alertmanager/cli.CheckConfig({0x102421438290?, 0x10242137fb48?, 0x10242137fc68?})
/Users/hzieba/go/pkg/mod/github.com/prometheus/alertmanager@v0.32.0/cli/check_config.go:67 +0x188
github.com/prometheus/alertmanager/cli.(*checkConfigCmd).checkConfig(...)
/Users/hzieba/go/pkg/mod/github.com/prometheus/alertmanager@v0.32.0/cli/check_config.go:48
github.com/alecthomas/kingpin/v2.(*actionMixin).applyActions(...)
/Users/hzieba/go/pkg/mod/github.com/alecthomas/kingpin/v2@v2.4.0/actions.go:28
github.com/alecthomas/kingpin/v2.(*Application).applyActions(0x102421428100?, 0x1024211a8750)
/Users/hzieba/go/pkg/mod/github.com/alecthomas/kingpin/v2@v2.4.0/app.go:568 +0xe4
github.com/alecthomas/kingpin/v2.(*Application).execute(0x102421428100, 0x1024211a8750, {0x102421438260, 0x1, 0x1})
/Users/hzieba/go/pkg/mod/github.com/alecthomas/kingpin/v2@v2.4.0/app.go:398 +0x50
github.com/alecthomas/kingpin/v2.(*Application).Parse(0x102421428100, {0x1024212b0280?, 0x1024212b0280?, 0x102421419260?})
/Users/hzieba/go/pkg/mod/github.com/alecthomas/kingpin/v2@v2.4.0/app.go:230 +0xe8
github.com/prometheus/alertmanager/cli.Execute()
/Users/hzieba/go/pkg/mod/github.com/prometheus/alertmanager@v0.32.0/cli/root.go:184 +0xff8
main.main()
/Users/hzieba/go/pkg/mod/github.com/prometheus/alertmanager@v0.32.0/cmd/amtool/main.go:19 +0x1c
What did you do?
Hi team,
I'm trying to enable #5007, but Alertmanager fails to parse config file whenever I specify
update_message: true(see broken config and logs in attachement).When
update_message: falseor I setapi_urlfor each notifier, Alertmanager is able to parse the config.$ amtool check-config amconfig_good.yaml Checking 'amconfig_good.yaml' SUCCESS Found: - global config - route - 0 inhibit rules - 1 receivers - 0 templatesWhat did you expect to see?
Validation should respect
global.slack_api_urlconfig or throw error in human-readable formatWhat did you see instead? Under which circumstances?
Fatal error during config unmarshaling
System information
Darwin 25.4.0 arm64
Alertmanager version
Alertmanager configuration file
Prometheus version
Prometheus configuration file
Not relevantLogs