Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 233263 - net-im/pidgin-2.4.3: segfaults gnome-extra/evolution-exchange-2.22.0
Summary: net-im/pidgin-2.4.3: segfaults gnome-extra/evolution-exchange-2.22.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Net-im project
URL: http://bugzilla.gnome.org/show_bug.cg...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-29 12:05 UTC by Dustin Polke
Modified: 2008-08-06 22:35 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Debug output from pidgin (pidgin.debug,20.35 KB, text/plain)
2008-07-29 12:06 UTC, Dustin Polke
Details
Backtrace log from gdb (backtrace.log,5.04 KB, text/plain)
2008-07-30 12:21 UTC, Dustin Polke
Details
Patch to prevent evolution-exchange to crash (evolution-exchange-pidgin-crash.patch,1.57 KB, patch)
2008-08-05 11:53 UTC, Dustin Polke
Details | Diff
Modified ebuild diff (evolution-exchange-2.22.3.diff,760 bytes, text/plain)
2008-08-05 11:58 UTC, Dustin Polke
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dustin Polke 2008-07-29 12:05:34 UTC
After upgrading to evolution-data-server-2.22.2, pidgin seizes to work when you either doubleclick or rightclick onto a contact, when pidgin is compiled with USE="eds". Disabling this USE flag, solves this issue, so there seems to be an issue with the interaction with evolution-data-server.

When evolution is running, evolution loses connection to all data-server backend processes and needs to be restarted.

I've compiled pidgin with USE="debug" and I will attach the output to this bug.

Reproducible: Always

Steps to Reproduce:
1. emerge >=evolution-data-server-2.22.2
2. emerge pidgin with USE="eds"
3. run pidgin and double click a contact
4. observe how pidgin freezes




Portage 2.1.4.4 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo_dazuko-patch-r7-stable x86_64)
=================================================================
System uname: 2.6.25-gentoo_dazuko-patch-r7-stable x86_64 Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz
Timestamp of tree: Tue, 29 Jul 2008 06:45:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r5
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/bin/mygenkernel /usr/sbin/run-crons /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-protect distlocks fixpackages metadata-transfer multilib-strict parallel-fetch sandbox sfperms strict test unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/             ftp://pandemonium.tiscali.de/pub/gentoo/                ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/                ftp://gd.tuwien.ac.at/opsys/linux/gentoo/                ftp://gentoo.inode.at/source/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en de"
MAKEOPTS="-j5"
PKGDIR="/home/ftp/binpkg/"
PORTAGE_COMPRESS=""
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=500"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/alon-barlev /usr/local/portage/layman/sunrise /usr/local/portage/layman/science /usr/local/portage/layman/connectical-contrib /usr/local/portage/layman/synce /usr/local/portage/layman/haskell /usr/local/portage/modified /usr/local/portage/own"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac aalib accessibility acl acpi alsa amd64 amr amrnb amrr amrwb apm async audacious audiofile bash-completion berkdb bindist bl bluetooth branding bzip2 cairo cardbus cjk cli cpudetection cracklib crypt css ctype cups dbus dga directfb divx dri dts dvd dvdr dvdread eds encode evo exif expat extensions fam fbcon fbcondecor fbsplash ffmpeg flac foomaticdb force-cgi-redirect fortran ftp gd gdbm gedit gif gimp glade glibc-omitfp glitz gmedia gmp gnutls gphoto2 gs gsm gtk gtkhtml guile hddtemp hdf5 iconv icq icu idn ieee1394 imagemagick imap imlib iproute2 ipw4965 isdnlog jack java javascript jikes jpeg jpeg2k kerberos keyscrub kpathsea laptop latex lcms ldap libcaca libnotify libwww live lm_sensors logrotate loop-aes lzo mad memlimit midi mikmod mime mmx mmxext mng motif mp2 mp3 mp4 mpeg mudflap multilib musepack ncurses nls nntp nptl nptlonly nsplugin nvidia ogg opengl openmp opensslcrypto pam pch pcmcia pcre pda pdf perl plotutils png posix ppds pppd print python quicktime readline realmedia reflection rtsp ruby rubytests samba sasl sdl server session simplexml slang sndfile soap sockets speex spell spl sse sse2 ssl ssse3 stream suhosin svg swat syslog tcpd tetex tga theora threads tiff truetype unicode usb userlocales v4l v4l2 vcd vim-syntax vim-with-x vorbis wifi winbind wma wmf wmp wxwindows x264 xanim xine xinetd xml xorg xpm xsl xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel mpu401" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="fuji ptp2" ELIBC="glibc" INPUT_DEVICES="keyboard mouse ps2mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS_FLAGS
Comment 1 Dustin Polke 2008-07-29 12:06:31 UTC
Created attachment 161613 [details]
Debug output from pidgin
Comment 2 Dustin Polke 2008-07-29 12:09:22 UTC
This is the output of strace after doubleclicking a contact:

