element-hq / element-hq/synapse

IPv6 seems unsupported for metrics-listener

Open
#6,644 0 comments 0 reactions 0 assignees View on GitHub
A-Metrics P4 S-Minor T-Defect
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

This issue has been migrated from [#6644](https://github.com/matrix-org/synapse/issues/6644).

---

### Description

metrics-listener makes synapse crash when assigned an IPv6-bind_address

### Steps to reproduce

Add
```
listeners:
- type: metrics
port: 19000
bind_addresses:
- '127.0.0.1'
```
to the `/etc/matrix-synapse/homeserver.yaml` and everything works, change it to either
```
listeners:
- type: metrics
port: 19000
bind_addresses:
- '::1'
```
or
```
listeners:
- type: metrics
port: 19000
bind_addresses:
- '127.0.0.1'
- '::1'
```
and synapse will not start anymore, instead yielding the following traceback:

```
twisted: [] Traceback (most recent call last):
twisted: [] File "/usr/lib/python3/dist-packages/synapse/app/_base.py", line 271, in start
twisted: [] hs.start_listening(listeners)
twisted: [] File "/usr/lib/python3/dist-packages/synapse/app/homeserver.py", line 293, in start_listening
twisted: [] _base.listen_metrics(listener["bind_addresses"], listener["port"])
twisted: [] File "/usr/lib/python3/dist-packages/synapse/app/_base.py", line 160, in listen_metrics
twisted: [] start_http_server(port, addr=host, registry=RegistryProxy)
twisted: [] File "/usr/lib/python3/dist-packages/synapse/metrics/_exposition.py", line 242, in start_http_server
twisted: [] httpd = _ThreadingSimpleServer((addr, port), CustomMetricsHandler)
twisted: [] File "/usr/lib/python3.7/socketserver.py", line 452, in __init__
twisted: [] self.server_bind()
twisted: [] File "/usr/lib/python3.7/http/server.py", line 137, in server_bind
twisted: [] socketserver.TCPServer.server_bind(self)
twisted: [] File "/usr/lib/python3.7/socketserver.py", line 466, in server_bind
twisted: [] self.socket.bind(self.server_address)
twisted: [] socket.gaierror: [Errno -9] Address family for hostname not supported
twisted: [] Unhandled error in Deferred:
twisted: []
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/synapse/app/_base.py", line 271, in start
hs.start_listening(listeners)
File "/usr/lib/python3/dist-packages/synapse/app/homeserver.py", line 293, in start_listening
_base.listen_metrics(listener["bind_addresses"], listener["port"])
File "/usr/lib/python3/dist-packages/synapse/app/_base.py", line 160, in listen_metrics
start_http_server(port, addr=host, registry=RegistryProxy)
File "/usr/lib/python3/dist-packages/synapse/metrics/_exposition.py", line 242, in start_http_server
httpd = _ThreadingSimpleServer((addr, port), CustomMetricsHandler)
File "/usr/lib/python3.7/socketserver.py", line 452, in __init__
self.server_bind()
File "/usr/lib/python3.7/http/server.py", line 137, in server_bind
socketserver.TCPServer.server_bind(self)
File "/usr/lib/python3.7/socketserver.py", line 466, in server_bind
self.socket.bind(self.server_address)
socket.gaierror: [Errno -9] Address family for hostname not supported

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks
result = g.send(result)
File "/usr/lib/python3/dist-packages/synapse/app/homeserver.py", line 413, in start
_base.start(hs, config.listeners)
File "/usr/lib/python3/dist-packages/synapse/app/_base.py", line 281, in start
sys.exit(1)
SystemExit: 1
```

### Version information

- **Version**: 1.7.3
- **Install method**: package manager/apt
- **Platform**: [Debian 10 Buster, backports-repository](https://packages.debian.org/buster-backports/matrix-synapse)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.