[iaxmodem-users] IAXmodem Date/Time Loop - High CPU
Brought to you by:
faxguy
From: Tim N. <tn...@sa...> - 2015-07-16 14:01:47
|
Recently we've become aware of an issue with IAXmodem wherein the process gets stuck in a loop related to date/time, causing very high CPU utilization and of course improper operation. The interesting part is this does not seem to affect 'normal' x86/amd64 installations, but specific to ARM. My experience has been primarily on the Raspberry Pi devices with an addon RTC. Is it possible the following chain of events could be causing this issue: -System bootup of Debian 7 kernel/init -Startup IAXmodems (current date/time at default of 12/31/1970 etc) -Initialize system time (RTC/NTP/etc) A simple restart of iaxmodem and all is well again. Here is the output from a process via strace: gettimeofday({1436995193, 132060}, NULL) = 0 gettimeofday({1436995193, 134375}, NULL) = 0 select(5, [0 4], NULL, NULL, {0, 0}) = 0 (Timeout) gettimeofday({1436995193, 137817}, NULL) = 0 gettimeofday({1436995193, 139609}, NULL) = 0 select(5, [0 4], NULL, NULL, {0, 0}) = 0 (Timeout) gettimeofday({1436995193, 143722}, NULL) = 0 gettimeofday({1436995193, 144093}, NULL) = 0 select(5, [0 4], NULL, NULL, {0, 0}) = 0 (Timeout) gettimeofday({1436995193, 151469}, NULL) = 0 gettimeofday({1436995193, 153649}, NULL) = 0 select(5, [0 4], NULL, NULL, {0, 0}) = 0 (Timeout) gettimeofday({1436995193, 155669}, NULL) = 0 gettimeofday({1436995193, 156942}, NULL) = 0 select(5, [0 4], NULL, NULL, {0, 0}) = 0 (Timeout) gettimeofday({1436995193, 164600}, NULL) = 0 gettimeofday({1436995193, 166378}, NULL) = 0 ...and repeat ad infinitum. I did try reordering services to ensure system date/time is sync'ed *before* starting up IAXmodem and this has seen good results, but it isn't a surefire solution every time. Thoughts? --Tim |