New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SpeedMeter asserts if system time goes backwards #1276

Closed
jmb202 opened this Issue Sep 7, 2014 · 0 comments

Comments

Projects
None yet
2 participants
@jmb202

jmb202 commented Sep 7, 2014

On a system where the clock is incorrectly reporting a time in the future, and is subsequently synchronised with reality by NTP (or similar), then time will go backwards. In this case, the assertion on line 172 of SpeedMeter.h will fail.

Relevant crash log output:

[ pid=3651 ] Phusion Passenger version: 4.0.49
[ pid=3651 ] Last assertion failure: (lastSample.timestamp <= timestamp), function bool Passenger::SpeedMeter::addSample(ValueType, long long unsigned int) [with ValueType = long long unsigned int, unsigned int maxSamples = 8u, unsigned int minAge = 1000000u, unsigned int maxAge = 60000000u, unsigned int window = 1000000u], file ext/common/Utils/SpeedMeter.h, line 172.
[ pid=3651 ] libc backtrace available!
--------------------------------------
[ pid=3651 ] Backtrace with 18 frames:
Using backtrace sanitizer.
/usr/share/passenger/helper-scripts/backtrace-sanitizer.rb:40:in `exec': No such file or directory - addr2line (Errno::ENOENT)
        from /usr/share/passenger/helper-scripts/backtrace-sanitizer.rb:40:in `initialize'
        from /usr/share/passenger/helper-scripts/backtrace-sanitizer.rb:35:in `fork'
        from /usr/share/passenger/helper-scripts/backtrace-sanitizer.rb:35:in `initialize'
        from /usr/share/passenger/helper-scripts/backtrace-sanitizer.rb:125:in `new'
        from /usr/share/passenger/helper-scripts/backtrace-sanitizer.rb:125
/usr/share/passenger/helper-scripts/backtrace-sanitizer.rb:51:in `readline': end of file reached (EOFError)
        from /usr/share/passenger/helper-scripts/backtrace-sanitizer.rb:51:in `query'
        from /usr/share/passenger/helper-scripts/backtrace-sanitizer.rb:126
ERROR: cannot execute '/usr/bin/ruby "/usr/share/passenger/helper-scripts/backtrace-sanitizer.rb"' for sanitizing the backtrace, writing to stderr directly...
PassengerHelperAgent[0x4d4511]
PassengerHelperAgent[0x4178b1]
PassengerHelperAgent[0x4d5115]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0)[0x7ffb2b01ccb0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35)[0x7ffb2a26a0d5]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x17b)[0x7ffb2a26d83b]
PassengerHelperAgent[0x4d5625]
PassengerHelperAgent[0x468c20]
PassengerHelperAgent[0x468cce]
PassengerHelperAgent[0x4a3bb6]
PassengerHelperAgent[0x4a549f]
PassengerHelperAgent[0x423749]
PassengerHelperAgent[0x443404]
PassengerHelperAgent[0x50191d]
PassengerHelperAgent[0x43113f]
PassengerHelperAgent[0x4e5994]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a)[0x7ffb2b014e9a]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7ffb2a32831d]

@FooBarWidget FooBarWidget added this to the 4.0.51 milestone Sep 15, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment