redshift fails to start geoclue provider after resuming network connection / hangs for 25s
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
geoclue (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
redshift (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
`redshift -l geoclue -p` hangs after resuming network operation.
This happens after resuming from hibernation, but can be reproduced by disabling and re-enabling the network via network-manager.
strace shows:
sendmsg(3, {msg_name(0)=NULL, msg_iov(
sendmsg(3, {msg_name(0)=NULL, msg_iov(
sendmsg(3, {msg_name(0)=NULL, msg_iov(
sendmsg(3, {msg_name(0)=NULL, msg_iov(
poll([{fd=3, events=POLLIN}], 1, 25000) = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name(0)=NULL, msg_iov(
write(4, "\1\0\0\0\0\0\0\0", 8) = 8
recvmsg(3, 0x7fffcd24f170, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}], 1, 25000
# Here it hangs
) = 0 (Timeout)
open(
fstat(2, {st_mode=
mmap(NULL, 4096, PROT_READ|
write(2, "Unable to obtain master client: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.\n", 243Unable to obtain master client: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
) = 243
open(
fstat(5, {st_mode=
mmap(NULL, 4096, PROT_READ|
read(5, "# Locale name alias data base.\n# Copyright (C) 1996-2001,2003,2007 Free Software Foundation, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2, or (at your option)\n# any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program; if not, write to the Free Software\n# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n\n# The format of this file is the same as for the corresponding file of\n# the X Window System, which normally can be found in\n#\t/
read(5, "", 4096) = 0
close(5) = 0
munmap(
open(
open(
open(
open(
write(2, "Failed to start provider geoclue.\n", 34Failed to start provider geoclue.
) = 34
exit_group(1) = ?
+++ exited with 1 +++
It appears to be related to DBus.
I've tried to find where the timeout could be defined, but without success - it would be probably somewhere in the geoclue package.
It would be nice if it would not fail to start / talk to the service, and in case it's unavoidable it should not use such a long timeout probably.
Also tested with redshift 1.9.1-4ubuntu1, and geoclue 0.12.99-4.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: redshift 1.8-0ubuntu6
ProcVersionSign
Uname: Linux 3.13.0-40-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.5
Architecture: amd64
CurrentDesktop: GNOME
Date: Wed Dec 3 13:18:14 2014
InstallationDate: Installed on 2012-05-28 (918 days ago)
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
SourcePackage: redshift
UpgradeStatus: Upgraded to trusty on 2014-05-01 (215 days ago)
Status changed to 'Confirmed' because the bug affects multiple users.