GNOME Bugzilla – Bug 316072
Address Book uri fucked up (Importing in non-default Address Book crashes Evo)
Last modified: 2006-07-31 04:25:32 UTC
Please describe the problem: When creating a third addressbook it will mimic the second one. Importing into this addressbook will crash evo. From addressbooks three and up are useless. - You cannot select the addressbook when creating a new card. - Copying or moving contact to the addressbook will end up in the second addressbook. - Importing and .ldif file into the third addressbook will crash evo. Steps to reproduce: 1. Create two addressbooks 2. Fill them both with some contacts 3. Make a third addessbook 4. Import a .ldif into the third addressbook Actual results: The third will hold the contacts of the second addessbook. Evo will crash. Expected results: Three individual addressbooks. Does this happen every time? yes Other information: Backtrace was generated from '/usr/libexec/evolution-data-server-1.4' Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1219389760 (LWP 10009)] [New Thread -1249653840 (LWP 10468)] [New Thread -1223930960 (LWP 10010)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) 0xffffe410 in ?? ()
+ Trace 62955
Thread 2 (Thread -1249653840 (LWP 10468))
Using ubuntu breezy badger
I am not able to reproduce any of the statements above. I tried with local (On This Computer) addressbook. Which one you are trying local, gw or ldap addressbook.
You mean to say, while creating a new contact, on move/copy contacts and while importing, 3rd address book is not selectable for you? Also, can you try to get the traces with debug symbols? See http://live.gnome.org/GettingTraces.
Daan: I'm not able to reproduce this scenario with SuSE 10 RC1. Let me try with Ubuntu soon. BTW, can you please get the stack trace with debugging symbols ? Thanks for the bug report. Unfortunately, that stack trace is not very useful in determining the cause of the crash. Can you get us one with debugging symbols? Please see [WWW]http://live.gnome.org/GettingTraces for more information on how to do so.
Found when it happens and when it doesn't, I have the dutch version of evolution so some interface words may not be correct. Corruption of addressbook: 1. Create addressbook and DO NOT select the type, default is on local [dutch: op deze computer] 2. Press ok 3. Contacts in newly created addressbook mimics addressbook 2. Workaround: (No corruption) 1. Create addressbook and in the creation menu: 2. Select LDAP from type dropdown. 3. Reelect local [dutch: op deze computer] from type dropdown 4. Press ok 5. Addressbook works fine. In some way the default type selection of local doesn't create an addressbook but just a reference name. Evolution seems to choose addressbook 2 as a replacement for the missing/not created addressbook. Thanks
> You mean to say, while creating a new contact, on move/copy contacts and > while importing, 3rd address book is not selectable for you? The newly created local (corrupted) addressbook is selectable in the left pane view under local addressbooks, but not selectable when creating a new contact card (file->new->contact) in the "where:" dropdown. I'll do the backtracing when I have the time (not right now). Importing of .ldif files works ok when using the workaround. At least it is usable again ;) Thanks
Still not able to reproduce on SuSE
I've done some snooping around in the file backend of calendar and addressbook. In my .evolution directory two addressbook.db's were created in: .evolution/addressbook/local/ <- addressbook 2 to infinity .evolution/addressbook/local/system/ <- default addressbook After using the workaround two directories appeared for the thrird and fourth addressbook: .evolution/addressbook/local/1126603850.10632.1@lappie .evolution/addressbook/local/1126603883.10632.2@lappie The same creation problem is happening for calendars. After creating the third calendar I again get the third callender mimicing the second. I now have 7 calenders which are exactly the same ;) The local calendar directory looks like this: .evolution/calendar/local/calendar.ics <-- calendar 2 to infinity .evolution/calendar/local/system/calendar.ics <-- default calendar For the calenders a URI is used to create new directories (from orbit?). This goes wrong. The directory where the calendar/contact should be put is not created and all calendars created after the default calendar/addressbook end up in ~/.evolution/addressbook|calendar/local directory. I can't find where the URI is constructed but that would be the spot where the bug is hiding. Like this snippet in fetch_attachments() in e-cal-backend-file.c where the directory is fixed to /local/system. /*FIXME get the uri rather than computing the path */ attach_store = g_strconcat (g_get_home_dir (), "/", ".evolution/calendar/local/system", NULL); Hope this helps. Thanks
In gconf the relative_uri is not filled in, the uid is. Saving/creating the relative_uri goes wrong. <source uid="1126708987.12837.6@lappie" name="Agenda 3" relative_uri="" color="ff8a9e"/> If someone has the same trouble: To fix the calendars you can change the values in gconf: /apps/evolution/calendar/resources and fill in relative_uri with a name.
*** Bug 316320 has been marked as a duplicate of this bug. ***
Is this the problem with only non-english version of Evolution. Michael Quinn, do you use English or non-english locale?
I use the English version
Don't see why this bug should be NEEDINFO. REOPENing. This really is a strange bug, though. The Address Books and Calendars never should have been created in the local/ dir directly in the first place. That's why they all are the same.
*** Bug 328598 has been marked as a duplicate of this bug. ***
Confirming as per duplicate. Note: There is no crash in bug 328598. Most likely, cause no contacts where imported. Honestly, I don't care about the crash at all. The important point is, that in both cases the uid is corrupt and the Address Book .db files end up in the local/ dir, rather than their own. This may not happen. This is the issue to be fixed. See bug 328598 for some details. Especially bug 328598 comment 7 and bug 328598 comment 8.
Adjusting Summary.
Any tempory fix, to fix my system?
Can anyone of you start both evolution and evolution-data-server in terminal and attach the terminal messages generated when you try to create the second and third addressbook .
Anybody Listening ??
Please give me the terminal messages !!! Have gone through the code and dont find a reason why directories are not created for individual addressbooks. This has to be some specific issue with the system or else everybody should have been crying over this issue.
Sorry. ems@heater:~$ evolution adding hook target 'source' (evolution:4639): camel-WARNING **: camel_exception_get_id called with NULL parameter. (evolution:4639): Gdk-CRITICAL **: gdk_gc_set_foreground: assertion `GDK_IS_GC (gc)' failed (evolution:4639): Gdk-CRITICAL **: gdk_gc_set_foreground: assertion `GDK_IS_GC (gc)' failed (evolution:4639): eab-widgets-CRITICAL **: eab_view_discard_menus: assertion `view->view_instance' failed
I want both evolution and evolution-data-server terminal messages.
Closing this bug as there is no updates from reporter. Daan/ems: You can reopen this bug with the information required in Comment #22.