But if we do following:
1) make ISQL connection using this separator (forward slash),
2) try to perform online validation using also this separator ('/') in the path to validated database
-- then we get:
fbsvcmgr.exe localhost/3333:service_mgr user SYSDBA password masterkey action_validate dbname C:/FBTESTING/qa/fbt-repo/tmp/E30.fdb val_lock_timeout 1
I/O error during "CreateFile (open)" operation for file "C:/FBTESTING/qa/fbt-repo/tmp/E30.fdb"
-Error while trying to open file
-The process can not access the file because the file is in use by another process.
If we change separator in ISQL window to default for Windows ("\") than validation works fine.
If we change separator in fbsvcmgr command line to '\' (but leave '/' in ISQL) than validation also works fine.
So, the trouble exists only when forward slash is specified both in ISQL connection string and in validation DB path argument.
BTW: error in FBSVCMGR will not appear for other actions, with forward slash as path separator, e.g.:
fbsvcmgr.exe localhost/3333:service_mgr user SYSDBA password masterkey action_db_stats dbname C:/FBTESTING/qa/fbt-repo/tmp/E30.fdb sts_hdr_pages
-- works OK and produces standard output of DB header info.
This bug prevent from creating test which tries to validate database online: fbtest engine has $(DATABASE_LOCATION) macro which contains PATH of currently used database. But this macro uses exactly FORWARD slash bot on Linux and Windows as path separator, so one may NOT to do this: