php.net |  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: -
Votes:1
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
 [2018-11-19 09:49 UTC] ognyan dot dimitrov at deltatel dot ro
Description:
------------
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


Core

PHP Version => 7.1.1


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



D:\xampp-web\apache\bin
λ 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("1.3.6.1.2.1.2.2.1.14", 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

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2022-11-26 05:45 UTC] gallwasioiuborg at gmail dot com
A commitment of appreciation is all together for sharing, I found a tremendous store of stimulating information here. A striking post, incredibly grateful and obliging that you will make on a very major level more posts like this one. (https://www.subwayliveiq.org/)github.com
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 13:01:29 2024 UTC