Charles,

it's hard to comment this profoundly without giving it some serious and time-consuming debugging first. Anyway, I assume that your problem persists with both "offsets" and "start-at dates" even when LD_PRELOADing libfaketime directly, i.e., without the "faketime" wrapper.

In this case, the observed behavior is quite typical for applications which load system libraries (including time-related functions) themselves at run-time. It basically means that the LD_PRELOAD mechanism is somewhat bypassed by the application, which loads the real (not the faking) library again after the linker has loaded the faking library. Strange things (such as slow reactions with few-seconds-offsets or endless hangs with larger offsets) occur when the application is multi-threaded and one thread sees a faked time while another one uses the real system time, and both try to synchronize.

If that's the case with iceweasel (idk for sure atm), there's nothing libfaketime can do because that's a limitation of the LD_PRELOAD mechanism. This is what makes faketime unusable with a few complex runtime environments, such as the Sun Java JDK/JRE, and there currently are no stable solutions known except for making the application explicitly libfaketime-aware. That said, unless we figure out that this is a libfaketime-internal bug and not a LD_PRELOAD limitation, there's little hope that it can be changed anytime soon. I'd actually be very happy about any suggestions on what to change about libfaketime to make it work with such applications.




Charles Evans <mailto:charlesev...@chartertn.net>
5. August 2014 19:08
On Sun, 13 Jul 2014 20:21:00 -0400
<snip>

(I answered this many days ago, but it seems to have vanished.
possibly not the only email I sent to do so.)

The problem is with offset timing:
faketime -m -f "-1s" iceweasel
sets the clock to appear to run 1s behind.
the -f "+1s" and -f "-1s" cause problems.

BTW I updated to the backport Version: 0.9.6-1~bpo70+1
and it still has many of the same problems:
"-1s" pegs 2 cores at 100% forever.
"+1s" makes large menus that scroll do so extremely slowly.


Reply via email to