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

Reply via email to