Repository: alainm23/planify

Issue #47: Planner doesn't start in German language
Created: 2019-01-21T07:50:37Z
Just received the latest version via elementary update; am unable to start anymore. Running from the terminal ends up in a segmentation fault, no real valuable additional information. How to help?

Duplicate issue #56: Segmentation Fault when startup
Created: 2019-03-05T17:42:43Z
OS: elementary OS 5.0 Juno
System language: ru_RU.UTF-8
Planner version: >1.1.1 (in 1.1.1 and below everything is OK)
gdb's backtrace:
#0  0x00007ffff78cb60e in g_closure_ref () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#1  0x00007ffff78cbf9c in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#2  0x00007ffff78df12e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3  0x00007ffff78e7715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff78e812f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007ffff78d05c4 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6  0x00007ffff78d2b09 in g_object_notify_by_pspec () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7  0x00007ffff682ec00 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#8  0x00007ffff78cc10d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff78df12e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff78e7715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff78e812f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff682fb10 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00007ffff6824acc in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007ffff78cc10d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff78dede8 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff78e7715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007ffff78e8608 in g_signal_emit_by_name () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff681f857 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#19 0x00007ffff682ca9d in gtk_entry_set_text () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#20 0x0000555555613954 in widgets_time_picker_update_text (self=0x555555fb5da0, no_signal=1) at /home/shaman/valadebug/planner/src/Widgets/TimePicker.vala:141
#21 0x0000555555615bdf in widgets_time_picker_set_time (self=0x555555fb5da0, value=0x555555b32e60)
    at /home/shaman/valadebug/planner/src/Widgets/TimePicker.vala:49
#22 0x00005555555ee55a in widgets_when_button_set_date (self=0x5555559a1260, date=0x555555b8ae80, _has_reminder=0, _reminder_datetime=0x555555b32e60)
    at /home/shaman/valadebug/planner/src/Widgets/WhenButton.vala:108
#23 0x00005555555ee9ab in _widgets_when_button___lambda42_ (self=0x5555559a1260, date=0x555555b8ae80, _has_reminder=0, _reminder_datetime=0x555555b32e60)
    at /home/shaman/valadebug/planner/src/Widgets/WhenButton.vala:91
#24 0x00005555555ee9fd in __widgets_when_button___lambda42__widgets_popovers_when_popover_on_selected_date (_sender=0x555555dc47e0, duedate=0x555555b8ae80, has_reminder=0, reminder_datetime=0x555555b32e60, self=0x5555559a1260) at /home/shaman/valadebug/planner/src/Widgets/WhenButton.vala:90
#25 0x000055555563655a in g_cclosure_user_marshal_VOID__BOXED_BOOLEAN_BOXED (closure=0x55555603a0c0, return_value=0x0, n_param_values=4, param_values=0x7fffff8003c0, invocation_hint=0x7fffff800340, marshal_data=0x0) at /home/shaman/valadebug/planner/src/Widgets/Popovers/WhenPopover.vala:22
#26 0x00007ffff78cc021 in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007ffff78df05e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff78e7715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007ffff78e812f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#30 0x0000555555635b15 in __lambda36_ (self=0x555555dc47e0) at /home/shaman/valadebug/planner/src/Widgets/Popovers/WhenPopover.vala:302
#31 0x0000555555635e65 in ___lambda36__gtk_editable_changed (_sender=0x555555e9d440, self=0x555555dc47e0)
    at /home/shaman/valadebug/planner/src/Widgets/Popovers/WhenPopover.vala:299
#32 0x00007ffff78cc021 in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#33 0x00007ffff78df05e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#34 0x00007ffff78e7715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#35 0x00007ffff78e8608 in g_signal_emit_by_name () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007ffff6821c29 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#37 0x00007ffff682cac7 in gtk_entry_set_text () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
...

Example of received string: "7:42 П. П."
Length of this string: 12
Changing the maximum length in line 65 from Widgets/TimePicker fixes this issue.

time_entry.max_length = 8; // to 16?

Deleting this line can also be a solution, but both of these methods do not solve the root of the problem.
You see, for some reason the system time format is used, which can be any. For output in the widget, this is normal, but parsing the time from the received string is not normal at all. A specific system time format can break parsing. Well, you can take time directly from GLib.DateTime without any parsing.
The best solution would be to keep time raw, and use Gtk.Entry only for output.

Closing comment (2019-03-05T18:54:57Z): Duplicate of #47?
Please note that it is recommended to attach a backtrace to identify the cause of the segmentation fault.