Memory leak when doing a lot of iterations FBSVCMGR with action_trace_start, _list and _stop --------------------------------------------------------------------------------------------
Key: CORE-3969 URL: http://tracker.firebirdsql.org/browse/CORE-3969 Project: Firebird Core Issue Type: Bug Components: SVCMGR Reporter: Pavel Zotov Attachments: pslist_m.zip I run infinite loop with the following actions: 1) FBSVCMGR action_trace_start 2) connect to .fdb via ISQL and make a simplest query, e.g.: select current_connection from rdb$database; quit; 3) FBSVCMGR action_trace_list (obtain the ID of active trace sesssion) 4) FBSVCMGR action_trace_stop Under such circumstances memory leak of process fb_inet_server (tested on SC) occurs. The following batch file illustrate the problem (some 3rd part utilities need for this test: mtee.exe for duplicating output and psList by SysInternals to output memory consumprion by processes): @echo off cls @rem file = 'trc_toggle.bat' @rem restart FB for each trace session number will be always 1 @rem net stop "Firebird Server - fb25_3050" @rem net start "Firebird Server - fb25_3050" pslist -m | findstr /i /c:"name" | mtee /t pslist_m.log pslist -m | findstr /i /c:"fb_inet_server" | mtee /t /+ pslist_m.log set inp=.\tmp_sql.tmp set out=.\tmp_log.tmp set i=1 :beg if exist %inp% del %inp% if exist %out% del %out% echo select current_connection,current_timestamp from rdb$database;>>%inp% @rem echo out nul; select * from rdb$fields,rdb$fields; out;>>%inp% echo quit;>>%inp% @echo off @echo ----------------------- @echo Start of iter # %i%. @echo on start /min %FIREBIRD%\bin\fbsvcmgr localhost:service_mgr action_trace_start trc_cfg zaudit.conf 1>tmp_trace_start.tmp 2>&1 @echo off ping -n 2 127.0.0.1 >nul %FIREBIRD%\bin\isql localhost:test_alias -n -i %inp% -o %out% -m ping -n 3 127.0.0.1 >nul %FIREBIRD%\bin\fbsvcmgr localhost:service_mgr action_trace_list | findstr /i /c:"Session ID" 1>tmp_trace_list.tmp 2>&1 @rem get content of file with trace id: set /p trc_id=<tmp_trace_list.tmp @rem extract digits: set trc_id=%trc_id:~12,5% @echo on %FIREBIRD%\bin\fbsvcmgr localhost:service_mgr action_trace_stop trc_id %trc_id% 1>tmp_trace_stop.tmp 2>&1 @rem check that no trace sessions still alive: %FIREBIRD%\bin\fbsvcmgr localhost:service_mgr action_trace_list @echo off @echo End of iter # %i%. pslist -m | findstr /i /c:"fb_inet_server" | mtee /t /+ pslist_m.log ping -n 2 127.0.0.1 >nul set /a i=i+1 goto beg The cumulative log of this batch (results of psList -m) is in attach. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ The Windows 8 Center - In partnership with Sourceforge Your idea - your app - 30 days. Get started! http://windows8center.sourceforge.net/ what-html-developers-need-to-know-about-coding-windows-8-metro-style-apps/ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel