After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 316072 - Address Book uri fucked up (Importing in non-default Address Book crashes Evo)
Address Book uri fucked up (Importing in non-default Address Book crashes Evo)
Status: RESOLVED INCOMPLETE
Product: evolution
Classification: Applications
Component: Contacts
2.4.x (obsolete)
Other All
: Normal major
: ---
Assigned To: Devashish Sharma
Evolution QA team
: 316320 328598 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-09-12 12:37 UTC by Daan Oosterveld
Modified: 2006-07-31 04:25 UTC
See Also:
GNOME target: ---
GNOME version: 2.11/2.12



Description Daan Oosterveld 2005-09-12 12:37:26 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 ?? ()

Thread 2 (Thread -1249653840 (LWP 10468))

  • #0 ??
  • #1 ??
  • #2 ??
  • #3 ??
  • #4 __lll_mutex_lock_wait
    from /lib/tls/i686/cmov/libpthread.so.0
  • #5 _L_mutex_lock_33
    from /lib/tls/i686/cmov/libpthread.so.0
  • #6 ??
  • #7 ??
  • #8 ??
    from /lib/tls/i686/cmov/libpthread.so.0
  • #9 ??
  • #10 ??
  • #11 ??
    from /lib/tls/i686/cmov/libc.so.6
  • #12 ??
  • #13 ??
  • #14 ??
  • #15 pthread_mutex_lock
    from /lib/tls/i686/cmov/libc.so.6
  • #16 pthread_mutex_lock
    from /lib/tls/i686/cmov/libc.so.6
  • #17 server_logging_register_domain
  • #18 <signal handler called>
  • #19 e_book_backend_summary_add_contact
    from /usr/lib/libedata-book-1.2.so.2
  • #20 e_book_backend_file_get_type
    from /usr/lib/evolution-data-server-1.2/extensions/libebookbackendfile.so
  • #21 e_book_backend_sync_create_contact
    from /usr/lib/libedata-book-1.2.so.2
  • #22 e_book_backend_sync_create_contact
    from /usr/lib/libedata-book-1.2.so.2
  • #23 e_book_backend_create_contact
    from /usr/lib/libedata-book-1.2.so.2
  • #24 e_data_book_get_backend
    from /usr/lib/libedata-book-1.2.so.2
  • #25 _ORBIT_skel_small_GNOME_Evolution_Addressbook_Book_addContact
    from /usr/lib/libedata-book-1.2.so.2
  • #26 ORBit_POA_setup_root
    from /usr/lib/libORBit-2.so.0
  • #27 ORBit_OAObject_invoke
    from /usr/lib/libORBit-2.so.0
  • #28 ORBit_small_invoke_adaptor
    from /usr/lib/libORBit-2.so.0
  • #29 ORBit_POAObject_post_invoke
    from /usr/lib/libORBit-2.so.0
  • #30 ORBit_POAObject_post_invoke
    from /usr/lib/libORBit-2.so.0
  • #31 giop_thread_queue_process
    from /usr/lib/libORBit-2.so.0
  • #32 giop_thread_queue_process
    from /usr/lib/libORBit-2.so.0
  • #33 g_thread_pool_free
    from /usr/lib/libglib-2.0.so.0
  • #34 g_static_private_free
    from /usr/lib/libglib-2.0.so.0
  • #35 start_thread
    from /lib/tls/i686/cmov/libpthread.so.0
  • #36 clone
    from /lib/tls/i686/cmov/libc.so.6

Comment 1 Daan Oosterveld 2005-09-12 12:39:31 UTC
Using ubuntu breezy badger
Comment 2 Devashish Sharma 2005-09-13 05:12:31 UTC
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.
Comment 3 Sushma Rai 2005-09-13 05:40:56 UTC
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.
Comment 4 Nagappan Alagappan 2005-09-13 06:28:20 UTC
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.
Comment 5 Daan Oosterveld 2005-09-13 09:43:32 UTC
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
Comment 6 Daan Oosterveld 2005-09-13 10:00:33 UTC
> 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

Comment 7 Devashish Sharma 2005-09-13 12:05:51 UTC
Still not able to reproduce on SuSE
Comment 8 Daan Oosterveld 2005-09-14 17:11:21 UTC
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

Comment 9 Daan Oosterveld 2005-09-15 07:56:35 UTC
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.

Comment 10 Sushma Rai 2005-09-16 09:31:47 UTC
*** Bug 316320 has been marked as a duplicate of this bug. ***
Comment 11 Sushma Rai 2005-09-20 06:21:03 UTC
Is this the problem with only non-english version of Evolution.
Michael Quinn, do you use English or non-english locale?
Comment 12 Michael Quinn 2005-09-20 12:55:26 UTC
I use the English version
Comment 13 Karsten Bräckelmann 2006-01-14 00:00:24 UTC
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.
Comment 14 Karsten Bräckelmann 2006-01-25 21:48:52 UTC
*** Bug 328598 has been marked as a duplicate of this bug. ***
Comment 15 Karsten Bräckelmann 2006-01-25 21:53:40 UTC
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.
Comment 16 Karsten Bräckelmann 2006-01-25 21:55:10 UTC
Adjusting Summary.
Comment 17 ems 2006-01-25 23:31:28 UTC
Any tempory fix, to fix my system?
Comment 18 Devashish Sharma 2006-02-12 10:24:43 UTC
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 . 
Comment 19 Devashish Sharma 2006-02-15 10:39:33 UTC
Anybody Listening ??
Comment 20 Devashish Sharma 2006-02-22 10:54:29 UTC
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.
Comment 21 ems 2006-02-22 15:48:45 UTC
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
Comment 22 Devashish Sharma 2006-02-28 10:07:57 UTC
I want both evolution and evolution-data-server terminal messages.
Comment 23 Poornima 2006-07-31 04:25:32 UTC
Closing this bug as there is no updates from reporter.
Daan/ems: You can reopen this bug with the information required in Comment #22.