GNOME Bugzilla – Bug 630444
Fix linking issues
Last modified: 2010-11-18 09:18:33 UTC
(evolution:8170): camel-exchange-provider-CRITICAL **: camel_exchange_utils_connect: assertion `ed != NULL' failed CamelException.set(0x940436c, 3, 'Cancelled') Thread 0 > Get folder info(0x8e86ad0:exchange://prg-dc%5cjkubrt@prgdcex025.prg-dc.dhl.com/, '<null>') = < 0 > Hi this is output when clicking on account using exchange (having Ubuntu 10.10 beta, Evolution 2.30.3) and account won't open with folders. I have same settings on other PC, where I have older Ubuntu (10.04) and Evolution 2.28.3, and it works fine there. Authorization works ok in account settings. I have also issue when editing this account, after closing with "OK" button, whole app freezes (and no output in console with debug flag set). Could you pls help?
Ahoj, > this is output Where? > with debug flag set I have no idea what a "debug flag" is, but steps are available at http://projects.gnome.org/evolution/bugs.shtml . If Evolution freezes, please open the terminal and run it in gdb ("gdb evolution" and then "run") and when it freezes, stop the process first by hitting control+c once in the terminal to get a prompt where you can enter commands, then enter "thread apply all bt" and post the complete output here. Can you please provide exact steps (click by click) to reproduce and tell which Exchange server version this is about, plus if you use either evolution-exchange or evolution-mapi?
Hi, I am sorry for big delay, was quite busy at work (where I can only test it, as we use exchange here) and then I had vacation. Output was at the beginning of my post: (evolution:8170): camel-exchange-provider-CRITICAL **: camel_exchange_utils_connect: assertion `ed != NULL' failed CamelException.set(0x940436c, 3, 'Cancelled') Thread 0 > Get folder info(0x8e86ad0:exchange://prg-dc%5cjkubrt@prgdcex025.prg-dc.dhl.com/, '<null>') = < 0 > debug flag I used was: $ CAMEL_DEBUG=all evolution this output will show when I want to 'open' root of my exchange account in left window (where is Local Folders located and other accounts if created). The hang occurs when clicking EDIT - PREFERENCES - (select account) - EDIT , then APPLY and Evolution hangs. If I just mess arround in prefferences and do not enter editing that exchange account, everything works ok, but if I only enter editing of this account and use 'Apply' or 'Close' to leave editing, Evolution freezes. Now I used gdb and guide suggested. In time of crash this is output in gdb [New Thread 0xb4edeb70 (LWP 5341)] [New Thread 0xb3df3b70 (LWP 5342)] [New Thread 0xb231eb70 (LWP 5343)] [Thread 0xb3df3b70 (LWP 5342) exited] [Thread 0xb231eb70 (LWP 5343) exited] [Thread 0xb4edeb70 (LWP 5341) exited] [Thread 0xb35f2b70 (LWP 5339) exited] now ^C Program received signal SIGINT, Interrupt. 0x0012e416 in __kernel_vsyscall () thread apply all bt
+ Trace 224102
Thread 1 (Thread 0xb7fd2870 (LWP 5315))
I am using evolution-exchange (as it it installed and -mapi is not). I use Evo 2.28 with Ubuntu 10.04 on 2 other laptops and with no issues with this same exchange account. What I have noticed is that I have installed libexchange-storage on those Evo 2.28 (Ubuntu 10.04), but it is not installed nor available with Ubuntu 10.10. I requested info about exchange server version, will update when received. Thank you Best regards Jiri (In reply to comment #1) > Ahoj, > > > this is output > > Where? > > > with debug flag set > > I have no idea what a "debug flag" is, but steps are available at > http://projects.gnome.org/evolution/bugs.shtml . > > If Evolution freezes, please open the terminal and run it in gdb ("gdb > evolution" and then "run") and when it freezes, stop the process first by > hitting control+c once in the terminal to get a prompt where you can enter > commands, then enter "thread apply all bt" and post the complete output here. > > Can you please provide exact steps (click by click) to reproduce and tell which > Exchange server version this is about, plus if you use either > evolution-exchange or evolution-mapi?
Unfortunately that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Hi, I've installed bug-buddy which came with a lot of -dbg packages, also installed evolution*-dbg packages. Now running gdb evolution shows at the startup: (evolution:9159): GLib-GObject-WARNING **: cannot register existing type `ExchangeAccount' (evolution:9159): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed (evolution:9159): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed (evolution:9159): evolution-exchange-storage-WARNING **: Could not parse exchange uri 'exchange://prg-dc%5cjkubrt;auth=Basic@prgdcex025.prg-dc.dhl.com/;sync_offline;owa_url=http://prgdcex025.prg-dc.dhl.com/exchange/;command=ssh%20-C%20-l%20%25u%20%25h%20exec%20/usr/sbin/imapd;save-passwd=true;mailbox=Jiri.Kubrt;owa_path=/exchange;ad_auth=default;ad_limit=50' (evolution:9159): camel-exchange-provider-CRITICAL **: camel_exchange_utils_connect: assertion `ed != NULL' failed and gdm then follows after crash and 'ctrl+c' and 'thread apply all bt '
+ Trace 224108
Thread 1 (Thread 0xb7fd1870 (LWP 9159))
as i see difference, there are filenames and line numbers, so this might be what you asked for? :-) Cheers Jiri
(In reply to comment #4) > there are filenames and line numbers, so this might be what you asked for? :-) Yepp. :)
:) And I got info about server version saying 'Exchange 2003 SP2'.
Hi, I've just another note which may help. As this issue appeared on fresh install on a new laptop, with Ubuntu 10.10 beta and Evolution 2.30.3, I've tried yesterday to upgrade one of the other laptops from Ubuntu 10.04 to 10.10, and issue is there too. I had no problems before with previous upgrades from Ubuntu 9.04 -> 9.10 -> 10.04, but I don't remember Evolution versions in those times (only that 10.04 has 2.28.3). BR Jiri
> (evolution:9159): GLib-GObject-WARNING **: cannot register existing type > `ExchangeAccount' The above is the issue causing this all. For some reason the glib mechanism thinks the type is already registered. When this will be sorted out then the rest will start working like with 2.28.x. There was done only one change before 2.30.0 release in this area, and it was meant to be thread safe with type definitions. Strange it's just the opposite for you. Could you try to get exact package versions for evolution* and glib, gtk2, please? And your architecture (32/64 bit) Also, when you run evolution under gdb with a breakpoint at exchange_account_get_type, then it should stop there twice. I would like to know when it is ('bt' of it). You can do that like this: $ gdb evolution --ex "b exchange_account_get_type" --ex r --ex bt \ --ex c --ex bt --ex c Could you also get a lsof for exchange files, please? Like here: $ lsof -p EVO_PID | grep exch every file, except of the folders.db file, should be listed there only once. Thanks in advance.
@bubrak: to find out the versions of the packages Milan is asking for: dpkg-query -W -f '${Status}\t${Package} ${Version}\n' \*evo\* libglib2.0\* libgtk2\* | egrep ^install (the above is one single line). Note that this will not show the separately-packaged libraries components.
Hi Milan, my hw architecture is 64bit however I installed 32bit Ubuntu (to be sure) list of packages is here # dpkg -l | grep evolution ii evolution 2.30.3-1ubuntu6 groupware suite with mail client and organizer ii evolution-common 2.30.3-1ubuntu6 architecture independent files for Evolution ii evolution-data-server 2.30.3-2ubuntu1 evolution database backend server ii evolution-data-server-common 2.30.3-2ubuntu1 architecture independent files for Evolution Data Server ii evolution-data-server-dbg 2.30.3-2ubuntu1 evolution database backend server with debugging symbols ii evolution-dbg 2.30.3-1ubuntu6 debugging symbols for Evolution ii evolution-exchange 2.30.3-0ubuntu1 Exchange plugin for the Evolution groupware suite ii evolution-exchange-dbg 2.30.3-0ubuntu1 Exchange plugin for Evolution with debugging symbols ii evolution-plugins 2.30.3-1ubuntu6 standard plugins for Evolution ii evolution-webcal 2.28.1-1 webcal: URL handler for GNOME and Evolution ii libebackend1.2-0 2.30.3-2ubuntu1 Utility library for evolution data servers ii libebook1.2-9 2.30.3-2ubuntu1 Client library for evolution address books ii libecal1.2-7 2.30.3-2ubuntu1 Client library for evolution calendars ii libedata-book1.2-2 2.30.3-2ubuntu1 Backend library for evolution address books ii libedata-cal1.2-7 2.30.3-2ubuntu1 Backend library for evolution calendars ii libedataserver1.2-13 2.30.3-2ubuntu1 Utility library for evolution data servers ii libedataserverui1.2-8 2.30.3-2ubuntu1 GUI utility library for evolution data servers ii libevolution 2.30.3-1ubuntu6 evolution libraries # dpkg -l | grep glib ii gir1.0-glib-2.0 0.9.3-0ubuntu4 Introspection data for GLib, GObject, Gio and GModule ii gir1.0-json-glib-1.0 0.10.2-2ubuntu2 GLib JSON manipulation library (documentation) ii libavahi-glib1 0.6.27-2ubuntu3 Avahi glib integration library ii libcouchdb-glib-1.0-2 0.6.96-0ubuntu1 GLib-based API for CouchDB ii libdbus-glib-1-2 0.88-2 simple interprocess messaging system (GLib-based shared library) ii libdbusmenu-glib1 0.3.16-0ubuntu1 library for passing menus over DBus ii libdesktopcouch-glib-1.0-2 0.6.96-0ubuntu1 Glib-based API for Desktopcouch ii libglib-perl 2:1.223-1 interface to the GLib and GObject libraries ii libglib2.0-0 2.26.0-0ubuntu1 The GLib library of C routines ii libglib2.0-0-dbg 2.26.0-0ubuntu1 The GLib libraries and debugging symbols ii libglib2.0-cil 2.12.10-1 CLI binding for the GLib utility library 2.12 ii libglib2.0-data 2.26.0-0ubuntu1 Common files for GLib library ii libglibmm-2.4-1c2a 2.25.5-0ubuntu1 C++ wrapper for the GLib toolkit (shared libraries) ii libjson-glib-1.0-0 0.10.2-2ubuntu2 GLib JSON manipulation library ii libndesk-dbus-glib1.0-cil 0.4.1-3 CLI implementation of D-Bus (GLib mainloop integration) ii libnm-glib2 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 network management framework (GLib shared library) ii libpoppler-glib5 0.14.3-0ubuntu1 PDF rendering library (GLib-based shared library) ii libpulse-mainloop-glib0 1:0.9.22~0.9.21+stable-queue-32-g8478-0ubuntu21 PulseAudio client libraries (glib support) ii libtelepathy-glib0 0.12.0-0ubuntu1 Telepathy framework - GLib library ii libupower-glib1 0.9.5-4 abstraction for power management - shared library # dpkg -l | grep gtk2 ii gtk2-engines 1:2.20.1-1ubuntu1 theme engines for GTK+ 2.x ii gtk2-engines-murrine 0.98.1.1-0ubuntu1 cairo-based gtk+-2.0 theme engine ii gtk2-engines-pixbuf 2.22.0-0ubuntu1 Pixbuf-based theme for GTK+ 2.x ii libgtk2-perl 2:1.222-1 Perl interface to the 2.x series of the Gimp Toolkit library ii libgtk2.0-0 2.22.0-0ubuntu1 The GTK+ graphical user interface library ii libgtk2.0-0-dbg 2.22.0-0ubuntu1 The GTK+ libraries and debugging symbols ii libgtk2.0-bin 2.22.0-0ubuntu1 The programs for the GTK+ graphical user interface library ii libgtk2.0-cil 2.12.10-1 CLI binding for the GTK+ toolkit 2.12 ii libgtk2.0-common 2.22.0-0ubuntu1 Common files for the GTK+ graphical user interface library ii libindicate-gtk2 0.4.4-0ubuntu2 library for raising indicators via DBus - GTK bindings ii python-gtk2 2.21.0-0ubuntu1 Python bindings for the GTK+ widget set ii python-gtk2-dbg 2.21.0-0ubuntu1 Python bindings for the GTK+ widget set (debug extension) and i have run your command now: $ gdb evolution --ex "b exchange_account_get_type" --ex r --ex bt \ > --ex c --ex bt --ex c GNU gdb (GDB) 7.2-ubuntu Copyright (C) 2010 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://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/evolution...Reading symbols from /usr/lib/debug/usr/bin/evolution...done. done. Function "exchange_account_get_type" not defined. Make breakpoint pending on future shared library load? (y or [n]) (i just hit enter to use default [n]) Starting program: /usr/bin/evolution [Thread debugging using libthread_db enabled] warning: the debug information found in "/usr/lib/debug//usr/lib/libxml2.so.2.7.7" does not match "/usr/lib/libxml2.so.2" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib/libxml2.so.2.7.7" does not match "/usr/lib/libxml2.so.2" (CRC mismatch). [New Thread 0xb7dd0b70 (LWP 1602)] [New Thread 0xb4c24b70 (LWP 1603)] [New Thread 0xb4423b70 (LWP 1604)] [New Thread 0xb3c1db70 (LWP 1605)] [New Thread 0xb341cb70 (LWP 1606)] [New Thread 0xb2c1bb70 (LWP 1607)] [New Thread 0xb2398b70 (LWP 1608)] [Thread 0xb2398b70 (LWP 1608) exited] [New Thread 0xb2398b70 (LWP 1609)] [New Thread 0xb1b30b70 (LWP 1610)] [New Thread 0xb132fb70 (LWP 1611)] [New Thread 0xb0b2eb70 (LWP 1612)] [New Thread 0xb032db70 (LWP 1613)] [Thread 0xb132fb70 (LWP 1611) exited] [Thread 0xb0b2eb70 (LWP 1612) exited] [Thread 0xb032db70 (LWP 1613) exited] [Thread 0xb1b30b70 (LWP 1610) exited] [New Thread 0xb1b30b70 (LWP 1614)] [New Thread 0xb032db70 (LWP 1615)] [Thread 0xb1b30b70 (LWP 1614) exited] [Thread 0xb2398b70 (LWP 1609) exited] [New Thread 0xb2398b70 (LWP 1616)] [New Thread 0xb1b30b70 (LWP 1617)] [New Thread 0xb0b2eb70 (LWP 1618)] (evolution:1599): GLib-GObject-WARNING **: cannot register existing type `ExchangeAccount' (evolution:1599): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed (evolution:1599): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed (evolution:1599): evolution-exchange-storage-WARNING **: Could not parse exchange uri 'exchange://prg-dc%5cjkubrt;auth=Basic@prgdcex025.prg-dc.dhl.com/;ad_limit=50;ad_auth=default;owa_path=/exchange;mailbox=Jiri.Kubrt;save-passwd=true;command=ssh%20-C%20-l%20%25u%20%25h%20exec%20/usr/sbin/imapd;owa_url=http://prgdcex025.prg-dc.dhl.com/exchange/;sync_offline' (evolution:1599): camel-exchange-provider-CRITICAL **: camel_exchange_utils_connect: assertion `ed != NULL' failed [Thread 0xb0b2eb70 (LWP 1618) exited] [Thread 0xb2c1bb70 (LWP 1607) exited] now I run lsof $ ps ax | grep evo 1576 pts/2 S 0:03 gdb evolution --ex b exchange_account_get_type --ex r --ex bt --ex c --ex bt --ex c 1599 pts/2 SLl+ 0:02 /usr/bin/evolution 1637 pts/5 S+ 0:00 grep --color=auto evo 1879 ? Sl 0:06 /usr/lib/evolution/2.30/evolution-alarm-notify 1895 ? Sl 0:07 /usr/lib/evolution/e-calendar-factory $ lsof -p 1599 | grep exch evolution 1599 jkubrt mem REG 8,6 357260 941370 /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so evolution 1599 jkubrt mem REG 8,6 390044 1066483 /usr/lib/evolution/2.30/plugins/liborg-gnome-exchange-operations.so evolution 1599 jkubrt 41u REG 8,6 3072 938165 /home/jkubrt/.evolution/mail/exchange/prg-dc\jkubrt@prgdcex025.prg-dc.dhl.com/folders.db evolution 1599 jkubrt 42u REG 8,6 3072 938165 /home/jkubrt/.evolution/mail/exchange/prg-dc\jkubrt@prgdcex025.prg-dc.dhl.com/folders.db so I think I may used 'y' answer at that 'breakpoint' answer, so I will do it again with 'y' answer it looks quite different $ gdb evolution --ex "b exchange_account_get_type" --ex r --ex bt --ex c --ex bt --ex c GNU gdb (GDB) 7.2-ubuntu Copyright (C) 2010 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://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/evolution...Reading symbols from /usr/lib/debug/usr/bin/evolution...done. done. Function "exchange_account_get_type" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (exchange_account_get_type) pending. Starting program: /usr/bin/evolution [Thread debugging using libthread_db enabled] warning: the debug information found in "/usr/lib/debug//usr/lib/libxml2.so.2.7.7" does not match "/usr/lib/libxml2.so.2" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib/libxml2.so.2.7.7" does not match "/usr/lib/libxml2.so.2" (CRC mismatch). [New Thread 0xb7dd0b70 (LWP 1656)] [New Thread 0xb4c24b70 (LWP 1657)] [New Thread 0xb4423b70 (LWP 1658)] [New Thread 0xb3c1db70 (LWP 1659)] [New Thread 0xb341cb70 (LWP 1660)] [New Thread 0xb2c1bb70 (LWP 1661)] [New Thread 0xb2398b70 (LWP 1662)] [Thread 0xb2398b70 (LWP 1662) exited] [New Thread 0xb2398b70 (LWP 1663)] [New Thread 0xb1b30b70 (LWP 1664)] [New Thread 0xb132fb70 (LWP 1665)] [New Thread 0xb09ffb70 (LWP 1666)] [Thread 0xb132fb70 (LWP 1665) exited] [Thread 0xb09ffb70 (LWP 1666) exited] [Thread 0xb1b30b70 (LWP 1664) exited] [New Thread 0xb1b30b70 (LWP 1667)] [New Thread 0xb09ffb70 (LWP 1668)] Breakpoint 1, exchange_account_get_type () at exchange-account.c:309 309 exchange-account.c: No such file or directory. in exchange-account.c
+ Trace 224137
if I did something wrong please let me know :) Thank you Jiri
@hggdh ok thank you, this is the output # dpkg-query -W -f '${Status}\t${Package} ${Version}\n' \*evo\* libglib2.0\* libgtk2\* | egrep ^install install ok installed evolution 2.30.3-1ubuntu6 install ok installed evolution-common 2.30.3-1ubuntu6 install ok installed evolution-data-server 2.30.3-2ubuntu1 install ok installed evolution-data-server-common 2.30.3-2ubuntu1 install ok installed evolution-data-server-dbg 2.30.3-2ubuntu1 install ok installed evolution-dbg 2.30.3-1ubuntu6 install ok installed evolution-exchange 2.30.3-0ubuntu1 install ok installed evolution-exchange-dbg 2.30.3-0ubuntu1 install ok installed evolution-plugins 2.30.3-1ubuntu6 install ok installed evolution-webcal 2.28.1-1 install ok installed libevolution 2.30.3-1ubuntu6 install ok installed libglib2.0-0 2.26.0-0ubuntu1 install ok installed libglib2.0-0-dbg 2.26.0-0ubuntu1 install ok installed libglib2.0-cil 2.12.10-1 install ok installed libglib2.0-data 2.26.0-0ubuntu1 install ok installed libgtk2-perl 2:1.222-1 install ok installed libgtk2.0-0 2.22.0-0ubuntu1 install ok installed libgtk2.0-0-dbg 2.22.0-0ubuntu1 install ok installed libgtk2.0-bin 2.22.0-0ubuntu1 install ok installed libgtk2.0-cil 2.12.10-1 install ok installed libgtk2.0-common 2.22.0-0ubuntu1
original Ubuntu bug: https://bugs.launchpad.net/evolution-exchange/+bug/631395. This _may_ be caused by a compiler option on the Ubuntu build (-bsymbolic-version)
hggdh: thank you for this link, I was watching updates at that bug thread, and now tried that announced update by Martin Pitt: ---cite---- Accepted evolution-exchange into maverick-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance! ----------- enabled -proposed, and installed just evolution-exchange package: Preparing to replace evolution-exchange 2.30.3-0ubuntu1 (using .../evolution-exchange_2.30.3-0ubuntu2_i386.deb) ... and it now works ok, account is opening correctly, editing will not hang, messages are downloading ok, everything seems ok now I dont have account on that bug page, so please update there that it is working ok, or make any other related updates which are needed as I dont know them :) Thank you all for your efforts, if this is not final solution I will be here to test if needed. :-) Cheers Jiri
Thanks bubrak! I was going to poke you about it. Please keep that bug open, not building with -bsymbolic-version is still an upstream bug telling that the same symbol is found twice which shouldn't happen. I'm reporting your feedback to the bug report.
I wonder if this is related to bug 581050. Probably not.
(In reply to comment #15) > I wonder if this is related to bug 581050. Probably not. It would be surprising, if yes.
Created attachment 172586 [details] [review] proposed eex patch for evolution-exchange; This is rather a guess than a fix, but if anyone can give a try to this, then it'll be great. I cannot test it at the moment, because my eex server is down right now. By the way, is the offending option -bsymbolic-version or -Bsymbolic-function? There is definitely a difference between these two. And a bit lame question, it belongs to CFLAGS, right?
It's -Bsymbolic-function, which belong to CFLAGS, right. From what I see your patch should fix it as the duplicated definition won't be exposed anymore. But let's wait for someone having an eex server.
Adding: LDFLAGS=$(shell echo $$LDFLAGS | sed -e 's/-Wl,-Bsymbolic-functions//') to debian/rules of evolution-exchange solves this issue. See https://bugzilla.gnome.org/show_bug.cgi?id=627827
that's not a fix, just a workaround :)
Didier, I'm just thinking, did anyone try the fix, can it be committed to sources? it missed the 2.32.1 update, unfortunately.
The thing is that I don't have the setup required for testing that (as it doesn't just FTBFS but crash when using it). Looking at the patch, it seems likely it will fix it. I'll upload 2.32 next week in natty (the current development version) with that patch instead of stripping -Bsymbolic-functions. If some people there want to try and confirm the status, that will be great :)
I've removed the workaround and applied the patch from comment 17. I recompiled and packaged (I had to add libxntlm.so.0 to the package). Now it works correctly!
Thanks for testing. I'm rather committing this to master only. Created commit f076c39 in eex master (2.91.3+)