First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 233263
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo net-im Herd <net-im@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Dustin Polke <gentoobugsie.20.dsurawicz@spamgourmet.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
pidgin.debug Debug output from pidgin text/plain Dustin Polke 2008-07-29 12:06 0000 20.35 KB Details
backtrace.log Backtrace log from gdb text/plain Dustin Polke 2008-07-30 12:21 0000 5.04 KB Details
evolution-exchange-pidgin-crash.patch Patch to prevent evolution-exchange to crash patch Dustin Polke 2008-08-05 11:53 0000 1.57 KB Details | Diff
evolution-exchange-2.22.3.diff Modified ebuild diff text/plain Dustin Polke 2008-08-05 11:58 0000 760 bytes Details
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 233263 depends on: Show dependency tree
Bug 233263 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2008-07-29 12:05 0000
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 From Dustin Polke 2008-07-29 12:06:31 0000 -------
Created an attachment (id=161613) [details]
Debug output from pidgin

------- Comment #2 From Dustin Polke 2008-07-29 12:09:22 0000 -------
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 From Carsten Lohrke 2008-07-29 12:55:18 0000 -------
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 From Dustin Polke 2008-07-29 13:14:23 0000 -------
(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 From Gilles Dartiguelongue 2008-07-29 14:10:48 0000 -------
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 From Dustin Polke 2008-07-30 12:20:30 0000 -------
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 From Dustin Polke 2008-07-30 12:21:36 0000 -------
Created an attachment (id=161708) [details]
Backtrace log from gdb

------- Comment #8 From Dustin Polke 2008-07-30 13:59:10 0000 -------
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 From Gilles Dartiguelongue 2008-07-30 21:49:25 0000 -------
please test with evolution-exchange 2.22.3

------- Comment #10 From Dustin Polke 2008-07-31 08:41:07 0000 -------
(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 From Dustin Polke 2008-07-31 09:11:30 0000 -------
(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 From Dustin Polke 2008-07-31 09:13:47 0000 -------
evolution-exchange-2.22.3 segfaults as well.

------- Comment #13 From Gilles Dartiguelongue 2008-07-31 21:38:46 0000 -------
(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 From Dustin Polke 2008-08-01 08:08:46 0000 -------
(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 From Dustin Polke 2008-08-05 11:52:55 0000 -------
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 From Dustin Polke 2008-08-05 11:53:51 0000 -------
Created an attachment (id=162260) [details]
Patch to prevent evolution-exchange to crash

------- Comment #17 From Dustin Polke 2008-08-05 11:58:58 0000 -------
Created an attachment (id=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 From Gilles Dartiguelongue 2008-08-06 22:35:26 0000 -------
patch has been commited, thanks for providing one.

First Last Prev Next    No search results available      Search page      Enter new bug