-
-
Notifications
You must be signed in to change notification settings - Fork 44
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
TestMain::test_loadfile gets stuck in 2038 #106
Comments
This is stuck because PySNMP cannot spawn an agent for testing due to the fact it tries to instantiate an |
looking at snmpEngineTime = MibScalar((1, 3, 6, 1, 6, 3, 10, 2, 1, 3), SnmpEngineTime().subtype(subtypeSpec=ValueRangeConstraint(0, 2147483647))).setUnits('seconds').setMaxAccess("readonly") It seems to be an unsigned 31-bit integer atm, so why not change it into an unsigned 32-bit int to give people another 78 years to migrate? |
31-bit integers overflow after 2038-01-19 Without this patch, PySNMP cannot spawn an agent and snimpy tests get stuck vincentbernat/snimpy#106 This patch was done while working on reproducible builds for openSUSE.
This is part of RFC 3411. But in fact, this is just a counter, so it could be wrapped. |
sounds as if it should be lower anyway. |
While working on reproducible builds for openSUSE, I found that
running the
python-snimpy
tests after 2038-01-19 lets them get stuck.Specifically
tests/test_main.py::TestMain::test_loadfile
(might only be the first one to trigger).to reproduce on Debian or openSUSE, I use
The date indicates that somewhere seconds since 1970-01-01 are stored in a signed 32-bit int that overflows after 0x7fffffff
Background:
As part of my work on reproducible builds for openSUSE, I check that software still gives identical build results in the future.
The usual offset is +16 years, because that is how long I expect some software will be used in some places.
This showed up the stuck test in our package build.
The text was updated successfully, but these errors were encountered: