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 427232 - Crash on start-up (libevolution-calendar.so)
Crash on start-up (libevolution-calendar.so)
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
2.10.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 433543 440241 445543 445738 446031 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-04-07 10:17 UTC by Sebastien Bacher
Modified: 2007-06-12 23:18 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18


Attachments
Possible patch (725 bytes, patch)
2007-05-07 17:43 UTC, Matthew Barnes
reviewed Details | Review
Proposed patch (14.01 KB, patch)
2007-05-14 16:19 UTC, Matthew Barnes
committed Details | Review

Description Sebastien Bacher 2007-04-07 10:17:44 UTC
The bug has been opened on https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/103877

"Binary package hint: evolution

The crash happens every time I start evolution. I didn't have problems with 2.9.x, only 2.10.

ProblemType: Crash
Architecture: i386
CrashCounter: 1
Date: Fri Apr 6 20:33:07 2007
DistroRelease: Ubuntu 7.04
ExecutablePath: /usr/bin/evolution-2.10
Package: evolution 2.10.0-0ubuntu2
...
.

Thread 1 (process 5520)

  • #0 calendar_component_init
    at calendar-component.c line 213
  • #1 IA__g_type_create_instance
    at gtype.c line 1569
  • #2 g_object_constructor
    at gobject.c line 1041
  • #3 bonobo_object_constructor
    at bonobo-object.c line 818
  • #4 IA__g_object_newv
    at gobject.c line 937
  • #5 IA__g_object_new_valist
    at gobject.c line 981
  • #6 IA__g_object_new
    at gobject.c line 795
  • #7 calendar_component_peek
    at calendar-component.c line 1719
  • #8 factory
    at main.c line 175
  • #9 bonobo_marshal_OBJECT__STRING
    at bonobo-marshal.c line 203
  • #10 IA__g_closure_invoke
    at gclosure.c line 490
  • #11 bonobo_closure_invoke_va_list
    at bonobo-types.c line 404
  • #12 bonobo_closure_invoke
    at bonobo-types.c line 467
  • #13 bonobo_generic_factory_new_generic
    at bonobo-generic-factory.c line 276
  • #14 bonobo_shlib_factory_new_generic
    at bonobo-shlib-factory.c line 155
  • #15 impl_Bonobo_ObjectFactory_createObject
    at bonobo-generic-factory.c line 81
  • #16 _ORBIT_skel_small_Bonobo_GenericFactory_createObject
    at Bonobo_GenericFactory-common.c line 16
  • #17 ORBit_c_stub_invoke
    at poa.c line 2630
  • #18 Bonobo_GenericFactory_createObject
    at Bonobo_GenericFactory-stubs.c line 13
  • #19 bonobo_activation_activate_shlib_server
    at bonobo-activation-shlib.c line 203
  • #20 handle_activation_result
    at bonobo-activation-activate.c line 315
  • #21 bonobo_activation_activate
    at bonobo-activation-activate.c line 395
  • #22 bonobo_activation_activate_from_id
    at bonobo-activation-activate.c line 437
  • #23 query_components
    at e-component-registry.c line 192
  • #24 e_component_registry_peek_list
    at e-component-registry.c line 295
  • #25 e_shell_construct
    at e-shell.c line 689
  • #26 e_shell_new
    at e-shell.c line 737
  • #27 idle_cb
    at main.c line 351
  • #28 g_idle_dispatch
    at gmain.c line 3928
  • #29 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #30 g_main_context_iterate
    at gmain.c line 2677
  • #31 IA__g_main_loop_run
    at gmain.c line 2881
  • #32 bonobo_main
    at bonobo-main.c line 311
  • #33 main
    at main.c line 611

Comment 1 palfrey 2007-04-26 11:16:54 UTC
*** Bug 433543 has been marked as a duplicate of this bug. ***
Comment 2 Matthew Barnes 2007-04-27 16:18:39 UTC
The backtrace does not show the point of the crash, although frame #7 looks suspicious.

This was also reported against Fedora:
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=238155
Comment 3 Matthew Barnes 2007-05-07 17:27:06 UTC
I have a theory on what might be causing this.

See the Fedora bug (linked to in comment #2) for details.
Comment 4 Matthew Barnes 2007-05-07 17:43:52 UTC
Created attachment 87729 [details] [review]
Possible patch

If my theory proves correct, this patch should stop the reported crash.

I'm unable to reproduce this crash on Evolution 2.8.0, but I can readily reproduce it on Evolution 2.10.1 by removing the "relative_uri" attribute from the "On My Computer" source group in my /apps/evolution/calendar/sources GConf key.
Comment 5 Srinivasa Ragavan 2007-05-11 05:30:27 UTC
Chen: Can you revew this?
Comment 6 Chenthill P 2007-05-11 17:06:19 UTC
This should also be fixed in memos-component.c and tasks-component.c as well. Please commit the patch after including the changes in those files. The reason for the missing relative uri should still be identified and fixed.
Comment 7 Matthew Barnes 2007-05-11 17:35:07 UTC
Sure.  Should we be checking for an absolute URI if the relative URI is missing? Not sure how that's intended to work.
Comment 8 Matthew Barnes 2007-05-14 16:19:12 UTC
Created attachment 88163 [details] [review]
Proposed patch

Actually I found this same logic error (not checking ESource URIs for NULL before passing them to strcmp()) in quite a number of places.  Here's what grepping for "e_source_peek_relative_uri" and "e_source_peek_absolute_uri" turned up.  There may more cases that I missed.

Chen, since the scope of this patch has grown a little can you take another quick look at it?

Still no idea why the relative URIs aren't present in the reporter's sources list to begin with.  They could have been manually removed from GConf for all I know.  That's how I reproduced the crash.
Comment 9 palfrey 2007-05-21 23:23:38 UTC
*** Bug 440241 has been marked as a duplicate of this bug. ***
Comment 10 Matthew Barnes 2007-05-22 11:13:30 UTC
Chen, ping.  Do you mind if I commit the patch in comment #8 for 2.10.2?
Comment 11 Chenthill P 2007-05-25 12:32:02 UTC
(In reply to comment #10)
> Chen, ping.  Do you mind if I commit the patch in comment #8 for 2.10.2?
> 

The patch looks good to commit. Just one thing, do we really need to have the g_assert statements ?
Comment 12 Matthew Barnes 2007-05-25 12:54:59 UTC
That's true, we don't really need it.

e_source_peek_relative_uri() has a g_return_val_if_fail() guard on the argument, so it should recover fine if a source list element is somehow NULL.  I guess I was being overly paranoid (I *was* debugging a NULL-pointer crash, after all).

I'll remove the assertions before I commit.  Any other concerns?
Comment 13 Chenthill P 2007-05-25 14:17:34 UTC
Nope, you can go ahead with committing the patch.
Comment 14 Matthew Barnes 2007-05-25 16:19:02 UTC
Committed to Subversion trunk (revision 33577).
Comment 15 André Klapper 2007-06-12 23:18:18 UTC
*** Bug 445543 has been marked as a duplicate of this bug. ***
Comment 16 André Klapper 2007-06-12 23:18:30 UTC
*** Bug 445738 has been marked as a duplicate of this bug. ***
Comment 17 André Klapper 2007-06-12 23:18:41 UTC
*** Bug 446031 has been marked as a duplicate of this bug. ***