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 757006 - Crash when trying to add a calendar
Crash when trying to add a calendar
Status: RESOLVED OBSOLETE
Product: gnome-calendar
Classification: Applications
Component: General
3.18.x
Other Linux
: High critical
: 3.26
Assigned To: GNOME Calendar maintainers
GNOME Calendar maintainers
Depends on:
Blocks:
 
 
Reported: 2015-10-23 08:06 UTC by Mathieu Bridon
Modified: 2017-11-24 21:38 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Mathieu Bridon 2015-10-23 08:06:46 UTC
I just tried adding a CalDAV calendar.

So I started typing the URL to the calendar, which is supposed to be:

    https://cal.toniob.net/<my_user_id>/<my_calendar_name>.ics

But I never went as far as typing that, all I could type was:

    https://cal.toniob.net

Then GNOME Calendar already asked me for my user_id and password in a separate dialog.

So I inputted my user_id and password in that dialog, validated it, and... the application crashed.

Here's the stack trace:

                Stack trace of thread 16092:
                #0  0x0000558369d39db1 discover_sources_cb (gnome-calendar)
                #1  0x00007fa0c0e41583 g_task_return_now (libgio-2.0.so.0)
                #2  0x00007fa0c0e415b9 complete_in_idle_cb (libgio-2.0.so.0)
                #3  0x00007fa0c087ae3a g_main_context_dispatch (libglib-2.0.so.0)
                #4  0x00007fa0c087b1d0 g_main_context_iterate.isra.29 (libglib-2.0.so.0)
                #5  0x00007fa0c087b4f2 g_main_loop_run (libglib-2.0.so.0)
                #6  0x00007fa0c4884840 gtk_dialog_run (libgtk-3.so.0)
                #7  0x00007fa0c0b799d4 _g_closure_invoke_va (libgobject-2.0.so.0)
                #8  0x00007fa0c0b942bd g_signal_emit_valist (libgobject-2.0.so.0)
                #9  0x00007fa0c0b948ff g_signal_emit (libgobject-2.0.so.0)
                #10 0x00007fa0c481dacd gtk_button_do_release (libgtk-3.so.0)
                #11 0x00007fa0c481db35 gtk_real_button_released (libgtk-3.so.0)
                #12 0x00007fa0c0b797a5 g_closure_invoke (libgobject-2.0.so.0)
                #13 0x00007fa0c0b8b38c signal_emit_unlocked_R (libgobject-2.0.so.0)
                #14 0x00007fa0c0b94530 g_signal_emit_valist (libgobject-2.0.so.0)
                #15 0x00007fa0c0b948ff g_signal_emit (libgobject-2.0.so.0)
                #16 0x00007fa0c481bbb0 multipress_released_cb (libgtk-3.so.0)
                #17 0x00007fa0b66e6d30 ffi_call_unix64 (libffi.so.6)
                #18 0x00007fa0b66e679b ffi_call (libffi.so.6)
                #19 0x00007fa0c0b7a4f5 g_cclosure_marshal_generic_va (libgobject-2.0.so.0)
                #20 0x00007fa0c0b799d4 _g_closure_invoke_va (libgobject-2.0.so.0)
                #21 0x00007fa0c0b942bd g_signal_emit_valist (libgobject-2.0.so.0)
                #22 0x00007fa0c0b948ff g_signal_emit (libgobject-2.0.so.0)
                #23 0x00007fa0c48c9df1 gtk_gesture_multi_press_end (libgtk-3.so.0)
                #24 0x00007fa0c0b7c5be g_cclosure_marshal_VOID__BOXEDv (libgobject-2.0.so.0)
                #25 0x00007fa0c0b799d4 _g_closure_invoke_va (libgobject-2.0.so.0)
                #26 0x00007fa0c0b942bd g_signal_emit_valist (libgobject-2.0.so.0)
                #27 0x00007fa0c0b948ff g_signal_emit (libgobject-2.0.so.0)
                #28 0x00007fa0c48c714e _gtk_gesture_check_recognized (libgtk-3.so.0)
                #29 0x00007fa0c48c8773 gtk_gesture_handle_event (libgtk-3.so.0)
                #30 0x00007fa0c48cb345 gtk_gesture_single_handle_event (libgtk-3.so.0)
                #31 0x00007fa0c489b03b gtk_event_controller_handle_event (libgtk-3.so.0)
                #32 0x00007fa0c4a4b56b _gtk_widget_run_controllers (libgtk-3.so.0)
                #33 0x00007fa0c491043a _gtk_marshal_BOOLEAN__BOXEDv (libgtk-3.so.0)
                #34 0x00007fa0c0b799d4 _g_closure_invoke_va (libgobject-2.0.so.0)
                #35 0x00007fa0c0b93dd3 g_signal_emit_valist (libgobject-2.0.so.0)
                #36 0x00007fa0c0b948ff g_signal_emit (libgobject-2.0.so.0)
                #37 0x00007fa0c4a4d56c gtk_widget_event_internal (libgtk-3.so.0)
                #38 0x00007fa0c490d7ae propagate_event (libgtk-3.so.0)
                #39 0x00007fa0c490f55c gtk_main_do_event (libgtk-3.so.0)
                #40 0x00007fa0c4488792 gdk_event_source_dispatch (libgdk-3.so.0)
                #41 0x00007fa0c087ae3a g_main_context_dispatch (libglib-2.0.so.0)
                #42 0x00007fa0c087b1d0 g_main_context_iterate.isra.29 (libglib-2.0.so.0)
                #43 0x00007fa0c087b27c g_main_context_iteration (libglib-2.0.so.0)
                #44 0x00007fa0c0e65a2c g_application_run (libgio-2.0.so.0)
                #45 0x0000558369d2a060 main (gnome-calendar)
                #46 0x00007fa0bf9ca580 __libc_start_main (libc.so.6)
                #47 0x0000558369d2a0a9 _start (gnome-calendar)
                
                Stack trace of thread 16116:
                #0  0x00007fa0bfaa111d poll (libc.so.6)
                #1  0x00007fa0c087b16c g_main_context_iterate.isra.29 (libglib-2.0.so.0)
                #2  0x00007fa0c087b27c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007fa0c087b2b9 glib_worker_main (libglib-2.0.so.0)
                #4  0x00007fa0c08a1835 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fa0bff8960a start_thread (libpthread.so.0)
                #6  0x00007fa0bfaacbbd __clone (libc.so.6)
                
                Stack trace of thread 16117:
                #0  0x00007fa0bfaa111d poll (libc.so.6)
                #1  0x00007fa0c087b16c g_main_context_iterate.isra.29 (libglib-2.0.so.0)
                #2  0x00007fa0c087b4f2 g_main_loop_run (libglib-2.0.so.0)
                #3  0x00007fa0c0e9c356 gdbus_shared_thread_func (libgio-2.0.so.0)
                #4  0x00007fa0c08a1835 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fa0bff8960a start_thread (libpthread.so.0)
                #6  0x00007fa0bfaacbbd __clone (libc.so.6)
                
                Stack trace of thread 16453:
                #0  0x00007fa0bfaa6d89 syscall (libc.so.6)
                #1  0x00007fa0c08bf99a g_cond_wait_until (libglib-2.0.so.0)
                #2  0x00007fa0c084fc09 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0)
                #3  0x00007fa0c08a21a6 g_thread_pool_thread_proxy (libglib-2.0.so.0)
                #4  0x00007fa0c08a1835 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fa0bff8960a start_thread (libpthread.so.0)
                #6  0x00007fa0bfaacbbd __clone (libc.so.6)
                
                Stack trace of thread 16123:
                #0  0x00007fa0bfaa111d poll (libc.so.6)
                #1  0x00007fa0c087b16c g_main_context_iterate.isra.29 (libglib-2.0.so.0)
                #2  0x00007fa0c087b27c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007fa0b285d2ad dconf_gdbus_worker_thread (libdconfsettings.so)
                #4  0x00007fa0c08a1835 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fa0bff8960a start_thread (libpthread.so.0)
                #6  0x00007fa0bfaacbbd __clone (libc.so.6)
                
                Stack trace of thread 16454:
                #0  0x00007fa0bfaa6d89 syscall (libc.so.6)
                #1  0x00007fa0c08bf99a g_cond_wait_until (libglib-2.0.so.0)
                #2  0x00007fa0c084fc09 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0)
                #3  0x00007fa0c08a21a6 g_thread_pool_thread_proxy (libglib-2.0.so.0)
                #4  0x00007fa0c08a1835 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fa0bff8960a start_thread (libpthread.so.0)
                #6  0x00007fa0bfaacbbd __clone (libc.so.6)
                
                Stack trace of thread 16125:
                #0  0x00007fa0bfaa111d poll (libc.so.6)
                #1  0x00007fa0c087b16c g_main_context_iterate.isra.29 (libglib-2.0.so.0)
                #2  0x00007fa0c087b4f2 g_main_loop_run (libglib-2.0.so.0)
                #3  0x00007fa0c341ba34 source_registry_object_manager_thread (libedataserver-1.2.so.21)
                #4  0x00007fa0c08a1835 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fa0bff8960a start_thread (libpthread.so.0)
                #6  0x00007fa0bfaacbbd __clone (libc.so.6)
                
                Stack trace of thread 16144:
                #0  0x00007fa0bfaa111d poll (libc.so.6)
                #1  0x00007fa0c087b16c g_main_context_iterate.isra.29 (libglib-2.0.so.0)
                #2  0x00007fa0c087b4f2 g_main_loop_run (libglib-2.0.so.0)
                #3  0x00007fa0c5254c23 cal_client_dbus_thread (libecal-1.2.so.19)
                #4  0x00007fa0c08a1835 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fa0bff8960a start_thread (libpthread.so.0)
                #6  0x00007fa0bfaacbbd __clone (libc.so.6)
Comment 1 André Klapper 2015-10-24 09:57:55 UTC
Thanks for taking the time to report this.
Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces for more information on how to do so and reopen this bug report. Thanks in advance!
Comment 2 Mathieu Bridon 2015-10-24 10:41:11 UTC
Indeed, I forgot to install the debuginfo. Sorry about that.

Here's the backtrace with the proper debugging symbols.

Thread 1 (Thread 0x7fa0c5b26a40 (LWP 16092))

  • #0 discover_sources_cb
    at gcal-source-dialog.c line 1567
  • #1 g_task_return_now
    at gtask.c line 1104
  • #2 complete_in_idle_cb
    at gtask.c line 1118
  • #3 g_main_dispatch
    at gmain.c line 3154
  • #4 g_main_context_dispatch
    at gmain.c line 3769
  • #5 g_main_context_iterate
    at gmain.c line 3840
  • #6 g_main_loop_run
    at gmain.c line 4034
  • #7 gtk_dialog_run
    at gtkdialog.c line 1395
  • #8 _g_closure_invoke_va
    at gclosure.c line 864
  • #9 g_signal_emit_valist
    at gsignal.c line 3292
  • #10 g_signal_emit
    at gsignal.c line 3439
  • #11 gtk_button_do_release
    at gtkbutton.c line 1899
  • #12 gtk_real_button_released
    at gtkbutton.c line 2017
  • #13 g_closure_invoke
    at gclosure.c line 801
  • #14 signal_emit_unlocked_R
    at gsignal.c line 3557
  • #15 g_signal_emit_valist
    at gsignal.c line 3383
  • #16 g_signal_emit
    at gsignal.c line 3439
  • #17 multipress_released_cb
    at gtkbutton.c line 613
  • #18 ffi_call_unix64
    at ../src/x86/unix64.S line 76
  • #19 ffi_call
    at ../src/x86/ffi64.c line 525
  • #20 g_cclosure_marshal_generic_va
    at gclosure.c line 1600
  • #21 _g_closure_invoke_va
    at gclosure.c line 864
  • #22 g_signal_emit_valist
    at gsignal.c line 3292
  • #23 g_signal_emit
    at gsignal.c line 3439
  • #24 gtk_gesture_multi_press_end
    at gtkgesturemultipress.c line 273
  • #25 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1950
  • #26 _g_closure_invoke_va
    at gclosure.c line 864
  • #27 g_signal_emit_valist
    at gsignal.c line 3292
  • #28 g_signal_emit
    at gsignal.c line 3439
  • #29 _gtk_gesture_set_recognized
    at gtkgesture.c line 345
  • #30 _gtk_gesture_check_recognized
    at gtkgesture.c line 386
  • #31 gtk_gesture_handle_event
    at gtkgesture.c line 777
  • #32 gtk_gesture_single_handle_event
    at gtkgesturesingle.c line 221
  • #33 gtk_event_controller_handle_event
    at gtkeventcontroller.c line 230
  • #34 _gtk_widget_run_controllers
    at gtkwidget.c line 7321
  • #35 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 131
  • #36 _g_closure_invoke_va
    at gclosure.c line 864
  • #37 g_signal_emit_valist
    at gsignal.c line 3292
  • #38 g_signal_emit
    at gsignal.c line 3439
  • #39 gtk_widget_event_internal
    at gtkwidget.c line 7692
  • #40 propagate_event_up
    at gtkmain.c line 2517
  • #41 propagate_event
    at gtkmain.c line 2619
  • #42 gtk_main_do_event
    at gtkmain.c line 1850
  • #43 gdk_event_source_dispatch
    at gdkeventsource.c line 364
  • #44 g_main_dispatch
    at gmain.c line 3154
  • #45 g_main_context_dispatch
    at gmain.c line 3769
  • #46 g_main_context_iterate
    at gmain.c line 3840
  • #47 g_main_context_iteration
    at gmain.c line 3901
  • #48 g_application_run
    at gapplication.c line 2311
  • #49 main
    at main.c line 43

Comment 3 Erick Perez Castellanos 2015-10-29 16:32:12 UTC
(In reply to Mathieu Bridon from comment #0)
> I just tried adding a CalDAV calendar.
> 
> So I started typing the URL to the calendar, which is supposed to be:
> 
>     https://cal.toniob.net/<my_user_id>/<my_calendar_name>.ics
> 
> But I never went as far as typing that, all I could type was:
> 
>     https://cal.toniob.net
> 
> Then GNOME Calendar already asked me for my user_id and password in a
> separate dialog.
> 
> So I inputted my user_id and password in that dialog, validated it, and...
> the application crashed.
> 
> ...

Can you try pasting the URL instead and let me know the outcome?
Comment 4 Mathieu Bridon 2015-10-30 07:47:50 UTC
(In reply to Erick Pérez Castellanos from comment #3)
> Can you try pasting the URL instead and let me know the outcome?

So here's what I did.

In GNOME Calendar, add a new "From Web..." calendar.

Then I pasted the whole URL in

    https://cal.toniob.net/<my_user_id>/<my_calendar_name>.ics

Then I clicked "Add".

And absolutely nothing happened.

In GNOME Calendar, I can't find this new calendar.

-----

However, at this point, if I go to the calendar view in Evolution, then I can see something interesting: I now have a new "Unnamed" calendar, in the "On The Web" category. This calendar is disabled, and it is the one GNOME Calendar just added.

So there are a few things here.

First, it seems that GNOME Calendar added a "On The Web" calendar, instead of a WebDAV one. This is not what I expected, but it might just be that I misunderstood and GNOME Calendar is supposed to do that.

Second, that calendar is unnamed, because GNOME Calendar never asked me to name it, nor did it just use the file name from the URL.

Third, GNOME Calendar doesn't show that calendar at all, and Evolution says "Unable to connect to 'Unnamed': Cannot open calendar: Bad file format.". If the calendar is unusable, then GNOME Calendar shouldn't have silently added it at all, it should have sent me back an error instead.

-----

So there are a few things above which could be considered separate issues. Let me know which of them are just due to my own misunderstanding (PEBCAK! :P) and which ones you want to have moved to dedicated bug reports. :)
Comment 5 Georges Basile Stavracas Neto 2017-04-19 20:19:10 UTC
(In reply to Mathieu Bridon from comment #4)

> Then I pasted the whole URL in
> 
>     https://cal.toniob.net/<my_user_id>/<my_calendar_name>.ics
> 
> Then I clicked "Add".
> 
> And absolutely nothing happened.

That's because Calendar detected you are posting an URL that points to a file, which shouldn't need any authentication. I'm not sure though - I might be wrong.


> First, it seems that GNOME Calendar added a "On The Web" calendar, instead
> of a WebDAV one.

"On The Web" already covers the WebDAV case. But again, you posted a link to a remote file, and Calendar detected that.


> Second, that calendar is unnamed, because GNOME Calendar never asked me to
> name it, nor did it just use the file name from the URL.

This is a separate issue, already filed (see bug 778544).


> Third, GNOME Calendar doesn't show that calendar at all, and Evolution says
> "Unable to connect to 'Unnamed': Cannot open calendar: Bad file format."

That's true.


> So there are a few things above which could be considered separate issues.
> Let me know which of them are just due to my own misunderstanding (PEBCAK!
> :P) and which ones you want to have moved to dedicated bug reports. :)

Don't underestimate yourself. Things like this should work perfectly out of the box.
Comment 6 Georges Basile Stavracas Neto 2017-11-24 21:38:43 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnome-calendar/issues/29.