[SyncEvolution] Compatibility with Evolution 3.8

Patrick Ohly patrick.ohly at intel.com
Mon Feb 10 16:53:30 UTC 2014


On Mon, 2014-02-10 at 17:17 +0100, Daniel CLEMENT wrote:
> Le lundi 10 février 2014 à 16:40 +0100, Patrick Ohly a écrit :
> > On Mon, 2014-02-10 at 15:22 +0100, Daniel CLEMENT wrote:
> > > Le dimanche 09 février 2014 à 20:05 +0100, Patrick Ohly a écrit :
> > > > On Fri, 2014-02-07 at 22:23 +0100, Daniel CLEMENT wrote:
> > > > > Perhaps there is a residue of an old config. which is still interfering?
> > > > > On this (test) PC I could try and purge and reinstall everything.
> > > > 
> > > > Even if it fails there should be some indication how. Please type the
> > > > commands below in a shell and send the resulting /tmp/syncevo.out text
> > > > file.
> > > > 
> > > > script /tmp/syncevo.out
> > > > syncevolution --daemon=no --version
> > > > SYNCEVOLUTION_DEBUG=1 gdb --args /usr/libexec/syncevo-dbus-server --no-syslog --stdout --verbosity 3 -d unlimited
> > > > run
> > > > 
> > > > Now it should still be running (no gdb command prompt). Run the sync-ui
> > > > separately. If it crashes or quits, gdb will tell you. In that case,
> > > > type
> > > > 
> > > > thread apply all bt
> > > > 
> > > I get this:
> > > -----
> > [...]
> > 
> > > ...but the 2nd command produces no further output. I tried to rerun
> > > everything, but on the next runs the syncevo.out remains empty!?
> > 
> > Can you please follow the instructions step-by-step and then attach the
> > entire /tmp/syncevo.out file? I can't believe that gdb quits without
> > printing anything. Therefore I want to see exactly what you doing.
> > Otherwise I can't help.
> > 
> > Copy-paste each line, press return after each line. The first command
> > starts a script session, the third commands starts gdb (must be
> > installed), then "run" inside gdb starts syncevo-dbus-server.
> > 
> My apology for not understanding that "run" was separated (thought it
> was an automated linebreak).
> 
> But I assure you that syncevo.out remains empty hereafter,

Perhaps one has to quit the sub-shell after leaving gdb. I expected
"script" to copy everything into the file without buffering, but you are
right, that needs to be enabled with "script --flush /tmp/syncevo.out"
explicitly.

>  so I'm trying
> to attach instead the whole contents of the shell screen. That's really
> all I see, I hope it's useful. To me it looks as if the
> syncevo-dbus-server tries to start but exits immediately.

Yes, and there *is* an error message:

/usr/libexec/syncevo-dbus-server: symbol lookup error: /usr/libexec/syncevo-dbus-server: undefined symbol: _Z21intrusive_ptr_add_refP14DBusConnection

That symbol should be provided by a library that syncevo-dbus-server is
linked against:

$ objdump -T /usr/lib/libgdbussyncevo.so.0 | grep _Z21intrusive_ptr_add_refP14DBusConnection
000000000000a640 g    DF .text	0000000000000005  Base        _Z21intrusive_ptr_add_refP14DBusConnection
$ objdump -T /usr/libexec/syncevo-dbus-server | grep _Z21intrusive_ptr_add_refP14DBusConnection
0000000000000000      DF *UND*	0000000000000000              _Z21intrusive_ptr_add_refP14DBusConnection
$ objdump -T /usr/lib/libgdbussyncevo.so.0 | grep _Z21intrusive_ptr_add_refP14DBusConnection
000000000000a640 g    DF .text	0000000000000005  Base        _Z21intrusive_ptr_add_refP14DBusConnection
$ readelf -a /usr/libexec/syncevo-dbus-server | grep NEED
  [ 9] .gnu.version_r    VERNEED          0000000000477198  00077198
 0x0000000000000001 (NEEDED)             Shared library: [libgdbussyncevo.so.0]
...
$ ldd /usr/libexec/syncevo-dbus-server | grep libgdbussyncevo.so.0
	libgdbussyncevo.so.0 => /usr/lib/libgdbussyncevo.so.0 (0x00007f02d5764000)

Do you get similar output on your system for these commands?

To debug this, run
LD_DEBUG=all /usr/libexec/syncevo-dbus-server 2>/tmp/ld.log
and attach the resulting ld.log.

When I run that, _Z21intrusive_ptr_add_refP14DBusConnection is not
needed, which is a bit unexpected.

Therefore there is one more test that you could run:
      * Start syncevo-dbus-server und gdb, as before.
      * Before "run", enter "b
        _Z21intrusive_ptr_add_refP14DBusConnection".
      * Then run.
      * When it stops, "where".

I am not sure whether it'll work. On Debian Wheezy, gdb segfaults.

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.





More information about the SyncEvolution mailing list