|
Bugzilla – Full Text Bug Listing |
| Summary: | glib g_timeout_add integer overflow [syslog-ng stats_freq option not interpreted correctly] | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 11.4 | Reporter: | Forgotten User 2Xrp_Q7k_A <forgotten_2Xrp_Q7k_A> |
| Component: | Basesystem | Assignee: | E-mail List <gnome-bugs> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | bazsi, mt, peter |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | openSUSE 11.4 | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Forgotten User 2Xrp_Q7k_A
2011-06-26 12:32:03 UTC
Tested it and confirmed. Forwarded the bugs to upstream developers. CzP Hmm... I couldn't reproduce it with the latest syslog-ng 3.2 git tree, however I can't remember any fixes in the area. Are you sure you wrote the correct number of digits in the error report? I mean one week is 24*60*60*7 = 604800 and not 60480 (one digit less). This number is multiplied by 1000 to get msec instead of seconds, but that still gits into the 32 bit integer it is stored in. (around 600 million, but we're ok until about 2 billion). The glib version can matter too, in my build environment I use 2.14.6, yours is probably newer. This might also be a factor. (for instance if glib uses nanoseconds internally, that would already overflow) But anyway, I'd suggest to use shorter timeouts, is one per day so much extra traffic? This way you can check message drops etc So I wouldn't want to fix this upstream, especially as syslog-ng 3.3 is using a completely different event library (ivykis instead of glib). Yes, it is 60480 which gives stat in every ten seconds. Just tested 3.2.4 on factory, and that does not seem to be affected. Obviously many other packages were updated too. I'll try to compile 3.2.4 for openSUSE 11.4 and give it a try. This is a glib integer overflow and fix for this issue is in commit c2fbef4125977d0c1aa1a9859491e694c9c71b05. See also: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=606618 https://bugzilla.gnome.org/show_bug.cgi?id=642052 I think it makes sense to fix it in glib2. BTW: the bug can be reproduced with g_timeout_add_seconds, too. BTW: A 60130 causes to execute the timer function every second, that is with default config 78MB / day. But 60129 does not execute it at all, that is there seems to be a >0 check inside of glib. Link to the patch: http://git.gnome.org/browse/glib/patch/?id=c2fbef4125977d0c1aa1a9859491e694c9c71b05 Can someone confirm that the patch fixes the issue? Or do you need me to produce a test package? Vincent, can you create a branch $yourhome:branches:openSUSE:11.4:Update:Test/glib, apply it and let me know the name please? I'll use it as repo to build a syslog-ng package and then we can test it. Ahm... ldd /sbin/syslog-ng says, that on 11.4 glib2 is in /lib64/libglib-2.0.so.0 already, syslog-ng is not linked statically any more, so I don't even need to rebuild syslog-ng. So we just need a fixed glib package to test it. Test package available in home:vuntz:branches:openSUSE:11.4:Update:Test/glib2. Fixed in follow-up releases and 11.4 is out of support. |