mumble-voip / mumble

Mumble is an open-source, low-latency, high quality voice chat software.
https://www.mumble.info
Other
6.41k stars 1.12k forks source link

Murmur doesn't listen on ports after reboot #1904

Closed rpasing closed 7 years ago

rpasing commented 8 years ago

Hi,

I am using the murmur package in Arch Linux ( https://www.archlinux.org/packages/community/x86_64/murmur/ ).

I configured everything, set up the server, everything works great, except that murmur seems to not listen on the configured ports after a server reboot (I need to manually restart the murmur service after a reboot for it to listen on the appropriate ports).

In other words: I enabled the murmur systemd service, and the service is starting successfully after a reboot, however, connecting to the server via the mumble client fails, if not I manually restart the murmur service after a reboot (althought the service is already running!).

Here are some relevant infos:

"Directly" (47min) after reboot:

systemctl status murmur

● murmur.service - Mumble Daemon
Loaded: loaded (/usr/lib/systemd/system/murmur.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2015-11-01 02:26:04 CET; 47min ago
Main PID: 406 (murmurd)
CGroup: /system.slice/murmur.service
└─406 /usr/bin/murmurd -ini /etc/murmur.ini -fg

journalctl -b -u murmur

-- Logs begin at Tue 2014-05-27 05:00:06 CEST, end at Sun 2015-11-01 03:13:49 CET. --
Nov 01 02:26:04 XXX systemd[1]: Started Mumble Daemon.
Nov 01 02:26:07 XXX murmurd[406]: <W>2015-11-01 02:26:07.371 Initializing settings from /etc/murmur.ini (basepath /etc)
Nov 01 02:26:07 XXX murmurd[406]: <W>2015-11-01 02:26:07.391 Meta: TLS cipher preference is "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-
Nov 01 02:26:07 XXX murmurd[406]: <W>2015-11-01 02:26:07.391 OpenSSL: OpenSSL 1.0.2d 9 Jul 2015
Nov 01 02:26:07 XXX murmurd[406]: <C>2015-11-01 02:26:07.391 Successfully switched to uid 86
Nov 01 02:26:08 XXX murmurd[406]: <W>2015-11-01 02:26:08.451 ServerDB: Opened SQLite database /var/lib/murmur/murmur.sqlite
Nov 01 02:26:08 XXX murmurd[406]: <W>2015-11-01 02:26:08.475 Resource limits were 0 0
Nov 01 02:26:08 XXX murmurd[406]: <W>2015-11-01 02:26:08.475 Successfully dropped capabilities
Nov 01 02:26:08 XXX murmurd[406]: <W>2015-11-01 02:26:08.529 Failed to connect to D-Bus session
Nov 01 02:26:08 XXX murmurd[406]: <W>2015-11-01 02:26:08.569 Murmur 1.2.10 (1.2.10) running on X11: Arch Linux: Booting servers
Nov 01 02:26:09 XXX murmurd[406]: <W>2015-11-01 02:26:09.127 1 => Announcing server via bonjour
Nov 01 02:26:09 XXX murmurd[406]: <W>2015-11-01 02:26:09.309 1 => Not registering server as public
Nov 01 02:26:09 XXX murmurd[406]: <W>2015-11-01 02:26:09.309 Object::connect: No such slot MurmurDBus::userTextMessage(const User *, const TextMessage &)

Now I tried to connect to the server via the official murmur client, and it is not possible ("Connection refused") - seems like it is not listening on the ports, so I did this and got the following logs:

systemctl restart murmur

journalctl -b -u murmur

-- Logs begin at Tue 2014-05-27 05:00:06 CEST, end at Sun 2015-11-01 03:21:09 CET. --
Nov 01 02:26:04 XXX systemd[1]: Started Mumble Daemon.
Nov 01 02:26:07 XXX murmurd[406]: <W>2015-11-01 02:26:07.371 Initializing settings from /etc/murmur.ini (basepath /etc)
Nov 01 02:26:07 XXX murmurd[406]: <W>2015-11-01 02:26:07.391 Meta: TLS cipher preference is "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-
Nov 01 02:26:07 XXX murmurd[406]: <W>2015-11-01 02:26:07.391 OpenSSL: OpenSSL 1.0.2d 9 Jul 2015
Nov 01 02:26:07 XXX murmurd[406]: <C>2015-11-01 02:26:07.391 Successfully switched to uid 86
Nov 01 02:26:08 XXX murmurd[406]: <W>2015-11-01 02:26:08.451 ServerDB: Opened SQLite database /var/lib/murmur/murmur.sqlite
Nov 01 02:26:08 XXX murmurd[406]: <W>2015-11-01 02:26:08.475 Resource limits were 0 0
Nov 01 02:26:08 XXX murmurd[406]: <W>2015-11-01 02:26:08.475 Successfully dropped capabilities
Nov 01 02:26:08 XXX murmurd[406]: <W>2015-11-01 02:26:08.529 Failed to connect to D-Bus session
Nov 01 02:26:08 XXX murmurd[406]: <W>2015-11-01 02:26:08.569 Murmur 1.2.10 (1.2.10) running on X11: Arch Linux: Booting servers
Nov 01 02:26:09 XXX murmurd[406]: <W>2015-11-01 02:26:09.127 1 => Announcing server via bonjour
Nov 01 02:26:09 XXX murmurd[406]: <W>2015-11-01 02:26:09.309 1 => Not registering server as public
Nov 01 02:26:09 XXX murmurd[406]: <W>2015-11-01 02:26:09.309 Object::connect: No such slot MurmurDBus::userTextMessage(const User *, const TextMessage &)
Nov 01 03:21:08 XXX systemd[1]: Stopping Mumble Daemon...
Nov 01 03:21:08 XXX murmurd[406]: <C>2015-11-01 03:21:08.391 Caught SIGTERM, exiting
Nov 01 03:21:08 XXX murmurd[406]: <W>2015-11-01 03:21:08.391 Killing running servers
Nov 01 03:21:08 XXX murmurd[406]: <W>2015-11-01 03:21:08.606 1 => Stopped announcing server via bonjour
Nov 01 03:21:08 XXX murmurd[406]: <W>2015-11-01 03:21:08.697 1 => Stopped
Nov 01 03:21:08 XXX murmurd[406]: <W>2015-11-01 03:21:08.697 Shutting down
Nov 01 03:21:08 XXX systemd[1]: Stopped Mumble Daemon.
Nov 01 03:21:08 XXX systemd[1]: Started Mumble Daemon.
Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.727 Initializing settings from /etc/murmur.ini (basepath /etc)
Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.727 Meta: TLS cipher preference is "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE
Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.727 OpenSSL: OpenSSL 1.0.2d 9 Jul 2015
Nov 01 03:21:08 XXX murmurd[1478]: <C>2015-11-01 03:21:08.728 Successfully switched to uid 86
Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.747 ServerDB: Opened SQLite database /var/lib/murmur/murmur.sqlite
Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.747 Resource limits were 0 0
Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.747 Successfully dropped capabilities
Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.747 Failed to connect to D-Bus session
Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.752 Murmur 1.2.10 (1.2.10) running on X11: Arch Linux: Booting servers
Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.903 1 => Server listening on [::]:64738
Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.980 1 => Announcing server via bonjour
Nov 01 03:21:09 XXX murmurd[1478]: <W>2015-11-01 03:21:09.100 1 => Not registering server as public
Nov 01 03:21:09 XXX murmurd[1478]: <W>2015-11-01 03:21:09.100 Object::connect: No such slot MurmurDBus::userTextMessage(const User *, const TextMessage &)

systemctl status murmur

● murmur.service - Mumble Daemon
Loaded: loaded (/usr/lib/systemd/system/murmur.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2015-11-01 03:21:08 CET; 1min 17s ago
Main PID: 1478 (murmurd)
CGroup: /system.slice/murmur.service
└─1478 /usr/bin/murmurd -ini /etc/murmur.ini -fg

Now the connection is possible, without any problems!

Please notice the difference in the log output for the murmur server startup, this line is missing directly after a reboot, and is only existant when I manually restart murmur:

 Nov 01 03:21:08 XXX murmurd[1478]: <W>2015-11-01 03:21:08.903 1 => Server listening on [::]:64738

I found the following bug report, which describes the same problem, but I do not have the same log output (about the time being incorrect; my time is correct already directly after a reboot): http://archlinuxarm.org/forum/viewtopic.php?t=6926&p=38208

I reported this bug originally directly to the packager for Arch Linux, but he asked me to create a bugreport upstream [ https://bugs.archlinux.org/task/46897 ].

If you need more info, please let me know!

I hope we can find the cause for this.

Thank you Regards rpasing

actown commented 8 years ago

Is it possible that networking hasn't started when murmurd starts? What's in /usr/lib/systemd/system/murmur.service?

rpasing commented 8 years ago

Hm, no, don't think so. murmur.service file: https://projects.archlinux.org/svntogit/community.git/tree/trunk/murmur.service?h=packages/murmur

fedpop commented 8 years ago

I think I can reproduce this bug too. If murmur starts without network available then it won't try to bind to the port again later and it won't exit so that systemd can restart it.

@rpasing the After=network.target stanza won't insure that network is actually working, only that network target has started.

fedpop commented 8 years ago

see #1629

oLaNceLoTo commented 8 years ago

For windows add a key "DelayedAutoStart" to the service register (regedit)....