Open pavel-zotov opened 3 years ago
PS Script can be simplified: one may to comment out block that tries to revoke all on all, i.e.: / begin -- Privileges for GRANT / DROP database remain even when user is droppped. -- We have to use REVOKE ALL ON ALL in order to cleanup them: stt = 'revoke all on all from '|| usr_name; execute statement (:stt); when any do begin --- suppress warning --- end end /
Execute statement is not important here - the only important thing is that 2 users with admin rights are dropped in single transaction:
set bail on; set list on; shell rm -f /mnt/db/tmp4test.fdb; create database 'localhost:/mnt/db/tmp4test.fdb' user 'sysdba' password 'masterkey';
create or alter user boss password '123' using plugin Srp grant admin role -- <<<<<<<<<<<<<<<<<<<<< ::: NB ::: <<<<<<<< ; create or alter user boss password '456' using plugin Legacy_UserManager;
commit; set transaction no wait;
SET AUTO off;
drop user boss using plugin Srp; drop user boss using plugin Legacy_UserManager;
commit;
Consider following script:
Note that to reproduce problem:
On WI-V3.0.8.33474, WI-V4.0.1.2517 and WI-T5.0.0.79 it will hang: 1) ISQL does not return to OS prompt. Trace shows that last executed statement was:
2) if we attempt to stop FB service then FB will load one of CPUs up to 100% and service will not be stoppped (one need to kill it using ProcessExplorer or taskkill /f /t).
For 5.0.0.79 I've created dumps, stack traces, lock-print results and other info when: 1) ISQL hanging but before trying to stop FB service; 2) after trying to stop FB service and got 100% CPU load.
All these files (together with FB snapshot) can be found here :
https://drive.google.com/drive/folders/16CtBVSsjEBaeZD_DKD6IJ5CgmSkNZs7Z?usp=sharing
Stack traces are attached here directly in order to preserve them in case of external link to google drive will gone (prefix "point-1" -- before trying to stop FB service; "point-2" - after this try):
point1_-_firebird.created_210618_113549.PID_3620.stack_trace.113728.txt.zip point1_-_isql.created_210618_113624.PID_5692.stack_trace.113840.txt.zip point2_-_firebird.created_210618_113549.PID_3620.stack_trace.114112.txt.zip point2_-_isql.created_210618_113624.PID_5692.stack_trace.114231.txt.zip
PS.
Used firebird.conf: