← Back to team overview

dx-packages team mailing list archive

[Bug 1216263] Re: indicator-datetime-service crashed with SIGSEGV in g_date_time_to_instant()

 

> #3  0x0804c0ce in indicator_datetime_planner_get_appointments (self=0x9dfbc10,
> begin=begin@entry=0x0, end=end@entry=0xb5005e78) at planner.c:188
>        appointments = <optimized out>
>        __PRETTY_FUNCTION__ = "indicator_datetime_planner_get_appointments"
> #4  0x0804d5d2 in get_all_appointments_this_month (self=0x9df98c8) at service.c:592
>         calendar_date = 0xb5005ca8
>         begin = <optimized out>
>         end = 0xb5005e78
>         y = 2013
>         m = 8
>         d = 21
>         appointments = 0x0
>         p = 0x9df9850

Here's the code in indicator-datetime:

>      calendar_date = get_calendar_date (self);
>      g_date_time_get_ymd (calendar_date, &y, &m, &d);
>      begin = g_date_time_new_local (y, m, 1,
>                                     0, 0, 0);
>      end = g_date_time_new_local (y, m, g_date_get_days_in_month(m,y),
>                                   23, 59, 0);
>
>      appointments = indicator_datetime_planner_get_appointments (p->planner,
>                                                                  begin,
>                                                                  end);

So calendar_date is non-NULL and  get_all_appointments_this_month() got
a ymd of 2013/8/21 out of it, then created 'begin' with
g_date_time_new_local (2013, 8, 1, 0, 0, 0), and passes it to
indicator_datetime_planner_get_appointments(), which sees it as NULL.

So it looks like g_date_time_new_local() is returning NULL. It's a
wrapper func that gets the local timezone and calls g_date_time_new(),
which returns NULL if it's fed invalid arguments. 2013, 8, 1, 0, 0, 0
seem valid.

The sanity check in g_date_time_new() looks like this:

>  if (year < 1 || year > 9999 ||
>      month < 1 || month > 12 ||
>      day < 1 || day > 31 ||
>      hour < 0 || hour > 23 ||
>      minute < 0 || minute > 59 ||
>      seconds < 0.0 || seconds >= 60.0)
>    return NULL;

seconds is a gdouble, so maybe this is a floating point accuracy issue
with testing "0.0 < 0.0"?

-- 
You received this bug notification because you are a member of DX
Packages, which is subscribed to indicator-datetime in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1216263

Title:
  indicator-datetime-service crashed with SIGSEGV in
  g_date_time_to_instant()

Status in The Date and Time Indicator:
  In Progress
Status in “indicator-datetime” package in Ubuntu:
  New

Bug description:
  indicator-datetime-service crashed with SIGSEGV in
  g_date_time_to_unix()

  ProblemType: Crash
  DistroRelease: Ubuntu 13.10
  Package: indicator-datetime 12.10.3+13.10.20130731-0ubuntu1
  ProcVersionSignature: Ubuntu 3.11.0-3.7-generic 3.11.0-rc6
  Uname: Linux 3.11.0-3-generic i686
  ApportVersion: 2.12.1-0ubuntu2
  Architecture: i386
  CrashCounter: 1
  Date: Wed Aug 21 23:41:40 2013
  ExecutablePath: /usr/lib/i386-linux-gnu/indicator-datetime-service
  ExecutableTimestamp: 1375236948
  InstallationDate: Installed on 2013-06-07 (75 days ago)
  InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Alpha i386 (20130607)
  MarkForUpload: True
  ProcCmdline: /usr/lib/i386-linux-gnu/indicator-datetime-service
  ProcCwd: /home/ub1310
  ProcEnviron:
   LANGUAGE=ru
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=ru_RU.UTF-8
   SHELL=/bin/bash
  SegvAnalysis:
   Segfault happened at: 0xb735e6d9:	mov    0xc(%eax),%eax
   PC (0xb735e6d9) ok
   source "0xc(%eax)" (0x0000000c) not located in a known VMA region (needed readable region)!
   destination "%eax" ok
  SegvReason: reading NULL VMA
  Signal: 11
  SourcePackage: indicator-datetime
  StacktraceTop:
   ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
   g_date_time_to_unix () from /lib/i386-linux-gnu/libglib-2.0.so.0
   ?? ()
   indicator_datetime_planner_get_appointments ()
   ?? ()
  Title: indicator-datetime-service crashed with SIGSEGV in g_date_time_to_unix()
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo

To manage notifications about this bug go to:
https://bugs.launchpad.net/indicator-datetime/+bug/1216263/+subscriptions