abrt 1.1.1 detected a crash. architecture: x86_64 Attached file: backtrace cmdline: /usr/libexec/syncevo-dbus-server component: syncevolution crash_function: dbus_error_is_set executable: /usr/libexec/syncevo-dbus-server global_uuid: da45c35357e3bc7aa54841b0deebe210aaf0e219 kernel: 2.6.33.5-112.fc13.x86_64 package: syncevolution-1:1.0-2.fc13 rating: 4 reason: Process /usr/libexec/syncevo-dbus-server was killed by signal 11 (SIGSEGV) release: Fedora release 13 (Goddard) How to reproduce: Log-in and wait
Created attachment 425837 [details] File: backtrace
Package: syncevolution-1:1.0-2.fc13 Architecture: i686 OS Release: Fedora release 13 (Goddard) How to reproduce ----- 1.Open syncevolution-gui or simply type syncevolution in a shell 2. 3. Comment ----- The program crashes before starting
*** Bug 606569 has been marked as a duplicate of this bug. ***
*** Bug 606653 has been marked as a duplicate of this bug. ***
*** Bug 606724 has been marked as a duplicate of this bug. ***
*** Bug 606781 has been marked as a duplicate of this bug. ***
Package: syncevolution-1:1.0-2.fc13 Architecture: i686 OS Release: Fedora release 13 (Goddard) How to reproduce ----- 1.started evolution 2. 3.
Can someone please provide the following information: - output of "ldd /usr/libexec/syncevo-dbus-server" - output of valgrind when it crashes To gather that output: $ killall syncevo-dbus-server $ valgrind --track-origins=yes /usr/libexec/syncevo-dbus-server 2>&1 | tee /tmp/syncevo-dbus-server.log In another shell: $ syncevolution --version ... or use whatever command normally triggers the crash.
Output of ldd ----- ldd /usr/libexec/syncevo-dbus-server linux-gate.so.1 => (0x0097f000) libgdbus.so.0 => /usr/lib/libgdbus.so.0 (0x005de000) libsyncevolution.so.0 => /usr/lib/libsyncevolution.so.0 (0x02179000) libedataserver-1.2.so.11 => /usr/lib/libedataserver-1.2.so.11 (0x0537a000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0x05462000) libgconf-2.so.4 => /usr/lib/libgconf-2.so.4 (0x006db000) libsynthesis.so.0 => /usr/lib/libsynthesis.so.0 (0x02000000) libpcre.so.0 => /lib/libpcre.so.0 (0x00566000) libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x07e95000) libexpat.so.1 => /lib/libexpat.so.1 (0x00dcf000) libical.so.0 => /usr/lib/libical.so.0 (0x0257a000) libicalss.so.0 => /usr/lib/libicalss.so.0 (0x02562000) libicalvcal.so.0 => /usr/lib/libicalvcal.so.0 (0x00546000) libsmltk.so.0 => /usr/lib/libsmltk.so.0 (0x007c0000) libz.so.1 => /lib/libz.so.1 (0x00a0e000) libsoup-gnome-2.4.so.1 => /usr/lib/libsoup-gnome-2.4.so.1 (0x0066d000) libsoup-2.4.so.1 => /usr/lib/libsoup-2.4.so.1 (0x005e9000) libcppunit-1.12.so.1 => /usr/lib/libcppunit-1.12.so.1 (0x00598000) libdl.so.2 => /lib/libdl.so.2 (0x009fc000) libgnome-keyring.so.0 => /usr/lib/libgnome-keyring.so.0 (0x07c1e000) libnotify.so.1 => /usr/lib/libnotify.so.1 (0x07fec000) libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x071d5000) libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0x00506000) libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00428000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x004e5000) libgio-2.0.so.0 => /lib/libgio-2.0.so.0 (0x00bb4000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00383000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x0035d000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x003af000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00268000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x002fb000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00114000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00221000) libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0x00bae000) libdbus-1.so.3 => /lib/libdbus-1.so.3 (0x001ae000) libpthread.so.0 => /lib/libpthread.so.0 (0x009df000) libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0x00b67000) libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x00b60000) librt.so.1 => /lib/librt.so.1 (0x00a03000) libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00a23000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x07995000) libm.so.6 => /lib/libm.so.6 (0x009b3000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0071d000) libc.so.6 => /lib/libc.so.6 (0x00df7000) libplds4.so => /lib/libplds4.so (0x07c18000) libplc4.so => /lib/libplc4.so (0x07d8e000) libnspr4.so => /lib/libnspr4.so (0x07d95000) libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x04ef2000) libssl.so.10 => /usr/lib/libssl.so.10 (0x05ec1000) libcrypto.so.10 => /lib/libcrypto.so.10 (0x05d35000) libORBit-2.so.0 => /usr/lib/libORBit-2.so.0 (0x00675000) libproxy.so.0 => /usr/lib/libproxy.so.0 (0x07add000) libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x0081f000) libgcrypt.so.11 => /lib/libgcrypt.so.11 (0x0073d000) /lib/ld-linux.so.2 (0x007ff000) libX11.so.6 => /usr/lib/libX11.so.6 (0x00c90000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x002ea000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00101000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00346000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x004e0000) libXi.so.6 => /usr/lib/libXi.so.6 (0x00258000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x002f1000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00351000) libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x0037e000) libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x001f5000) libresolv.so.2 => /lib/libresolv.so.2 (0x00b45000) libselinux.so.1 => /lib/libselinux.so.1 (0x00b25000) libpng12.so.0 => /usr/lib/libpng12.so.0 (0x001f8000) libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x003bd000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x050df000) libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x07965000) libkrb5.so.3 => /lib/libkrb5.so.3 (0x07878000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x007bb000) libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x0784b000) libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x07bc9000) libgpg-error.so.0 => /lib/libgpg-error.so.0 (0x00717000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00c70000) libfreebl3.so => /lib/libfreebl3.so (0x05111000) libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x007e6000) libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x007f1000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00dca000)
Output of valgrind ATTENTION valgrind exits before I can run any instance of syncevolution ----- valgrind --track-origins=yes /usr/libexec/syncevo-dbus-server 2>&1 | tee /tmp/syncevo-dbus-server.log ==8272== Memcheck, a memory error detector ==8272== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==8272== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info ==8272== Command: /usr/libexec/syncevo-dbus-server ==8272== ==8272== Invalid read of size 4 ==8272== at 0x1BF08A: dbus_error_is_set (in /lib/libdbus-1.so.3.4.0) ==8272== by 0x1B7FF5: ??? (in /lib/libdbus-1.so.3.4.0) ==8272== by 0x5E069C: g_dbus_setup_bus (in /usr/lib/libgdbus.so.0.0.0) ==8272== by 0x809D738: main (in /usr/libexec/syncevo-dbus-server) ==8272== Address 0x1 is not stack'd, malloc'd or (recently) free'd ==8272== ==8272== ==8272== HEAP SUMMARY: ==8272== in use at exit: 89,846 bytes in 1,545 blocks ==8272== total heap usage: 1,993 allocs, 448 frees, 150,031 bytes allocated ==8272== ==8272== LEAK SUMMARY: ==8272== definitely lost: 0 bytes in 0 blocks ==8272== indirectly lost: 0 bytes in 0 blocks ==8272== possibly lost: 41,888 bytes in 1,094 blocks ==8272== still reachable: 47,958 bytes in 451 blocks ==8272== suppressed: 0 bytes in 0 blocks ==8272== Rerun with --leak-check=full to see details of leaked memory ==8272== ==8272== For counts of detected and suppressed errors, rerun with: -v ==8272== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 147 from 13)
sorry this is the complete one... valgrind --track-origins=yes /usr/libexec/syncevo-dbus-server 2>&1 | tee /tmp/syncevo-dbus-server.log ==2693== Memcheck, a memory error detector ==2693== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==2693== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info ==2693== Command: /usr/libexec/syncevo-dbus-server ==2693== ==2693== Invalid read of size 4 ==2693== at 0x1BF08A: dbus_error_is_set (dbus-errors.c:330) ==2693== by 0x1B7FF5: internal_bus_get (dbus-bus.c:435) ==2693== by 0x5E069C: g_dbus_setup_bus (mainloop.c:458) ==2693== by 0x809D738: main (in /usr/libexec/syncevo-dbus-server) ==2693== Address 0x1 is not stack'd, malloc'd or (recently) free'd ==2693== ==2693== ==2693== HEAP SUMMARY: ==2693== in use at exit: 89,846 bytes in 1,545 blocks ==2693== total heap usage: 1,993 allocs, 448 frees, 150,031 bytes allocated ==2693== ==2693== LEAK SUMMARY: ==2693== definitely lost: 0 bytes in 0 blocks ==2693== indirectly lost: 0 bytes in 0 blocks ==2693== possibly lost: 41,888 bytes in 1,094 blocks ==2693== still reachable: 47,958 bytes in 451 blocks ==2693== suppressed: 0 bytes in 0 blocks ==2693== Rerun with --leak-check=full to see details of leaked memory ==2693== ==2693== For counts of detected and suppressed errors, rerun with: -v ==2693== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 148 from 13)
Unfortunately the valgrind output does not tell where this invalid pointer comes from. Can someone verify whether it also occurs with the .rpm from syncevolution.org? http://downloads.syncevolution.org/syncevolution/evolution/syncevolution-evolution-1.0-2.i386.rpm http://downloads.syncevolution.org/syncevolution/evolution/syncevolution-evolution-1.0-2.x86_64.rpm Another worthwhile exercise would be to recompile libdbus-1.so.3 without optimization, then set a breakpoint in dbus_bus_get_private when running the server under gdb.
The error occurs even with rpms from syncevolution.org... (I tested the i386 one) :( Here I made the valgring backtrace from running /usr/bin/syncevolution... Can this be useful? valgrind --track-origins=yes /usr/bin/syncevolution 2>&1 ==27902== Memcheck, a memory error detector ==27902== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==27902== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info ==27902== Command: /usr/bin/syncevolution ==27902== ==27902== Invalid read of size 4 ==27902== at 0x1BF08A: dbus_error_is_set (dbus-errors.c:330) ==27902== by 0x1B7FF5: internal_bus_get (dbus-bus.c:435) ==27902== by 0x5E069C: g_dbus_setup_bus (mainloop.c:458) ==27902== by 0x805CA59: SyncEvo::RemoteDBusServer::RemoteDBusServer() (in /usr/bin/syncevolution) ==27902== by 0x805EBB5: main (in /usr/bin/syncevolution) ==27902== Address 0x1 is not stack'd, malloc'd or (recently) free'd ==27902== ==27902== ==27902== HEAP SUMMARY: ==27902== in use at exit: 90,852 bytes in 1,601 blocks ==27902== total heap usage: 2,054 allocs, 453 frees, 151,481 bytes allocated ==27902== ==27902== LEAK SUMMARY: ==27902== definitely lost: 0 bytes in 0 blocks ==27902== indirectly lost: 0 bytes in 0 blocks ==27902== possibly lost: 41,996 bytes in 1,098 blocks ==27902== still reachable: 48,856 bytes in 503 blocks ==27902== suppressed: 0 bytes in 0 blocks ==27902== Rerun with --leak-check=full to see details of leaked memory ==27902== ==27902== For counts of detected and suppressed errors, rerun with: -v ==27902== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 128 from 13) If you need a more detailed one i can make that (--leak-check=full)...
(In reply to comment #13) > The error occurs even with rpms from syncevolution.org... (I tested the i386 > one) :( These are exactly the same binaries that run fine elsewhere. They are not compiled separately for the .rpm package. This implies that it must be something in the FC13 version of libdbus that is broken here. SyncEvolution uses dbus_bus_get_private(), which is not what most other apps use. The next step is that someone compiles the libdbus with debug information and without optimization to check why the error pointer is invalid.
Created attachment 427030 [details] Patch to not build gdbus as a shared lib This one has a simple explanation, Fedora includes a system wide version of gdbus that is different from the version included in syncevolution. In particular, the g_dbus_setup_bus() in syncevo has 4 arguments, but the one in the system-wide version has 4 arguments. For some reason, syncevolution links against something that uses the systemwide version, so it gets loaded first. The easy solution is to link the private copy of gdbus statically. I'm attaching a patch that does just that. The hard way is to rename every symbol in the private copy of libgdbus.
Created attachment 427031 [details] Patch to the spec file And here is a patch to the spec file
> This one has a simple explanation, Fedora includes a system wide version of > gdbus that is different from the version included in syncevolution. In > particular, the g_dbus_setup_bus() in syncevo has 4 arguments, but the one in > the system-wide version has 4 arguments. > > For some reason, syncevolution links against something that uses the systemwide > version, so it gets loaded first. That's what Fedora uses. We're not going to link against a locally included copy of gdbus. The fix is to have syncevolution upstream to fix the bug.
Peter: The problem is that libgdbus is not API stable.. and is deprecated anyway (it has been merged into the next GLib). It should never has been built as a shared library in the first place. So using the built-in libgdbus is probably the best solution for F13. And hopefully when 14 comes out, the new GLib will be stable (and in Fedora) and we will all be happy. Patrick: while you're doing built system fixes - --enable-soup should also set need_glib=yes - there should be a --enable/disable for gnome-keyring
(In reply to comment #18) > Peter: The problem is that libgdbus is not API stable.. and is deprecated > anyway (it has been merged into the next GLib). It should never has been built > as a shared library in the first place. So using the built-in libgdbus is > probably the best solution for F13. And hopefully when 14 comes out, the new > GLib will be stable (and in Fedora) and we will all be happy. I agree with Olivier, SyncEvolution has to use a private copy of the g_dbus library. There never was an official upstream release of it, so that's what all apps using it do. I've applied Olivier's patch. It'll be in in 1.1 or 1.0.1 (whatever happens sooner). In the meantime, please patch the source in FC 13. http://bugs.meego.com/show_bug.cgi?id=3556 > Patrick: while you're doing built system fixes > - --enable-soup should also set need_glib=yes Already noticed and fixed. > - there should be a --enable/disable for gnome-keyring Agreed. Not sure why we missed that one => http://bugs.meego.com/show_bug.cgi?id=3557
(In reply to comment #19) > (In reply to comment #18) > > Peter: The problem is that libgdbus is not API stable.. and is deprecated > > anyway (it has been merged into the next GLib). It should never has been built > > as a shared library in the first place. So using the built-in libgdbus is > > probably the best solution for F13. And hopefully when 14 comes out, the new > > GLib will be stable (and in Fedora) and we will all be happy. > > I agree with Olivier, SyncEvolution has to use a private copy of the g_dbus > library. There never was an official upstream release of it, so that's what all > apps using it do. > > I've applied Olivier's patch. It'll be in in 1.1 or 1.0.1 (whatever happens > sooner). In the meantime, please patch the source in FC 13. Fedora has a policy of no bundled libraries. See here for details https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries Please provide a patch to fix the build against the system libraries.
(In reply to comment #20) > > I've applied Olivier's patch. It'll be in in 1.1 or 1.0.1 (whatever happens > > sooner). In the meantime, please patch the source in FC 13. > > Fedora has a policy of no bundled libraries. See here for details > https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries > > Please provide a patch to fix the build against the system libraries. I don't have the time to install FC 13 and work on something which is a FC 13 specific patch. Someone else will have to come up with such a patch. I don't mind adding it upstream, I just can't develop it myself.
(In reply to comment #20) > (In reply to comment #19) > > (In reply to comment #18) > > > Peter: The problem is that libgdbus is not API stable.. and is deprecated > > > anyway (it has been merged into the next GLib). It should never has been built > > > as a shared library in the first place. So using the built-in libgdbus is > > > probably the best solution for F13. And hopefully when 14 comes out, the new > > > GLib will be stable (and in Fedora) and we will all be happy. > > > > I agree with Olivier, SyncEvolution has to use a private copy of the g_dbus > > library. There never was an official upstream release of it, so that's what all > > apps using it do. > > > > I've applied Olivier's patch. It'll be in in 1.1 or 1.0.1 (whatever happens > > sooner). In the meantime, please patch the source in FC 13. > > Fedora has a policy of no bundled libraries. See here for details > https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries The gdbus in syncevolution has nothing to do with gdbus in glib. The one in syncevolution is a dbus helper written by Marcel Holtmann and reused in all his D-Bus using projects. We have the same piece of code in obexd, bluez, etc.
*** Bug 611247 has been marked as a duplicate of this bug. ***
*** Bug 610043 has been marked as a duplicate of this bug. ***
*** Bug 611393 has been marked as a duplicate of this bug. ***
For those who need it I have figured out this workaround for x86_64: LD_LIBRARY_PATH=/usr/lib64/syncevolution/ syncevolution --daemon=no or for i686: LD_LIBRARY_PATH=/usr/lib/syncevolution/ syncevolution --daemon=no Tested with syncevolution-1.0-3.fc13.x86_64
*** Bug 611944 has been marked as a duplicate of this bug. ***
*** Bug 612536 has been marked as a duplicate of this bug. ***
I'm about to release SyncEvolution 1.0.1 with Olivier's patch. Before I announce it, can someone install the .rpms on FC 13 and test that SyncEvolution then starts to work again? I uploaded them to: http://downloads.syncevolution.org/tmp/
Hi Patrick, I just tested your package and it works perfectly. Lets hope the Fedora repos will get a working version too. Thanks a lot!
Seems to be working on my Fedora 13 desktop. Thanks!!
Patrick Not looked deeply into this one but I get: Test Transaction Errors: file /usr/include/gdbus.h from install of syncevolution-evolution-1.0.1-2.x86_64 conflicts with file from package libgdbus-devel-0.2-4.fc12.x86_64 Which version of libgdbus do I need? Note I am on the x86_64 vewrsion.
(In reply to comment #32) > Patrick > > Not looked deeply into this one but I get: > > Test Transaction Errors: file /usr/include/gdbus.h from install of > syncevolution-evolution-1.0.1-2.x86_64 conflicts with file from package > libgdbus-devel-0.2-4.fc12.x86_64 > > Which version of libgdbus do I need? Note I am on the x86_64 vewrsion. I force installed it after receiving the same error. BTW, I'm on a 32 bit Fedora atm. I have not tested it on my x86_64 machine.
(In reply to comment #32) > Patrick > > Not looked deeply into this one but I get: > > Test Transaction Errors: file /usr/include/gdbus.h from install of > syncevolution-evolution-1.0.1-2.x86_64 conflicts with file from package > libgdbus-devel-0.2-4.fc12.x86_64 > > Which version of libgdbus do I need? Note I am on the x86_64 vewrsion. No separate version of libgdbus is needed. Uninstall libgdbus-devel to avoid the error. Obviously, these .rpms are no proper replacement for a real distro packaging of SyncEvolution. But bad packages are better than none - I hope.
Patrick: You should probably not install the gdbus.h from marcel's library (if that's what you're doing).
*** Bug 597739 has been marked as a duplicate of this bug. ***
*** Bug 559345 has been marked as a duplicate of this bug. ***
syncevolution-1.0.1-1.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/syncevolution-1.0.1-1.fc13
syncevolution-1.0.1-1.fc13 has been pushed to the Fedora 13 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update syncevolution'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/syncevolution-1.0.1-1.fc13
syncevolution-1.0.1-1.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.