[
http://tracker.firebirdsql.org/browse/CORE-6080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vlad Khorsun reopened CORE-6080:
--------------------------------
Re-opened to fix a bug, introduced by initial attempt
> Attempt to drop existing user randomly fails with "336723990 : record not
> found for user"
> -----------------------------------------------------------------------------------------
>
> Key: CORE-6080
> URL: http://tracker.firebirdsql.org/browse/CORE-6080
> Project: Firebird Core
> Issue Type: Bug
> Components: Engine
> Affects Versions: 4.0 Beta 1
> Environment: v4 Classic Server only
> Reporter: Pavel Zotov
> Assignee: Vlad Khorsun
> Fix For: 4.0 Beta 2
>
>
> This ticket was created by Vlad request after discuss failures in test for
> CORE-6038 when it is launched
> 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