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 628299 - Crash in g_variant_is_trusted at gvariant-core.c:578
Crash in g_variant_is_trusted at gvariant-core.c:578
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
2.32.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: Bharath Acharya
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-08-30 09:39 UTC by Punit Jain
Modified: 2013-09-14 16:53 UTC
See Also:
GNOME target: ---
GNOME version: 2.29/2.30


Attachments
EDS patch (2.19 KB, patch)
2010-09-07 09:35 UTC, Bharath Acharya
reviewed Details | Review

Description Punit Jain 2010-08-30 09:39:37 UTC
I got this crash when I clicked on calendar component of evolution. 

(e-calendar-factory:15205): GLib-CRITICAL **: g_variant_new_string: assertion `g_utf8_validate (string, -1, NULL)' failed
[Thread 0xb3c0eb70 (LWP 15282) exited]

Program received signal SIGSEGV, Segmentation fault.
g_variant_is_trusted (value=0x0) at gvariant-core.c:578
578	  return (value->state & STATE_TRUSTED) != 0;
(gdb) t a a bt

Thread 1 (Thread 0xb6a7db60 (LWP 15205))

  • #0 g_variant_is_trusted
    at gvariant-core.c line 578
  • #1 g_variant_builder_add_value
    at gvariant.c line 2932
  • #2 g_variant_valist_new
    at gvariant.c line 3928
  • #3 g_variant_new_va
  • #4 g_variant_new
  • #5 g_dbus_message_new_method_error_literal
    at gdbusmessage.c line 348
  • #6 g_dbus_method_invocation_return_dbus_error
    at gdbusmethodinvocation.c line 600
  • #7 g_dbus_method_invocation_return_gerror
    at gdbusmethodinvocation.c line 551
  • #8 data_cal_return_error
    at e-data-cal.c line 178
  • #9 e_data_cal_notify_open
    at e-data-cal.c line 668
  • #10 _e_cal_backend_open
    at e-cal-backend-sync.c line 601
  • #11 e_cal_backend_open
    at e-cal-backend.c line 728
  • #12 impl_Cal_open
    at e-data-cal.c line 227
  • #13 _e_gdbus_gdbus_cclosure_marshaller_BOOLEAN__OBJECT_BOOLEAN_STRING_STRING
  • #14 g_closure_invoke
    at gclosure.c line 766
  • #15 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #16 g_signal_emit_valist
    at gsignal.c line 2993
  • #17 g_signal_emit
    at gsignal.c line 3040
  • #18 handle_method_call
    at e-gdbus-egdbuscal.c line 6335
  • #19 call_in_idle_cb
    at gdbusconnection.c line 4241
  • #20 g_idle_dispatch
    at gmain.c line 4224
  • #21 g_main_dispatch
    at gmain.c line 2119
  • #22 g_main_context_dispatch
    at gmain.c line 2672
  • #23 g_main_context_iterate
    at gmain.c line 2750
  • #24 g_main_loop_run
    at gmain.c line 2958
  • #25 main
    at e-data-cal-factory.c line 889
  • #0 g_variant_is_trusted
    at gvariant-core.c line 578
  • #1 g_variant_builder_add_value
    at gvariant.c line 2932
  • #2 g_variant_valist_new
    at gvariant.c line 3928
  • #3 g_variant_new_va
  • #4 g_variant_new
  • #5 g_dbus_message_new_method_error_literal
    at gdbusmessage.c line 348
  • #6 g_dbus_method_invocation_return_dbus_error
    at gdbusmethodinvocation.c line 600
  • #7 g_dbus_method_invocation_return_gerror
    at gdbusmethodinvocation.c line 551
  • #8 data_cal_return_error
    at e-data-cal.c line 178
  • #9 e_data_cal_notify_open
    at e-data-cal.c line 668
  • #10 _e_cal_backend_open
    at e-cal-backend-sync.c line 601
  • #11 e_cal_backend_open
    at e-cal-backend.c line 728
  • #12 impl_Cal_open
    at e-data-cal.c line 227
  • #13 _e_gdbus_gdbus_cclosure_marshaller_BOOLEAN__OBJECT_BOOLEAN_STRING_STRING
    at e-gdbus-marshallers.c line 250
  • #14 g_closure_invoke
    at gclosure.c line 766
  • #15 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #16 g_signal_emit_valist
    at gsignal.c line 2993
  • #17 g_signal_emit
    at gsignal.c line 3040
  • #18 handle_method_call
    at e-gdbus-egdbuscal.c line 6335
  • #19 call_in_idle_cb
    at gdbusconnection.c line 4241
  • #20 g_idle_dispatch
    at gmain.c line 4224
  • #21 g_main_dispatch
    at gmain.c line 2119
  • #22 g_main_context_dispatch
    at gmain.c line 2672
  • #23 g_main_context_iterate
    at gmain.c line 2750
  • #24 g_main_loop_run
    at gmain.c line 2958
  • #25 main
    at e-data-cal-factory.c line 889

Comment 1 Christian Persch 2010-08-30 10:02:13 UTC


  • #6 g_dbus_method_invocation_return_dbus_error
    at gdbusmethodinvocation.c line 600
  • #7 g_dbus_method_invocation_return_gerror
    at gdbusmethodinvocation.c line 551
  • #8 data_cal_return_error
    at e-data-cal.c line 178

Looks like a bug in e-d-s. It's returning an error to the method invocation, but the GError used appears to contain a message that isn't valid UTF-8.
Comment 2 Bharath Acharya 2010-09-07 09:35:28 UTC
Created attachment 169656 [details] [review]
EDS patch

Initialize the error message. Fixes the crash. Need to fix the right error message from the server later.
Comment 3 Chenthill P 2010-09-08 10:40:01 UTC
Review of attachment 169656 [details] [review]:

Please free the memory which is allocated or just initialize it in the stack itself. If you can map the server error with one of the standard errors, please do it right away. Please commit it after the changes.
Comment 4 Bharath Acharya 2010-09-09 11:00:31 UTC
Reworked and committed an updated patch,
http://git.gnome.org/browse/evolution-data-server/commit/?id=fa9d7b6fc5816b4f6360344a1be13d768bc53ff4