Attempt to drop existing user randomly fails with "336723990 : record not found for user" on Classic (4.0 only is affected) ---------------------------------------------------------------------------------------------------------------------------
Key: CORE-6080 URL: http://tracker.firebirdsql.org/browse/CORE-6080 Project: Firebird Core Issue Type: Bug Affects Versions: 4.0 Beta 1 Reporter: Pavel Zotov This ticket was created by Vlad request after discuss failures in test for CORE-6038 when it is launched. It seems that only 4.0 Classic is affected. Consider following batch: ===== @echo off setlocal enabledelayedexpansion enableextensions for /f "delims=." %%a in ('wmic os get localdatetime ^| findstr /i /r /b /c:"[0-9]"') do ( set dts=%%a set ymd=!dts:~2,6! set hms=!dts:~8,6! ) set fbc=C:\FB\40CS set dbpath=c:\temp set authplg=Srp @rem set authplg=Legacy_UserManager set dbnm=!dbpath!\c6038.fdb.tmp set sql=!dbpath!\%~n0.sql.tmp set tmp=!dbpath!\%~n0.tmp.tmp set err=!dbpath!\%~n0.err.tmp set log=%~dpn0.!ymd!_!hms!.log if exist !dbnm! del !dbnm! ( echo set bail on; echo create database 'localhost:!dbnm!' user sysdba password 'masterkey'; echo commit; echo alter database set linger to 30; echo commit; echo show database; ) >!tmp! !fbc!\isql.exe -z -q -i !tmp! !fbc!\gfix.exe -w async localhost:!dbnm! -user sysdba -password masterkey ( echo connect 'localhost:!dbnm!' user sysdba password 'masterkey'; echo create or alter user c6038_srp password 'c6038_srp' using plugin !authplg!; echo commit; echo connect 'localhost:!dbnm!' user c6038_srp password 'c6038_srp'; echo commit; echo connect 'localhost:!dbnm!' user sysdba password 'masterkey'; echo drop user c6038_srp using plugin !authplg!; ) > !sql! !fbc!\fbsvcmgr.exe localhost:service_mgr user sysdba password masterkey info_server_version >!tmp! type !tmp! type !tmp! >>!log! echo !date! !time! Started. if exist !err! del !err! set verb=1 set /a n=300 set /a i=0 :m1 set /a i=!i!+1 if !verb! EQU 1 ( echo !date! !time!, attempt !i! >!tmp! type !tmp! type !tmp! >>!log! del !tmp! for /f "usebackq tokens=*" %%a in ('!err!') do set size=%%~za if !size! gtr 0 ( echo CONNECTION FAILED IN ITERATION # !i!. CHECK ERROR LOG: type !err! type !err! >>!log! exit ) ) !fbc!\isql.exe -q -i !sql! 1>>!err! 2>&1 if !i! GEQ !n! ( echo !date! !time! Completed. for /f "usebackq tokens=*" %%a in ('!err!') do set size=%%~za if !size! gtr 0 ( echo CHECK ERROR LOG AFTER ALL ITERATIONS: type !err! type !err! >>!log! ) exit ) goto m1 ===== Change in it only these three settings: fbc, dbpath and authplg. Prepare FB to work as Classic and run this batch. On WI-T4.0.0.1524 you will soon encounter with: ===== 10.06.2019 18:13:19.67, attempt 1 10.06.2019 18:13:20.72, attempt 2 . . . 10.06.2019 18:13:49.75, attempt 27 10.06.2019 18:13:50.79, attempt 28 Statement failed, SQLSTATE = HY000 modify record error After line 1 in file c:\temp\c6038.leg.sql.tmp Statement failed, SQLSTATE = 28000 Your user name and password are not defined. Ask your database administrator to set up a Firebird login. After line 3 in file c:\temp\c6038.leg.sql.tmp Statement failed, SQLSTATE = HY000 record not found for user: C6038_SRP ===== Trace with 'log_prepare_statements = true' will show: 1) TWO prepare_statement events before point when error raises: PREPARE_STATEMENT drop user c6038_srp using plugin Srp .... PREPARE_STATEMENT drop user c6038_srp using plugin Srp 2) SUCCESSFUL finish of executed statement: EXECUTE_STATEMENT_FINISH drop user c6038_srp using plugin Srp 0 records fetched 0 ms and immediately after this - error: 3) ERROR AT JTransaction::commit C:\TEMP\C6038.FDB.TMP (ATT_55, SYSDBA:NONE, NONE, TCPv6:::1/63982) C:\FB\40SS\isql.exe:5124 336723990 : record not found for user: C6038_SRP -- 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 Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel