Sync-UI can't connect to SyncEvolution to find services

Bug #997050 reported by old_toby
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
syncevolution (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Since the upgrade from Oneiric to Precise Sync-UI can't connect to SyncEvolution anymore.

To reproduce:

1. Start Sync-UI

No services are shown. If started from the terminal, the following messages appear after a while:

** (sync-ui:14135): WARNING **: Server.Attach failed: 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.

** (sync-ui:14135): WARNING **: Server.GetConfig failed: 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.

** (sync-ui:14135): WARNING **: Server.GetSessions failed: 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.

2. Click on Change Sync Service (or similar, my ubuntu speaks German)

Sync-UI tries to load services, after a while I get the error message "Liste der unterstützten Services konnte nicht von SyncEvolution empfangen werden." ("List of supported service couldn't be received from SyncEvolution", or similar) in the UI.

It's also not possible to add a new service.

3. Quit Sync-UI

A last warning in the terminal appears:

** (sync-ui:14135): WARNING **: Server.GetConfigs() failed: 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.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: sync-ui 1.2.2-1
ProcVersionSignature: Ubuntu 3.2.0-24.38-generic 3.2.16
Uname: Linux 3.2.0-24-generic i686
ApportVersion: 2.0.1-0ubuntu7
Architecture: i386
Date: Wed May 9 11:45:50 2012
ProcEnviron:
 LANGUAGE=de_CH:de
 TERM=xterm
 PATH=(custom, user)
 LANG=de_CH.UTF-8
 SHELL=/bin/bash
SourcePackage: syncevolution
UpgradeStatus: Upgraded to precise on 2012-05-01 (7 days ago)

Revision history for this message
old_toby (simon-hornweb) wrote :
Revision history for this message
old_toby (simon-hornweb) wrote :

Forgot to say that I purged sync-ui, syncevolution and syncevolution-dbus from the system and reinstalled it. Unfortunately with no effect.

Revision history for this message
Patrick Ohly (patrick-ohly) wrote :

What output do you get when running /usr/libexec/syncevo-dbus-server in a shell and then start sync-ui?

I expect the daemon to crash. Can you run it under a debugger and capture a stack backtrace?

gdb /usr/libexec/syncevo-dbus-server
$ run
...
$ thread apply all bt

Revision history for this message
old_toby (simon-hornweb) wrote :

I also expectet the server to crash, especially since I found a lot of segfault related forum-threads on the web. The strange thing here is that it doesn't. When I start sync-ui, syncevo-dbus-server is started, and after I quit sync-ui, the server stays there.
So I opened two terminals, started /usr/lib/syncevolution/syncevo-dbus-server in one and sync-ui in the other. After quitting sync-ui I had to end the server with ctrl+C.

So here is the gdb output:

GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/lib/syncevolution/syncevo-dbus-server...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/lib/syncevolution/syncevo-dbus-server
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb7fd8b40 (LWP 25316)]
[INFO] /usr/lib/syncevolution/syncevo-dbus-server: ready to run
^C
Program received signal SIGINT, Interrupt.
0x00132416 in __kernel_vsyscall ()
(gdb) thread apply all bt

Thread 2 (Thread 0xb7fd8b40 (LWP 25316)):
#0 0x00132416 in __kernel_vsyscall ()
#1 0x00685380 in poll () from /lib/i386-linux-gnu/libc.so.6
#2 0x00394a3b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3 0x0038706e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4 0x0038752b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5 0x00a240ea in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#6 0x003aa673 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7 0x00488d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8 0x00693ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb7fda740 (LWP 25313)):
#0 0x00132416 in __kernel_vsyscall ()
#1 0x00685380 in poll () from /lib/i386-linux-gnu/libc.so.6
#2 0x00394a3b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3 0x0038706e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4 0x0038752b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5 0x0809cd77 in SyncEvo::DBusServer::run() ()
#6 0x0807ff09 in main ()

Revision history for this message
Patrick Ohly (patrick-ohly) wrote :

Are you sure that there was no other syncevo-dbus-server running? It should have complained about that, though.

Regarding "a lot of segfault related forum-threads on the web" - I'm not aware of those. Very few crashes were ever reported to me, and those should all be fixed in 1.2.2. Do you have some pointers?

Can you try again and this time also check what dbus-monitor in another shell window reports? It should show that syncevo-dbus-server claims the bus name org.syncevolution.server when it starts, then show GetConfig method calls and their replies as the sync-ui starts talking to the daemon.

Revision history for this message
old_toby (simon-hornweb) wrote :

Well, maybe my comment about the many segfault related threads were a bit exaggerated. They just jumped into my eye when I googled all these different messages and warnings I got ;-)

syncevo-dbus-server was not running before I started sync-ui. But when I started sync-ui again (with the old syncevo-dbus-server from the first try was still running), it didn't complain either.

The output of dbus-monitor is attached. I see that it claims the name org.syncevolution.Server and calls the GetConfig method, but the reply of the daemon is close to nothing.

Revision history for this message
Patrick Ohly (patrick-ohly) wrote :

Indeed it looks like syncevo-dbus-server doesn't process D-Bus messages. I wonder whether this is specific to the way how SyncEvolution was compiled for Ubuntu or a general problem with Ubuntu's system libraries.

Does this also occur when installing the binaries from syncevolution.org? See http://syncevolution.org/documentation/installation

Revision history for this message
old_toby (simon-hornweb) wrote :

Ok. Everything I did now was copying the syncevo-dbus-server binary from the site (version 1.2.2, as installed on ubuntu) to /usr/lib/syncevolution, and it worked.

Well, it did not (yet) solve my problem that I get a status 401 while trying to connect to everdroid, but that's another story.

Revision history for this message
Patrick Ohly (patrick-ohly) wrote :

At this point it looks to me like something goes wrong in the compilation of SyncEvolution on Ubuntu Precise and hope that the Ubuntu maintainers will be able to look into this.

If not, then perhaps SyncEvolution 1.3 will solve the problem by avoiding the libdbus library, which seems to be part of the problem. The new code can use GIO D-Bus instead and will use it if found during compilation. FWIW, my testing already uses GIO D-Bus on Debian Testing. I'm no longer compiling with libdbus there ( I only run the binaries compiled on Ubuntu Lucid), so perhaps that's why I don't see this problem myself.

Revision history for this message
LR (lr-lr) wrote :

in my case a simpe "sudo apt-get --reinstall install dbus" did solve the problem.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in syncevolution (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.