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 671603 - Birthday calendar broken since 3.3.4
Birthday calendar broken since 3.3.4
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
3.4.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 673638 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-03-07 22:03 UTC by Gert Kulyk
Modified: 2013-09-14 16:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed eds patch (7.60 KB, patch)
2012-05-15 11:25 UTC, Milan Crha
committed Details | Review

Description Gert Kulyk 2012-03-07 22:03:01 UTC
Another stable e-d-s release is approaching, and again libecalbackendcontacts seems to be broken like so many times before :( Unfortunately I did not yet manage to get useful debug output.

The breakage, which I can reproduce on clean accounts, too, happend somewhere between 3.3.4 and 3.3.90, if I remember well 3.3.5 was still working as expected.
Comment 1 Matthew Barnes 2012-03-07 23:19:08 UTC
Thanks for taking the time to report this bug.
This bug report isn't very useful because it doesn't describe the bug well. If you have time and can still reproduce the bug, please read http://bugzilla.gnome.org/bug-HOWTO.html and add a more useful description to this bug.
Comment 2 Gert Kulyk 2012-03-07 23:57:44 UTC
Ok, I'll try to make it more formally correct:

Steps to reproduce:

Set up an evo account, add one contact with the birthday field filled out and add it to the category birthday. Check if the addressbook is set up to be used for Birthday and Anniversary Calendar. Enable Birthday and Anniversary calender in calendar overview. Browse to the month the birtday should occour. 

Expected result: 

Birthday event should show up on the given date (in Evo as well as in gnome-shell-calendar).

Unfortunately it does not show up, neither on my normal account nor on clean test accounts.

Versions I can reproduce this bug: 3.3.90, 3.3.91.

I know it worked for git builds I did in January, for February I am not really sure since I did not have set up an birthday event for that month and so I did not check if it works. Last known released version that worked for sure was 3.3.4.

If you tell me how to debug the contacts calender backend, I'll do so. For now that is all what I can say about this.
Comment 3 Gert Kulyk 2012-03-24 17:45:27 UTC
Bug is still present in 3.3.92. If you need more information, please tell me how to obtain it. There are no obvious crashes, no errors are shown neither on command line nor in the logs.
Comment 4 Gert Kulyk 2012-04-01 14:50:48 UTC
Seems like I've finally found the commit causing the breakage:

all builds of eds >= commit 604f474ac69f311dd7c82abe860838d3c2f6e25d (3.3.3.x cycle) are showing this behavior. When reverting calendar/backends/contacts/e-cal-backend-contacts.c to the state before this commit, evolution is showing my birthday events (from local addressbook) again (gnome-shell-calendar is not, no idea why).

The commit was meant as a fix for bug #592906.

Hopefully that is enough information to get this fixed soon.
Comment 5 Gert Kulyk 2012-04-02 16:06:24 UTC
As there is additional information now, I'm going to mark the bug as unconfirmed again.
Comment 6 Gert Kulyk 2012-04-24 20:36:15 UTC
Maybe I'm wrong, but the longer I try to understand the changes made in commit 604f474ac69f311dd7c82abe860838d3c2f6e25d, the more I wonder if br->book_view is ever holding a value...
Comment 7 skipperTux 2012-05-04 19:33:51 UTC
I can confirm this bug in Evolution 3.4.1 running on ArchLinux. There is a forum discussion about this at https://bbs.archlinux.org/viewtopic.php?id=140305
I cross checked it with Fedora 16 Live running Evolution 3.2 and birthdays are shown fine in that version.
Comment 8 Milan Crha 2012-05-15 09:08:38 UTC
*** Bug 673638 has been marked as a duplicate of this bug. ***
Comment 9 Milan Crha 2012-05-15 09:10:38 UTC
(In reply to comment #4)
> The commit was meant as a fix for bug #592906.
> 
> Hopefully that is enough information to get this fixed soon.

Thanks for a bug report. Pointing out in bug #592906 that the commit has regression would make this being worked on sooner. I wasn't aware of it since borschty told me.
Comment 10 Sebastian Keller 2012-05-15 09:17:30 UTC
The problem here is that book_client_opened_cb gets called before add_source
gets called. So there is nothing in priv->addressbooks at the time which
results in br being NULL and thus causing a return before any real work gets
done.
Comment 11 Milan Crha 2012-05-15 11:25:53 UTC
Created attachment 214082 [details] [review]
proposed eds patch

for evolution-data-server;

This should make it. It ensures the priv->addressbooks is filled before the callback for "opened" is called, and it also guards 'addressbooks' and 'credentials' with a mutex, because these can be accessed from multiple threads. It seems to work for me.

I'm sorry for a breakage, I didn't notice it when testing the aforementioned change.

Sebastian, could you give this a try, please?
Comment 12 Sebastian Keller 2012-05-15 11:37:10 UTC
Works for me as well.
Comment 13 Milan Crha 2012-05-15 11:46:12 UTC
Thanks for a quick test. I made it into sources:

Created commit 3fe1b49 in eds master (3.5.2+)
Created commit 02898f3 in eds gnome-3-4 (3.4.3+)