dustin@legolas ~ $ strace -p 15574 
Process 15574 attached - interrupt to quit
restart_syscall(<... resuming interrupted call ...>
) = ? ERESTART_RESTARTBLOCK (To be restarted)
+++ killed by SIGSEGV +++
Comment 3 Carsten Lohrke (RETIRED) gentoo-dev 2008-07-29 12:55:18 UTC
As hinted in red letters, "Gentoo Bugzilla" is not the correct product to file bugs regarding ebuilds. Please use "New -> Gentoo Linux -> Component: Ebuilds" or New -> Gentoo Security for security issues in future.
Comment 4 Dustin Polke 2008-07-29 13:14:23 UTC
(In reply to comment #3)
> As hinted in red letters, "Gentoo Bugzilla" is not the correct product to file
> bugs regarding ebuilds. Please use "New -> Gentoo Linux -> Component: Ebuilds"
> or New -> Gentoo Security for security issues in future.
> 

Mea culpa: I clicked too fast and then I couldn't correct my fault anymore. Sorry.
Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-07-29 14:10:48 UTC
please provide a stacktrace, if you don't know how to do, please read http://www.gentoo.org/proj/en/qa/backtraces.xml

This may involve rebuilding a large set of your packages.
Comment 6 Dustin Polke 2008-07-30 12:20:30 UTC
Okay. I've rebuilt a lot of packages (namely, those pidgin, eds and evolution-exchange are linked against) to provide debug information.

First of all, the segfault is in evolution-exchange, not eds. I obtained the following backtrace:

(gdb) bt full
#0  e2k_restriction_unref (rn=0x0) at e2k-restriction.c:495
        i = <value optimized out>
#1  0x0000000000425c38 in ?? ()
No symbol table info available.
#2  0x00007f0e1d6b95d9 in _e_book_backend_get_contact_list (backend=0x6aeaf0, book=0x67ede0, opid=2, query=0x6b3791 "(is \"im_icq\"  \"430690524\")") at e-book-backend-sync.c:442
        status = <value optimized out>
        cards = (GList *) 0x0
#3  0x00007f0e1a75f79e in ORBit_small_invoke_adaptor (adaptor_obj=0x6b3840, recv_buffer=0x6b4a30, m_data=0x7f0e1d8c7ee0, data=0x40952f00, ev=0x40952f80) at orbit-small.c:846
        a = <value optimized out>
        ctx = {parent = {interface = 0x7f0e1a98e920, refs = 6929160}, mappings = 0x1, children = 0x7f0e1a98e920, the_name = 0x69bb08 "", parent_ctx = 0x6b3840}
        args = (gpointer *) 0x40952da0
        scratch = (gpointer *) 0x40952d80
        pretval = (gpointer) 0x0
        retval = (gpointer) 0x0
        send_buffer = <value optimized out>
        orb = (CORBA_ORB) 0x670d20
        tc = (CORBA_TypeCode) 0x7f0e1a994a00
#4  0x00007f0e1a76d117 in ORBit_POAObject_handle_request (pobj=0x6b3840, opname=0x6b9e9c "getContactList", ret=0x0, args=0x0, ctx=0x0, recv_buffer=0x6b4a30, ev=0x40952f80) at poa.c:1357
        invoke_data = {small_skel = 0x7f0e1d6b2582 <_ORBIT_skel_small_GNOME_Evolution_Addressbook_Book_getContactList>, imp = 0x7f0e1d6bea6a}
        poa = (PortableServer_POA) 0x67cf00
        cookie = (PortableServer_ServantLocator_Cookie) 0x0
        oid = (PortableServer_ObjectId *) 0x6b38b0
        m_data = (ORBit_IMethod *) 0x7f0e1d8c7ee0
        small_skel = (ORBitSmallSkeleton) 0x7f0e1d6b2582 <_ORBIT_skel_small_GNOME_Evolution_Addressbook_Book_getContactList>
        imp = (gpointer) 0x7f0e1d6bea6a
        __PRETTY_FUNCTION__ = "ORBit_POAObject_handle_request"
#5  0x00007f0e1a76d6d5 in ORBit_POAObject_invoke_incoming_request (pobj=0x6b3840, recv_buffer=0x6b4a30, opt_ev=0x0) at poa.c:1427
        opname = (CORBA_Identifier) 0x0
        real_ev = {_id = 0x0, _major = 0, _any = {_type = 0x0, _value = 0x0, _release = 0 '\0'}}
        ev = (CORBA_Environment *) 0x40952f80
#6  0x00007f0e1a75973f in giop_thread_queue_process (tdata=0x69e790) at giop.c:780
        ent = (GIOPMessageQueueEntry *) 0x0
        qe = (GIOPQueueEntry *) 0x67ccf0
        request = (GList *) 0x0
        no_policy = 1
#7  0x00007f0e1a759ecf in giop_request_handler_thread (data=<value optimized out>, user_data=0x0) at giop.c:490
        done = 1
        l = (GList *) 0x69e790
        tdata = (GIOPThread *) 0x69e790
#8  0x00007f0e1969b159 in g_thread_pool_thread_proxy (data=<value optimized out>) at gthreadpool.c:265
        task = (gpointer) 0x69e790
        pool = (GRealThreadPool *) 0x66fff0
#9  0x00007f0e19699a41 in g_thread_create_proxy (data=0x6acdb0) at gthread.c:635
        __PRETTY_FUNCTION__ = "g_thread_create_proxy"
#10 0x00007f0e19e923a7 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#11 0x00007f0e193beb6d in clone () from /lib/libc.so.6
No symbol table info available.
#12 0x0000000000000000 in ?? ()
No symbol table info available.

When double-clicking to a contact, this is the last output in gdb:

[New Thread 0x40c8d950 (LWP 368)]
impl_GNOME_Evolution_Addressbook_BookFactory_getBook
 + file:///home/dustin/.evolution/addressbook/local/system
impl_GNOME_Evolution_Addressbook_BookFactory_getBook
 + gal://gl832;auth=Basic@mail.uni-siegen.de/gal
 => 0x67ed80
impl_GNOME_Evolution_Addressbook_Book_open (0x67ed80)
offlin==============
[New Thread 0x4148e950 (LWP 370)]
impl_GNOME_Evolution_Addressbook_Book_getContactList
get contact list
Mode : Remote
impl_GNOME_Evolution_Addressbook_BookFactory_getBook
 + exchange://gl832;auth=Basic@mail.uni-siegen.de/;personal/Kontakte
 => 0x67ede0
impl_GNOME_Evolution_Addressbook_Book_open (0x67ede0)
impl_GNOME_Evolution_Addressbook_Book_getContactList

(evolution-exchange-storage:32766): e-data-server-WARNING **: Error in execution: no prop

(evolution-exchange-storage:32766): e-book-backend-exchange-WARNING **: conversion to exchange restriction failed

(evolution-exchange-storage:32766): evolution-exchange-storage-CRITICAL **: e_folder_exchange_search_start: assertion `E_IS_FOLDER_EXCHANGE (folder)' failed

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x40c8d950 (LWP 368)]
e2k_restriction_unref (rn=0x0) at e2k-restriction.c:495
495     e2k-restriction.c: No such file or directory.
        in e2k-restriction.c


Additionally, I've found the following:

If you have configured a Global Address List in an Exchange account, you can observe the following behavior:

1) You have started evolution and authenticated to the GAL server in evolution by accessing the address book and provided your login credentials (either saved or entered in the pop-up dialog) and then double-click onto a contact in pidgin (using the Evolution Integration plugin), pidgin behaves correctly.

2) You have started evolution but have NOT authenticated to the GAL server in evolution and then double-click onto a contact in pidgin (using the Evolution Integration plugin), pidgin freezes waiting for a response and evolution-exchange segfaults.

3) You have not started evolution and Not authenticated to the GAL server, then double-click onto a contact in pigdin (using the Evolution Integration plugin), same result as 2).


I will attach the output of '(gdb) thread apply all bt full' as seperate file.
If I can help further to track this down, please let me know.

BR,

Dustin
Comment 7 Dustin Polke 2008-07-30 12:21:36 UTC
Created attachment 161708 [details]
Backtrace log from gdb
Comment 8 Dustin Polke 2008-07-30 13:59:10 UTC
I have reported this upstream as well (cf. URL above).

If you decide to mark this upstream, this is fine to me since I can either disable the plugin or authenticate via evolution.
Comment 9 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-07-30 21:49:25 UTC
please test with evolution-exchange 2.22.3
Comment 10 Dustin Polke 2008-07-31 08:41:07 UTC
(In reply to comment #9)
> please test with evolution-exchange 2.22.3

evolution-exchange 2.22.3 does not compile:

e-cal-backend-exchange-calendar.c:28:43: error: libecal/e-cal-check-timezones.h: No such file or directory
e-cal-backend-exchange-calendar.c: In function 'add_ical':
e-cal-backend-exchange-calendar.c:262: warning: implicit declaration of function 'e_cal_check_timezones'
e-cal-backend-exchange-calendar.c:262: warning: nested extern declaration of 'e_cal_check_timezones'
e-cal-backend-exchange-calendar.c: In function 'send_objects':
e-cal-backend-exchange-calendar.c:2012: warning: unused variable 'tzcomp'
make[2]: *** [e-cal-backend-exchange-calendar.lo] Error 1
make[2]: Leaving directory `/var/tmp/portage/gnome-extra/evolution-exchange-2.22.3/work/evolution-exchange-2.22.3/calendar'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/gnome-extra/evolution-exchange-2.22.3/work/evolution-exchange-2.22.3'
make: *** [all] Error 2

Should I file a separate bug?
Comment 11 Dustin Polke 2008-07-31 09:11:30 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > please test with evolution-exchange 2.22.3
> 
> evolution-exchange 2.22.3 does not compile:

evolution-exchange needs evolution-data-server-2.22.3
Comment 12 Dustin Polke 2008-07-31 09:13:47 UTC
evolution-exchange-2.22.3 segfaults as well.
Comment 13 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-07-31 21:38:46 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > (In reply to comment #9)
> > > please test with evolution-exchange 2.22.3
> > 
> > evolution-exchange 2.22.3 does not compile:
> 
> evolution-exchange needs evolution-data-server-2.22.3
> 

which version of evolution / evolution-data-server did you try to compile it against ? Other than that I haven't seen anything obvious in the backtrace (misses a few symbols btw) so you might want to open a bug upstream (gnome upstream I'd say).
Comment 14 Dustin Polke 2008-08-01 08:08:46 UTC
(In reply to comment #13)

> which version of evolution / evolution-data-server did you try to compile it
> against ?

I tried 2.22.2. But this version is missing headers evolution-exchange-2.22.3 is relying on, so I suggest to raise the DEPENDS.

> Other than that I haven't seen anything obvious in the backtrace
> (misses a few symbols btw) so you might want to open a bug upstream (gnome
> upstream I'd say).

Already did, cf. comment #8. URL is http://bugzilla.gnome.org/show_bug.cgi?id=545517
Comment 15 Dustin Polke 2008-08-05 11:52:55 UTC
Upstream provided a patch that solves this issue (see new upstream URL http://bugzilla.gnome.org/show_bug.cgi?id=473924)

I just had to remove the changes from ChangeLog since the diff was made against svn trunk, I guess.

I will attach the patch as well a diff to the ebuild.
Comment 16 Dustin Polke 2008-08-05 11:53:51 UTC
Created attachment 162260 [details, diff]
Patch to prevent evolution-exchange to crash
Comment 17 Dustin Polke 2008-08-05 11:58:58 UTC
Created attachment 162264 [details]
Modified ebuild diff

Takes into account that evolution-exchange-2.22.3 requires evolution-data-server-2.22.3 as well (see comment 11).
Comment 18 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-08-06 22:35:26 UTC
patch has been commited, thanks for providing one.