|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #77174 SNMP poll stale when new snmp poll is initiated
Submitted: 2018-11-19 09:49 UTC Modified: -
Avg. Score:3.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: ognyan dot dimitrov at deltatel dot ro Assigned:
Status: Open Package: SNMP related
PHP Version: 7.1.24 OS: Windows Version 10.0.17134 Build
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2018-11-19 09:49 UTC] ognyan dot dimitrov at deltatel dot ro
PHP Version => 7.1.1

System => Windows NT DESKTOP-PJ7K6O7 10.0 build 17134 (Windows 10) i586
Build Date => Jan 18 2017 18:37:40
Compiler => MSVC14 (Visual C++ 2015)
Architecture => x86
Configure Command => cscript /nologo configure.js  "--enable-snapshot-build" "--enable-debug-pack" "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo"
Server API => Command Line Interface
Virtual Directory Support => enabled
Configuration File (php.ini) Path => C:\WINDOWS
Loaded Configuration File => D:\xampp-web\php\php.ini
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
PHP API => 20160303
PHP Extension => 20160303
Zend Extension => 320160303
Zend Extension Build => API320160303,TS,VC14
PHP Extension Build => API20160303,TS,VC14
Debug Build => no
Thread Safety => enabled
Zend Signal Handling => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => provided by mbstring
IPv6 Support => enabled
DTrace Support => disabled


PHP Version => 7.1.1

NET-SNMP Support => enabled       
NET-SNMP Version => 5.7.2         
PHP SNMP Version => 0.1           

λ httpd.exe -v
Server version: Apache/2.4.25 (Win32)
Server built:   Dec 17 2016 10:42:52

Test script:
$this->snmpSession = new \SNMP(\SNMP::VERSION_2c, $this->ip, $this->community, 4000000, 5);
$rawPortCounters['ifInErrors'] = $this->snmpSession->walk("", true);

Expected result:
When a web request is initiating php code for snmp pooling specific device it shall be possible another request from the same or other browser to trigger pooling of same or different node without interrupting the first one.

No timeout is helping. neither snmp_timeout in class instantiation, nor max_execution_time in php.ini, even TimeOut in apache server directive is not killing the request.

Actual result:
When a pooling to Device A in moment X is initiated via web request if a pooling to device B in X+1 is initiated the poll in moment X will stale, take memory which will in one moment crash php since staled requests will never be completed. Also redis session stale (used for snmp results pooling).

I've tried upgrading to 
PHP 7.2.11 (cli) (built: Oct 10 2018 02:39:52) ( ZTS MSVC15 (Visual C++ 2017) x86 )

but the behaviour is the same


Add a Patch

Pull Requests

Add a Pull Request

PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Mon Oct 18 02:03:34 2021 UTC