Re: Segfault in clock.c:208

Adam Nielsen <[email protected]> Sun, 20 Sep 2015 12:09:46 +1000
Newsgroups gmane.comp.gnome.apps.gkrellm
Message-ID <[email protected]>
Hi Bill,

Thanks for the suggestions, and apologies for the delay in trying them
out!

> I'm not sure of the why, but from the code the what could be that
> the function g_locale_from_utf8() is unexpectedly returning NULL.
> So I added a check for a NULL return and then just use the original
> format string.  If you can do a git clone and compile, let me know if
> that makes a difference.
>     git clone git://git.srcbox.net/gkrellm

I've just had the latest git version crash with the same issue.  I
managed to do some further investigating, and it looks like it's
hitting a bug in glibc[1].  GKrellM is for some reason passing
out-of-range data to strftime(), which is crashing due to the bug.

I imagine the glibc people will fix the crash, but I guess it's still a
bug in GKrellM as out-of-range data is being passed to strftime(), and
the documentation for this function says doing that will result in an
"unspecified" return string.

If it gives you any clue, I rarely see the problem with gkrellmd
running on hosts in my LAN, but accessing a gkrellmd instance in
another country where the latency is somewhat high seems to trigger the
bug relatively quickly (usually within 24 hours.)  Same versions of
gkrellm/gkrellmd everywhere.  Maybe something strange happens if a
second update is sent before the first one has arrived, or something
like that?

Cheers,
Adam.

[1]: https://sourceware.org/bugzilla/show_bug.cgi?id=18985