From 7b9969bae593336d952dcd326e2142a468e0bfcd Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Thu, 1 Feb 2018 15:40:32 +1100 Subject: [PATCH] Bug 1434813 - Fix integer overflow of places.database.lastMaintenance in testing/profiles/prefs_general.js. r=glandium. Bug 1383896 added this constant to testing/talos/talos/config.py: > FAR_IN_FUTURE = 7258114800 which is used as the value for the "places.database.lastMaintenance" pref. (7258114800 seconds after 1970 is the start of the year 2200.) libpref stores integers prefs as int32_t and the current parser doesn't detect overflow. So this overflows to -1331819792. (I detected this with the new prefs parser from bug 1423840, which does detect integer overflow.) As a result the condition testing this pref in toolkit/components/places/PlacesCategoriesStarter.js ends up always succeeding in tests, which is the exact opposite of what was intended. This patch changes it to 2147483647 (the year 2038), the maximum int32_t value. (Note: this is much the same as bug 1424030, which was fixed recently.) MozReview-Commit-ID: AQw4b8tmE9u --- testing/talos/talos/config.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/testing/talos/talos/config.py b/testing/talos/talos/config.py index 417bdbc63328..1737d2b0e21e 100644 --- a/testing/talos/talos/config.py +++ b/testing/talos/talos/config.py @@ -17,7 +17,11 @@ class ConfigurationError(Exception): pass -FAR_IN_FUTURE = 7258114800 +# Set places maintenance far in the future (the maximum time possible in an +# int32_t) to avoid it kicking in during tests. The maintenance can take a +# relatively long time which may cause unnecessary intermittents and slow +# things down. This, like many things, will stop working correctly in 2038. +FAR_IN_FUTURE = 2147483647 DEFAULTS = dict( # args to pass to browser