Assign DB access_mode to RW (by using gfix or fbsvcmgr) leads FB 4.0 Classic to 
create new firebird-process on every such attempt. Stopping FB Classic service 
does not drop these ("child") FB processes.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: CORE-5537
                 URL: http://tracker.firebirdsql.org/browse/CORE-5537
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine
    Affects Versions: 4.0 Alpha 1
            Reporter: Pavel Zotov
         Attachments: 
unable-to-drop-database-in-ISQL-after-return-access-mode-to-RW.7z

0. Ensure that you have utility 'pslist' from SysInternals package to list FB 
processes (for those who still use Win XP :)) 
1. Stop all running FB instances
2. Launch only one: FB 4.0, in Classic mode.
3. Open batch (from attached .7z) in editor and correct following env. 
variables:
set fbc=C:\MIX\firebird\FB40Cs\ --- folder where binaries for FB 4.0 live;
set dbn=C:\MIX\firebird\QA\fbt-repo\tmp\c4582.fdb --- path and name of test 
database
4. Run batch with logging its output (STDERR & STDOUT) to file-1.txt
5. Repeat "4." several times with logging to another files.

Output from 1st file will start with these lines:

Check firebird processes at the START point of test:
----------------------------------------------------
firebird            920   8   5   80   1892     0:00:00.062     0:00:06.125
----------------------------------------------------
....

- and ends with these:
Check firebird processes at the FINAL point of test:
----------------------------------------------------
firebird            920   8   6   85   1908     0:00:00.062     0:00:22.765
firebird           2140   8   2  126  12032     0:00:00.125     0:00:15.156
----------------------------------------------------

So, we have 2 (two) FB processes instead of one.
Every subsequent launches of batch will add "+1" to the number of FB processes.

If we stop FB service than all these "child" processes will NOT be removed from 
tasks list - they just become "independent" and do nothing, but still present 
there.

Every launch of batch will issue:
===
SQL> Statement failed, SQLSTATE = 40001
lock time-out on wait transaction
-object C:\MIX\FIREBIRD\QA\FBT-REPO\TMP\C4582.FDB is in use
===
-- as reply on attempt to drop database.

This occurs ONLY when we try to revert DB in read-write access mode.

Note also that subseq. launch of batch _can_ successfully drop database by 
using OS  command 'del <file>' - but this can relate to Windows specific. 
Lock-print output _show_ data, it's NOT empty when we finish command 'gfix 
-mode read_write ..."

PS.

Issue was found when search for reason of failure of test for core-4582 (is 
occured only in Classic - for example, see here: 
http://web.firebirdsql.org/download/prerelease/results/4.0.0.639/ ).

Reproduced on WI-T4.0.0.639, OS =Win XP.


-- 
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

        

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to