Opened log file 'F:\FBQA\rundaily-2026\watch4dumps\logs\20260518_040750_235.WI-T6_0_0_1955.17188.txt'

Microsoft (R) Windows Debugger Version 10.0.17763.7010 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

NatVis script successfully loaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\atlmfc.natvis'
NatVis script successfully loaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\concurrency.natvis'
NatVis script successfully loaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\cpp_rest.natvis'
NatVis script successfully loaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\stl.natvis'
NatVis script successfully loaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\Windows.Data.Json.natvis'
NatVis script successfully loaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\Windows.Devices.Geolocation.natvis'
NatVis script successfully loaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\Windows.Devices.Sensors.natvis'
NatVis script successfully loaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\Windows.Media.natvis'
NatVis script successfully loaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\windows.natvis'
NatVis script successfully loaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\winrt.natvis'

Loading Dump File [F:\temp\fbdumps\firebird.exe.17188.dmp]
User Mini Dump File with Full Memory: Only application data is available


************* Path validation summary **************
Response                         Time (ms)     Location
OK                                             F:\FBQA\rundaily-2026\unpacked-snapshot.tmp\FB60
OK                                             F:\FBQA\rundaily-2026\unpacked-snapshot.tmp\FB60\plugins
Symbol search path is: F:\FBQA\rundaily-2026\unpacked-snapshot.tmp\FB60;F:\FBQA\rundaily-2026\unpacked-snapshot.tmp\FB60\plugins
Executable search path is: 
Windows 10 Version 15063 MP (8 procs) Free x64
Product: WinNt, suite: SingleUserTS
15063.0.amd64fre.rs2_release.170317-1834
Machine Name:
Debug session time: Mon May 18 04:07:50.000 2026 (UTC + 3:00)
System Uptime: 15 days 18:31:29.706
Process Uptime: 0 days 0:00:01.000
...................................................
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll - 

************* Symbol Loading Error Summary **************
Module name            Error
ntdll                  The system cannot find the file specified

You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(4324.3518): Security check failure or stack buffer overrun - code c0000409 (first/second chance not available)
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ucrtbase.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for VCRUNTIME140.dll - 
ucrtbase!abort+0x4e:
00007ff8`d9de362e cd29            int     29h
0:004> $$ https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/k--kb--kc--kd--kp--kp--kv--display-stack-backtrace-
0:004> lm
start             end                 module name
00000000`026e0000 00000000`027fd000   fbintl     (deferred)             
00000000`028d0000 00000000`028d3000   icudt77    (deferred)             
00000000`05b70000 00000000`05be1000   chacha     (deferred)             
00000001`40000000 00000001`4012d000   firebird   (deferred)             
00000001`80000000 00000001`80008000   ib_util    (deferred)             
00007ff8`9d0d0000 00007ff8`9d176000   comctl32   (deferred)             
00007ff8`9f5c0000 00007ff8`9fed8000   engine14   (deferred)             
00007ff8`a7d10000 00007ff8`a8081000   icuin77    (deferred)             
00007ff8`a8090000 00007ff8`a8304000   icuuc77    (deferred)             
00007ff8`bc460000 00007ff8`bc673000   fbclient   (deferred)             
00007ff8`c6300000 00007ff8`c638d000   msvcp140   (deferred)             
00007ff8`cd4c0000 00007ff8`cd4db000   mpr        (deferred)             
00007ff8`cdf80000 00007ff8`cdf9a000   pnrpnsp    (deferred)             
00007ff8`ce1c0000 00007ff8`ce1d6000   NapiNSP    (deferred)             
00007ff8`d0ca0000 00007ff8`d0cbe000   VCRUNTIME140   (export symbols)       VCRUNTIME140.dll
00007ff8`d6420000 00007ff8`d6438000   nlaapi     (deferred)             
00007ff8`d6d80000 00007ff8`d6d8c000   VCRUNTIME140_1   (deferred)             
00007ff8`d6e00000 00007ff8`d6e0e000   winrnr     (deferred)             
00007ff8`d6e40000 00007ff8`d6e4f000   fbSampleKeyHolder   (deferred)             
00007ff8`d86b0000 00007ff8`d86e1000   ntmarta    (deferred)             
00007ff8`d8af0000 00007ff8`d8b27000   IPHLPAPI   (deferred)             
00007ff8`d8b30000 00007ff8`d8bd4000   dnsapi     (deferred)             
00007ff8`d8d50000 00007ff8`d8dac000   mswsock    (deferred)             
00007ff8`d9370000 00007ff8`d9395000   bcrypt     (deferred)             
00007ff8`d94c0000 00007ff8`d94d5000   profapi    (deferred)             
00007ff8`d94e0000 00007ff8`d94f1000   kernel_appcore   (deferred)             
00007ff8`d9500000 00007ff8`d954c000   powrprof   (deferred)             
00007ff8`d9660000 00007ff8`d96a9000   cfgmgr32   (deferred)             
00007ff8`d96b0000 00007ff8`d974a000   msvcp_win   (deferred)             
00007ff8`d9750000 00007ff8`d97ba000   bcryptPrimitives   (deferred)             
00007ff8`d9990000 00007ff8`d9bd9000   KERNELBASE   (deferred)             
00007ff8`d9be0000 00007ff8`d9d67000   gdi32full   (deferred)             
00007ff8`d9d70000 00007ff8`d9e66000   ucrtbase   (export symbols)       ucrtbase.dll
00007ff8`d9e70000 00007ff8`da561000   windows_storage   (deferred)             
00007ff8`da570000 00007ff8`da58e000   win32u     (deferred)             
00007ff8`da5f0000 00007ff8`da691000   advapi32   (deferred)             
00007ff8`da6a0000 00007ff8`da6f9000   sechost    (deferred)             
00007ff8`da720000 00007ff8`dbb58000   shell32    (deferred)             
00007ff8`dbb60000 00007ff8`dbb8d000   imm32      (deferred)             
00007ff8`dbb90000 00007ff8`dbe89000   combase    (deferred)             
00007ff8`dbe90000 00007ff8`dbf3e000   kernel32   (deferred)             
00007ff8`dc380000 00007ff8`dc3d1000   shlwapi    (deferred)             
00007ff8`dc630000 00007ff8`dc638000   nsi        (deferred)             
00007ff8`dc960000 00007ff8`dcaa5000   ole32      (deferred)             
00007ff8`dcab0000 00007ff8`dcbfa000   user32     (deferred)             
00007ff8`dcc00000 00007ff8`dccaa000   SHCore     (deferred)             
00007ff8`dcd10000 00007ff8`dcdad000   msvcrt     (deferred)             
00007ff8`dcdc0000 00007ff8`dcde7000   gdi32      (deferred)             
00007ff8`dcdf0000 00007ff8`dcf15000   rpcrt4     (deferred)             
00007ff8`dcf20000 00007ff8`dcf8c000   ws2_32     (deferred)             
00007ff8`dd030000 00007ff8`dd20b000   ntdll      (export symbols)       ntdll.dll
0:004> ~*kpn 0xFFFF

   0  Id: 4324.1870 Suspend: 0 Teb: 00000000`002d6000 Unfrozen
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for mswsock.dll - 
 # Child-SP          RetAddr           Call Site
00 00000000`007feca8 00007ff8`d8d585a2 ntdll!ZwWaitForSingleObject+0x14
01 00000000`007fecb0 00007ff8`d8d5ede1 mswsock!Tcpip4_WSHOpenSocket2+0x312
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ws2_32.dll - 
02 00000000`007fed50 00007ff8`dcf34493 mswsock!NSPStartup+0x2e11
*** WARNING: Unable to verify checksum for firebird.exe
03 00000000`007feee0 00000001`400b640f ws2_32!select+0x153
04 (Inline Function) --------`-------- firebird!Select::select+0x22 [H:\SNAPSHOTS\Firebird\src\remote\inet.cpp @ 467]
05 00000000`007fefc0 00000001`400b616d firebird!select_wait(struct rem_port * main_port = 0x00000000`00938bc0, class Select * selct = 0x00000000`009304c0)+0x23f [H:\SNAPSHOTS\Firebird\src\remote\inet.cpp @ 2365]
06 00000000`007ff040 00000001`400116be firebird!select_multi(struct rem_port * main_port = 0x00000000`00938bc0, unsigned char * buffer = 0x00000000`0093d240 "", short bufsize = 0n8192, short * length = 0x00000000`007ff0d8, class Firebird::RefPtr<rem_port> * port = 0x00000000`007ff0d0)+0x2ed [H:\SNAPSHOTS\Firebird\src\remote\inet.cpp @ 2147]
07 00000000`007ff0a0 00000001`4000c008 firebird!SRVR_multi_thread(struct rem_port * main_port = 0x00000000`00938bc0, unsigned short flags = 0x3470)+0x18e [H:\SNAPSHOTS\Firebird\src\remote\server\server.cpp @ 1736]
08 00000000`007ff930 00000001`400c9e6e firebird!WinMain(struct HINSTANCE__ * hThisInst = 0x00000001`40000000, struct HINSTANCE__ * __formal = 0x00000000`0000000a, char * lpszArgs = 0x00000000`00000000 "", int nWndMode = 0n10)+0x278 [H:\SNAPSHOTS\Firebird\src\remote\server\os\win32\srvr_w32.cpp @ 296]
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for kernel32.dll - 
09 (Inline Function) --------`-------- firebird!invoke_main+0x21 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 102]
0a 00000000`007fff20 00007ff8`dbea2784 firebird!__scrt_common_main_seh(void)+0x106 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
0b 00000000`007fff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
0c 00000000`007fff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   1  Id: 4324.2574 Suspend: 0 Teb: 00000000`002d8000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`00ebfc48 00007ff8`dd071553 ntdll!ZwWaitForWorkViaWorkerFactory+0x14
01 00000000`00ebfc50 00007ff8`dbea2784 ntdll!TpReleaseWork+0x553
02 00000000`00ebff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
03 00000000`00ebff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   2  Id: 4324.4148 Suspend: 0 Teb: 00000000`002da000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`012bfc48 00007ff8`dd071553 ntdll!ZwWaitForWorkViaWorkerFactory+0x14
01 00000000`012bfc50 00007ff8`dbea2784 ntdll!TpReleaseWork+0x553
02 00000000`012bff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
03 00000000`012bff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   3  Id: 4324.289c Suspend: 0 Teb: 00000000`002dc000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`016bfc48 00007ff8`dd071553 ntdll!ZwWaitForWorkViaWorkerFactory+0x14
01 00000000`016bfc50 00007ff8`dbea2784 ntdll!TpReleaseWork+0x553
02 00000000`016bff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
03 00000000`016bff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

#  4  Id: 4324.3518 Suspend: 0 Teb: 00000000`002de000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`0225ec60 00007ff8`d0ca59ea ucrtbase!abort+0x4e
*** WARNING: Unable to verify checksum for engine14.dll
01 00000000`0225ec90 00007ff8`9f694153 VCRUNTIME140!purecall+0x1a
02 00000000`0225ecc0 00007ff8`9f979d18 engine14!Jrd::MetadataCache::CleanupQueue::dequeue(class Jrd::thread_db * tdbb = 0x00000000`0225f430, unsigned int64 oldest = 0xb4)+0x93 [H:\SNAPSHOTS\Firebird\gen\jrd\met.cpp @ 12425]
03 (Inline Function) --------`-------- engine14!Jrd::MetadataCache::CleanupQueue::check+0x14 [H:\SNAPSHOTS\Firebird\src\jrd\met.h @ 589]
04 (Inline Function) --------`-------- engine14!Jrd::MetadataCache::checkCleanup+0x1b [H:\SNAPSHOTS\Firebird\src\jrd\met.h @ 253]
05 00000000`0225ed00 00007ff8`9f970a5d engine14!transaction_start(class Jrd::thread_db * tdbb = 0x00000000`0225f430, class Jrd::jrd_tra * trans = 0x00000000`06afcec0)+0x4f8 [H:\SNAPSHOTS\Firebird\src\jrd\tra.cpp @ 3793]
06 00000000`0225ee40 00007ff8`9f87b016 engine14!TRA_start(class Jrd::thread_db * tdbb = 0x00000000`0225f430, int tpb_length = 0n0, unsigned char * tpb = 0x00000000`08d05860 "", class Jrd::jrd_tra * outer = 0x00009c6c`13a56869)+0x11d [H:\SNAPSHOTS\Firebird\src\jrd\tra.cpp @ 1758]
07 00000000`0225ef30 00007ff8`9f85e390 engine14!start_transaction(class Jrd::thread_db * tdbb = 0x00000000`0225f430, bool transliterate = false, class Jrd::jrd_tra ** tra_handle = 0x00000000`06a66b88, class Jrd::Attachment * attachment = 0x00007ff8`9f7a6e22, unsigned int tpb_length = 0, unsigned char * tpb = 0x00000000`08d05860 "")+0x56 [H:\SNAPSHOTS\Firebird\src\jrd\jrd.cpp @ 9728]
08 00000000`0225f0d0 00007ff8`9f77f94d engine14!JRD_start_transaction(class Jrd::thread_db * tdbb = <Value unavailable error>, class Jrd::jrd_tra ** transaction = <Value unavailable error>, class Jrd::Attachment * attachment = <Value unavailable error>, unsigned int tpb_length = <Value unavailable error>, unsigned char * tpb = 0x00000000`08d05860 "")+0x20 [H:\SNAPSHOTS\Firebird\src\jrd\jrd.cpp @ 9768]
09 00000000`0225f110 00007ff8`9f6e5fcf engine14!Jrd::SetTransactionNode::execute(class Jrd::thread_db * tdbb = <Value unavailable error>, class Jrd::DsqlRequest * request = <Value unavailable error>, class Jrd::jrd_tra ** transaction = 0x00000000`0225f2c8)+0x3d [H:\SNAPSHOTS\Firebird\src\dsql\StmtNodes.cpp @ 10608]
0a 00000000`0225f150 00007ff8`9f6d1f14 engine14!Jrd::DsqlTransactionRequest::execute(class Jrd::thread_db * tdbb = 0x00000000`0225f430, class Jrd::jrd_tra ** traHandle = 0x00000000`0225f2c8, class Firebird::IMessageMetadata * __formal = 0x00007ff8`9fa22f0a, unsigned char * inMsg = 0x00000000`00000000 "", class Firebird::IMessageMetadata * __formal = 0x00000000`00000000, unsigned char * __formal = 0x00000000`00000000 "", bool __formal = false)+0x4f [H:\SNAPSHOTS\Firebird\src\dsql\DsqlRequests.cpp @ 1023]
0b 00000000`0225f1b0 00007ff8`9f867b2d engine14!DSQL_execute_immediate(class Jrd::thread_db * tdbb = 0x00000000`0225f430, class Jrd::Attachment * attachment = <Value unavailable error>, class Jrd::jrd_tra ** tra_handle = 0x00000000`0225f2c8, unsigned long length = 0x59c58f0, char * string = 0x00000000`08124440 "SET TRANSACTION----------------------------------------------------------------..-- 2. Removing all objects from database is they exists:.execute block as.    declare total_objects_removed int;.    declare stt varchar(4096) character set utf8;.    declare def_coll varchar(64) character set utf8;.    declare ref_name varchar(64) character set utf8;.    declare tab_name varchar(64) character set utf8;.    declare usr_name varchar(64) character set utf8;.    declare sec_plugin varchar(64) character set utf8;..    declare c_trig cursor for                            -- TRIGGERS.      (select '"' || trim(rt.rdb$trigger_name) || '"' as rdb$trigger_name.         from rdb$triggers rt.         where coalesce(rt.rdb$system_flag,0)=0.      );..    declare c_view cursor for                            -- VIEWS.      (select '"' || trim(rr.rdb$relation_name) || '"' as rdb$relation_name.         from rdb$relations rr.        where.            -- XXX DO NOT XXX -- rr.rdb$relation_type=1 -- WRONG!! Views can sometime have rel_type = 0!.            rr.rdb$view_blr is not null.            and coalesce(rr.rdb$system_flag,0)=0.      );.    declare c_func cursor for                            -- *STANDALONE* FUNCTIONS.      (select '"' || trim(rf.rdb$function_name) || '"' rdb$function_name.         from rdb$functions rf.        where .            coalesce(rf.rdb$system_flag,0)=0.            -- added 29.04.2026: mandatory! On 6.x absense of this caused fail of .            -- functional/replication/test_ddl_triggers_must_not_fire_on_replica.py.            -- with "function NN not found".            -- Although this was definitely a bug but anywhere no error should appear..            and rf.rdb$package_name is null.      );.    declare c_proc cursor for                            -- *STANDALONE* PROCEDURES.      (select '"' || trim(rp.rdb$procedure_name) || '"' as rdb$procedure_name.         from rdb$procedures rp.         where .             coalesce(rp.rdb$system_flag,0)=0.             -- added 29.04.2026:.             and rp.rdb$package_name is null.      );..    declare c_pkg cursor for                             -- PACKAGES.      (select '"' || trim(rp.rdb$package_name) || '"' as rdb$package_name.         from rdb$packages rp.         where coalesce(rp.rdb$system_flag,0)=0.      );..    declare c_excp cursor for                            -- EXCEPTIONS.      (select '"' || trim(re.rdb$exception_name) || '"' as rdb$exception_name.         from rdb$exceptions re.         where coalesce(re.rdb$system_flag,0)=0.      );..    declare c_fk cursor for                              -- FK CONSTRAINTS.      (select '"' || trim(rc.rdb$constraint_name) || '"' as rdb$constraint_name.             ,rc.rdb$relation_name.         from rdb$relation_constraints rc.        where rc.rdb$constraint_type ='FOREIGN KEY'.      );..    declare c_tabs cursor for                            -- TABLES: permanent, GTT, external.      (.        select '"' || trim(rr.rdb$relation_name) || '"' as rdb$relation_name.          from rdb$relations rr.         where.             -- 0 = permanent usual table.             -- 2 = external table.             -- 4 = GTT session-level.             -- 5 =  GTT transaction-level.             rr.rdb$relation_type in(0,2,4,5).             and coalesce(rr.rdb$system_flag,0)=0.             -- MANDATORY! Views can simetime have rel_type = 0!.             and rr.rdb$view_blr is null.      );..    declare c_doms cursor for                            -- DOMAINS.      (select '"' || trim(rf.rdb$field_name) || '"' as rdb$field_name.        from rdb$fields rf.       where coalesce(rf.rdb$system_flag,0)=0.             and rf.rdb$field_name not starting with 'RDB$'.      );..    declare c_coll cursor for                            -- COLLATIONS.      (select '"' || trim(rc.rdb$collation_name) || '"' as rdb$collation_name.         from rdb$collations rc.        where coalesce(rc.rdb$system_flag,0)=0.      );..    -- cursor for reset charset default collation to initial value.    -- which name is always equals to rdb$character_set_name:.    declare c_cset cursor for                           -- CHAR. SETS.      (select.              cs.rdb$character_set_name as cset_name.             ,cs.rdb$default_collate_name as def_coll.         from rdb$character_sets cs.         where.             cs.rdb$character_set_name is distinct from cs.rdb$default_collate_name.      );..    declare c_gens cursor for                            -- SEQUENCES.      (select '"' || trim(rg.rdb$generator_name) || '"' as rdb$generator_name.        from rdb$generators rg.       where coalesce(rg.rdb$system_flag,0)=0.      );.    declare c_role cursor for                            -- ROLES.      (select '"' || trim(rr.rdb$role_name) || '"' as rdb$role_name.        from rdb$roles rr.       where coalesce(rr.rdb$system_flag,0)=0.      );.    declare c_local_mapping cursor for.      (.       select '"' || trim(rm.rdb$map_name) || '"' as rdb$map_name.       from rdb$auth_mapping rm.       where coalesce(rm.rdb$system_flag,0)=0.      );..    declare c_users cursor for.      (.       select '"' || trim(s.sec$user_name) || '"' as sec$user_name, s.sec$plugin.       from sec$users s.       where upper(s.sec$user_name) <> 'SYSDBA'.      );..begin.    total_objects_removed = 0;..    open c_trig; ----------   d r o p    t r i g g e r s  ----------------------.    while (1=1) do.    begin.        fetch c_trig into stt;.        if (row_count = 0) then leave;.        stt = 'drop trigger '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_trig;..    open c_doms; ------   d r o p    d o m a i n    C O N S T R A I N T S  -----.    while (1=1) do.    begin.        fetch c_doms into stt;.        if (row_count = 0) then leave;.        stt = 'alter domain ' || stt || ' drop constraint';.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_doms;...    open c_func; ----------   m a k e     f u n c t i o n s    e m p t y  -------.    while (1=1) do.    begin.        fetch c_func into stt;.        if (row_count = 0) then leave;.        stt = 'create or alter function '||stt||' returns int as begin return 1; end';.        execute statement (:stt);.        -- total_objects_removed = total_objects_removed + 1;.    end.    close c_func;..    open c_proc; ----------   m a k e     p r o c e d u r e s    e m p t y  -----.    while (1=1) do.    begin.        fetch c_proc into stt;.        if (row_count = 0) then leave;.        stt = 'create or alter procedure '||stt||' as begin end';.        execute statement (:stt);.        -- total_objects_removed = total_objects_removed + 1;.    end.    close c_proc;..    open c_pkg; ---------------------  d r o p   p k g   b o d i e s --------------.    while (1=1) do.    begin.        fetch c_pkg into stt;.        if (row_count = 0) then leave;.        stt = 'drop package body '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_pkg;...    open c_view; ---------------------  d r o p   v i e w s  ---------------------.    while (1=1) do.    begin.        fetch c_view into stt;.        if (row_count = 0) then leave;.        stt = 'drop view '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_view;..    open c_func; --------------------  d r o p   f u c t i o n s  ----------------.    while (1=1) do.    begin.        fetch c_func into stt;.        if (row_count = 0) then leave;.        stt = 'drop function '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_func;..    open c_proc; -----------------  d r o p   p r o c e d u r e s  ---------------.    while (1=1) do.    begin.        fetch c_proc into stt;.        if (row_count = 0) then leave;.        stt = 'drop procedure '||s...tt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_proc;...    open c_pkg; ------------------  d r o p     p a c k a g e s  ---------------.    while (1=1) do.    begin.        fetch c_pkg into stt;.        if (row_count = 0) then leave;.        stt = 'drop package '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_pkg;...    open c_excp; -----------------  d r o p   e x c e p t i o n s  ---------------.    while (1=1) do.    begin.        fetch c_excp into stt;.        if (row_count = 0) then leave;.        stt = 'drop exception '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_excp;..    open c_fk; -----------  d r o p    r e f.   c o n s t r a i n t s ------------.    while (1=1) do.    begin.        fetch c_fk into ref_name, tab_name;.        if (row_count = 0) then leave;.        stt = 'alter table '||tab_name||' drop constraint '||ref_name;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_fk;..    open c_tabs; -----------  d r o p    t a b l e s  ------------.    while (1=1) do.    begin.        fetch c_tabs into stt;.        if (row_count = 0) then leave;.        stt = 'drop table '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_tabs;..    open c_doms; -------------------  d r o p    d o m a i n s -------------------.    while (1=1) do.    begin.        fetch c_doms into stt;.        if (row_count = 0) then leave;.        stt = 'drop domain '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_doms;..    open c_coll; ---------------  d r o p    c o l l a t i o n s -----------------.    while (1=1) do.    begin.        fetch c_coll into stt;.        if (row_count = 0) then leave;.        stt = 'drop collation '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_coll;..    open c_cset;.    while (1=1) do.    begin.        fetch c_cset into stt, def_coll;.        if (row_count = 0) then leave;.        stt = 'alter character set ' || trim(stt) || ' set default collation ' || trim(stt);.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_cset;..    open c_gens; -----------------  d r o p    s e q u e n c e s -----------------.    while (1=1) do.    begin.        fetch c_gens into stt;.        if (row_count = 0) then leave;.        stt = 'drop sequence '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_gens;..    open c_role; --------------------  d r o p    r o l e s ----------------------.    while (1=1) do.    begin.        fetch c_role into stt;.        if (row_count = 0) then leave;.        stt = 'drop role '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_role;..    open c_local_mapping; ----------  d r o p   l o c a l   m a p p i n g s  ----.    while (1=1) do.    begin.        fetch c_local_mapping into stt;.        if (row_count = 0) then leave;.        stt = 'drop mapping '|| stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_local_mapping;...    /*******************************..        ###################################################.        ### TEMPORARY DISABLED OTHERWISE FB HANGS! ###.        WAITING FOR FIX:.        https://github.com/FirebirdSQL/firebird/issues/6861.        ###################################################.        open c_users; ----------  d r o p   u s e r s   e x c e p t   S Y S D B A  ----.        while (1=1) do.        begin.            fetch c_users into usr_name, sec_plugin;.            if (row_count = 0) then leave;..            stt = 'alter user '|| usr_name || ' revoke admin role using plugin ' || sec_plugin;.            execute statement (:stt); -- ?! with autonomous transaction;..            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); -- ?! with autonomous transaction;.                when any do.                begin.                   --- suppress warning ---.                end.            end..            stt = 'drop user '|| usr_name || ' using plugin ' || sec_plugin;.            execute statement (:stt);.            total_objects_removed = total_objects_removed + 1;.        end.        close c_users;.    .    ***********************************/..    rdb$set_context('USER_SESSION', 'total_objects_removed', total_objects_removed);..end", unsigned short dialect = 3, class Firebird::IMessageMetadata * in_meta = 0x00000000`00000000, unsigned char * in_msg = 0x00000000`00000000 "", class Firebird::IMessageMetadata * out_meta = 0x00000000`00000000, unsigned char * out_msg = 0x00000000`00000000 "", bool isInternalRequest = false)+0x1e4 [H:\SNAPSHOTS\Firebird\src\dsql\dsql.cpp @ 380]
0c 00000000`0225f260 00007ff8`9f86198f engine14!Jrd::JAttachment::execute(class Firebird::CheckStatusWrapper * user_status = 0x00000000`0225f610, class Firebird::ITransaction * apiTra = 0x00000000`00000000, unsigned int length = 0xf, char * string = 0x00000000`08124440 "SET TRANSACTION----------------------------------------------------------------..-- 2. Removing all objects from database is they exists:.execute block as.    declare total_objects_removed int;.    declare stt varchar(4096) character set utf8;.    declare def_coll varchar(64) character set utf8;.    declare ref_name varchar(64) character set utf8;.    declare tab_name varchar(64) character set utf8;.    declare usr_name varchar(64) character set utf8;.    declare sec_plugin varchar(64) character set utf8;..    declare c_trig cursor for                            -- TRIGGERS.      (select '"' || trim(rt.rdb$trigger_name) || '"' as rdb$trigger_name.         from rdb$triggers rt.         where coalesce(rt.rdb$system_flag,0)=0.      );..    declare c_view cursor for                            -- VIEWS.      (select '"' || trim(rr.rdb$relation_name) || '"' as rdb$relation_name.         from rdb$relations rr.        where.            -- XXX DO NOT XXX -- rr.rdb$relation_type=1 -- WRONG!! Views can sometime have rel_type = 0!.            rr.rdb$view_blr is not null.            and coalesce(rr.rdb$system_flag,0)=0.      );.    declare c_func cursor for                            -- *STANDALONE* FUNCTIONS.      (select '"' || trim(rf.rdb$function_name) || '"' rdb$function_name.         from rdb$functions rf.        where .            coalesce(rf.rdb$system_flag,0)=0.            -- added 29.04.2026: mandatory! On 6.x absense of this caused fail of .            -- functional/replication/test_ddl_triggers_must_not_fire_on_replica.py.            -- with "function NN not found".            -- Although this was definitely a bug but anywhere no error should appear..            and rf.rdb$package_name is null.      );.    declare c_proc cursor for                            -- *STANDALONE* PROCEDURES.      (select '"' || trim(rp.rdb$procedure_name) || '"' as rdb$procedure_name.         from rdb$procedures rp.         where .             coalesce(rp.rdb$system_flag,0)=0.             -- added 29.04.2026:.             and rp.rdb$package_name is null.      );..    declare c_pkg cursor for                             -- PACKAGES.      (select '"' || trim(rp.rdb$package_name) || '"' as rdb$package_name.         from rdb$packages rp.         where coalesce(rp.rdb$system_flag,0)=0.      );..    declare c_excp cursor for                            -- EXCEPTIONS.      (select '"' || trim(re.rdb$exception_name) || '"' as rdb$exception_name.         from rdb$exceptions re.         where coalesce(re.rdb$system_flag,0)=0.      );..    declare c_fk cursor for                              -- FK CONSTRAINTS.      (select '"' || trim(rc.rdb$constraint_name) || '"' as rdb$constraint_name.             ,rc.rdb$relation_name.         from rdb$relation_constraints rc.        where rc.rdb$constraint_type ='FOREIGN KEY'.      );..    declare c_tabs cursor for                            -- TABLES: permanent, GTT, external.      (.        select '"' || trim(rr.rdb$relation_name) || '"' as rdb$relation_name.          from rdb$relations rr.         where.             -- 0 = permanent usual table.             -- 2 = external table.             -- 4 = GTT session-level.             -- 5 =  GTT transaction-level.             rr.rdb$relation_type in(0,2,4,5).             and coalesce(rr.rdb$system_flag,0)=0.             -- MANDATORY! Views can simetime have rel_type = 0!.             and rr.rdb$view_blr is null.      );..    declare c_doms cursor for                            -- DOMAINS.      (select '"' || trim(rf.rdb$field_name) || '"' as rdb$field_name.        from rdb$fields rf.       where coalesce(rf.rdb$system_flag,0)=0.             and rf.rdb$field_name not starting with 'RDB$'.      );..    declare c_coll cursor for                            -- COLLATIONS.      (select '"' || trim(rc.rdb$collation_name) || '"' as rdb$collation_name.         from rdb$collations rc.        where coalesce(rc.rdb$system_flag,0)=0.      );..    -- cursor for reset charset default collation to initial value.    -- which name is always equals to rdb$character_set_name:.    declare c_cset cursor for                           -- CHAR. SETS.      (select.              cs.rdb$character_set_name as cset_name.             ,cs.rdb$default_collate_name as def_coll.         from rdb$character_sets cs.         where.             cs.rdb$character_set_name is distinct from cs.rdb$default_collate_name.      );..    declare c_gens cursor for                            -- SEQUENCES.      (select '"' || trim(rg.rdb$generator_name) || '"' as rdb$generator_name.        from rdb$generators rg.       where coalesce(rg.rdb$system_flag,0)=0.      );.    declare c_role cursor for                            -- ROLES.      (select '"' || trim(rr.rdb$role_name) || '"' as rdb$role_name.        from rdb$roles rr.       where coalesce(rr.rdb$system_flag,0)=0.      );.    declare c_local_mapping cursor for.      (.       select '"' || trim(rm.rdb$map_name) || '"' as rdb$map_name.       from rdb$auth_mapping rm.       where coalesce(rm.rdb$system_flag,0)=0.      );..    declare c_users cursor for.      (.       select '"' || trim(s.sec$user_name) || '"' as sec$user_name, s.sec$plugin.       from sec$users s.       where upper(s.sec$user_name) <> 'SYSDBA'.      );..begin.    total_objects_removed = 0;..    open c_trig; ----------   d r o p    t r i g g e r s  ----------------------.    while (1=1) do.    begin.        fetch c_trig into stt;.        if (row_count = 0) then leave;.        stt = 'drop trigger '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_trig;..    open c_doms; ------   d r o p    d o m a i n    C O N S T R A I N T S  -----.    while (1=1) do.    begin.        fetch c_doms into stt;.        if (row_count = 0) then leave;.        stt = 'alter domain ' || stt || ' drop constraint';.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_doms;...    open c_func; ----------   m a k e     f u n c t i o n s    e m p t y  -------.    while (1=1) do.    begin.        fetch c_func into stt;.        if (row_count = 0) then leave;.        stt = 'create or alter function '||stt||' returns int as begin return 1; end';.        execute statement (:stt);.        -- total_objects_removed = total_objects_removed + 1;.    end.    close c_func;..    open c_proc; ----------   m a k e     p r o c e d u r e s    e m p t y  -----.    while (1=1) do.    begin.        fetch c_proc into stt;.        if (row_count = 0) then leave;.        stt = 'create or alter procedure '||stt||' as begin end';.        execute statement (:stt);.        -- total_objects_removed = total_objects_removed + 1;.    end.    close c_proc;..    open c_pkg; ---------------------  d r o p   p k g   b o d i e s --------------.    while (1=1) do.    begin.        fetch c_pkg into stt;.        if (row_count = 0) then leave;.        stt = 'drop package body '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_pkg;...    open c_view; ---------------------  d r o p   v i e w s  ---------------------.    while (1=1) do.    begin.        fetch c_view into stt;.        if (row_count = 0) then leave;.        stt = 'drop view '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_view;..    open c_func; --------------------  d r o p   f u c t i o n s  ----------------.    while (1=1) do.    begin.        fetch c_func into stt;.        if (row_count = 0) then leave;.        stt = 'drop function '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_func;..    open c_proc; -----------------  d r o p   p r o c e d u r e s  ---------------.    while (1=1) do.    begin.        fetch c_proc into stt;.        if (row_count = 0) then leave;.        stt = 'drop procedure '||s...tt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_proc;...    open c_pkg; ------------------  d r o p     p a c k a g e s  ---------------.    while (1=1) do.    begin.        fetch c_pkg into stt;.        if (row_count = 0) then leave;.        stt = 'drop package '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_pkg;...    open c_excp; -----------------  d r o p   e x c e p t i o n s  ---------------.    while (1=1) do.    begin.        fetch c_excp into stt;.        if (row_count = 0) then leave;.        stt = 'drop exception '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_excp;..    open c_fk; -----------  d r o p    r e f.   c o n s t r a i n t s ------------.    while (1=1) do.    begin.        fetch c_fk into ref_name, tab_name;.        if (row_count = 0) then leave;.        stt = 'alter table '||tab_name||' drop constraint '||ref_name;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_fk;..    open c_tabs; -----------  d r o p    t a b l e s  ------------.    while (1=1) do.    begin.        fetch c_tabs into stt;.        if (row_count = 0) then leave;.        stt = 'drop table '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_tabs;..    open c_doms; -------------------  d r o p    d o m a i n s -------------------.    while (1=1) do.    begin.        fetch c_doms into stt;.        if (row_count = 0) then leave;.        stt = 'drop domain '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_doms;..    open c_coll; ---------------  d r o p    c o l l a t i o n s -----------------.    while (1=1) do.    begin.        fetch c_coll into stt;.        if (row_count = 0) then leave;.        stt = 'drop collation '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_coll;..    open c_cset;.    while (1=1) do.    begin.        fetch c_cset into stt, def_coll;.        if (row_count = 0) then leave;.        stt = 'alter character set ' || trim(stt) || ' set default collation ' || trim(stt);.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_cset;..    open c_gens; -----------------  d r o p    s e q u e n c e s -----------------.    while (1=1) do.    begin.        fetch c_gens into stt;.        if (row_count = 0) then leave;.        stt = 'drop sequence '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_gens;..    open c_role; --------------------  d r o p    r o l e s ----------------------.    while (1=1) do.    begin.        fetch c_role into stt;.        if (row_count = 0) then leave;.        stt = 'drop role '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_role;..    open c_local_mapping; ----------  d r o p   l o c a l   m a p p i n g s  ----.    while (1=1) do.    begin.        fetch c_local_mapping into stt;.        if (row_count = 0) then leave;.        stt = 'drop mapping '|| stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_local_mapping;...    /*******************************..        ###################################################.        ### TEMPORARY DISABLED OTHERWISE FB HANGS! ###.        WAITING FOR FIX:.        https://github.com/FirebirdSQL/firebird/issues/6861.        ###################################################.        open c_users; ----------  d r o p   u s e r s   e x c e p t   S Y S D B A  ----.        while (1=1) do.        begin.            fetch c_users into usr_name, sec_plugin;.            if (row_count = 0) then leave;..            stt = 'alter user '|| usr_name || ' revoke admin role using plugin ' || sec_plugin;.            execute statement (:stt); -- ?! with autonomous transaction;..            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); -- ?! with autonomous transaction;.                when any do.                begin.                   --- suppress warning ---.                end.            end..            stt = 'drop user '|| usr_name || ' using plugin ' || sec_plugin;.            execute statement (:stt);.            total_objects_removed = total_objects_removed + 1;.        end.        close c_users;.    .    ***********************************/..    rdb$set_context('USER_SESSION', 'total_objects_removed', total_objects_removed);..end", unsigned int dialect = 3, class Firebird::IMessageMetadata * inMetadata = 0x00000000`00000000, void * inBuffer = 0x00000000`00000000, class Firebird::IMessageMetadata * outMetadata = 0x00000000`00000000, void * outBuffer = 0x00000000`00000000)+0x1dd [H:\SNAPSHOTS\Firebird\src\jrd\jrd.cpp @ 5286]
*** WARNING: Unable to verify checksum for fbclient.dll
0d 00000000`0225f5c0 00007ff8`bc4da9b9 engine14!Firebird::IAttachmentBaseImpl<Jrd::JAttachment,Firebird::CheckStatusWrapper,Firebird::IReferenceCountedImpl<Jrd::JAttachment,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Jrd::JAttachment,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IAttachment> > > > >::cloopexecuteDispatcher(class Firebird::IAttachment * self = 0x00000000`059c58f8, class Firebird::IStatus * status = 0x00000000`00000000, class Firebird::ITransaction * transaction = 0x00000000`00000000, unsigned int stmtLength = 0xf, char * sqlStmt = 0x00000000`08124440 "SET TRANSACTION----------------------------------------------------------------..-- 2. Removing all objects from database is they exists:.execute block as.    declare total_objects_removed int;.    declare stt varchar(4096) character set utf8;.    declare def_coll varchar(64) character set utf8;.    declare ref_name varchar(64) character set utf8;.    declare tab_name varchar(64) character set utf8;.    declare usr_name varchar(64) character set utf8;.    declare sec_plugin varchar(64) character set utf8;..    declare c_trig cursor for                            -- TRIGGERS.      (select '"' || trim(rt.rdb$trigger_name) || '"' as rdb$trigger_name.         from rdb$triggers rt.         where coalesce(rt.rdb$system_flag,0)=0.      );..    declare c_view cursor for                            -- VIEWS.      (select '"' || trim(rr.rdb$relation_name) || '"' as rdb$relation_name.         from rdb$relations rr.        where.            -- XXX DO NOT XXX -- rr.rdb$relation_type=1 -- WRONG!! Views can sometime have rel_type = 0!.            rr.rdb$view_blr is not null.            and coalesce(rr.rdb$system_flag,0)=0.      );.    declare c_func cursor for                            -- *STANDALONE* FUNCTIONS.      (select '"' || trim(rf.rdb$function_name) || '"' rdb$function_name.         from rdb$functions rf.        where .            coalesce(rf.rdb$system_flag,0)=0.            -- added 29.04.2026: mandatory! On 6.x absense of this caused fail of .            -- functional/replication/test_ddl_triggers_must_not_fire_on_replica.py.            -- with "function NN not found".            -- Although this was definitely a bug but anywhere no error should appear..            and rf.rdb$package_name is null.      );.    declare c_proc cursor for                            -- *STANDALONE* PROCEDURES.      (select '"' || trim(rp.rdb$procedure_name) || '"' as rdb$procedure_name.         from rdb$procedures rp.         where .             coalesce(rp.rdb$system_flag,0)=0.             -- added 29.04.2026:.             and rp.rdb$package_name is null.      );..    declare c_pkg cursor for                             -- PACKAGES.      (select '"' || trim(rp.rdb$package_name) || '"' as rdb$package_name.         from rdb$packages rp.         where coalesce(rp.rdb$system_flag,0)=0.      );..    declare c_excp cursor for                            -- EXCEPTIONS.      (select '"' || trim(re.rdb$exception_name) || '"' as rdb$exception_name.         from rdb$exceptions re.         where coalesce(re.rdb$system_flag,0)=0.      );..    declare c_fk cursor for                              -- FK CONSTRAINTS.      (select '"' || trim(rc.rdb$constraint_name) || '"' as rdb$constraint_name.             ,rc.rdb$relation_name.         from rdb$relation_constraints rc.        where rc.rdb$constraint_type ='FOREIGN KEY'.      );..    declare c_tabs cursor for                            -- TABLES: permanent, GTT, external.      (.        select '"' || trim(rr.rdb$relation_name) || '"' as rdb$relation_name.          from rdb$relations rr.         where.             -- 0 = permanent usual table.             -- 2 = external table.             -- 4 = GTT session-level.             -- 5 =  GTT transaction-level.             rr.rdb$relation_type in(0,2,4,5).             and coalesce(rr.rdb$system_flag,0)=0.             -- MANDATORY! Views can simetime have rel_type = 0!.             and rr.rdb$view_blr is null.      );..    declare c_doms cursor for                            -- DOMAINS.      (select '"' || trim(rf.rdb$field_name) || '"' as rdb$field_name.        from rdb$fields rf.       where coalesce(rf.rdb$system_flag,0)=0.             and rf.rdb$field_name not starting with 'RDB$'.      );..    declare c_coll cursor for                            -- COLLATIONS.      (select '"' || trim(rc.rdb$collation_name) || '"' as rdb$collation_name.         from rdb$collations rc.        where coalesce(rc.rdb$system_flag,0)=0.      );..    -- cursor for reset charset default collation to initial value.    -- which name is always equals to rdb$character_set_name:.    declare c_cset cursor for                           -- CHAR. SETS.      (select.              cs.rdb$character_set_name as cset_name.             ,cs.rdb$default_collate_name as def_coll.         from rdb$character_sets cs.         where.             cs.rdb$character_set_name is distinct from cs.rdb$default_collate_name.      );..    declare c_gens cursor for                            -- SEQUENCES.      (select '"' || trim(rg.rdb$generator_name) || '"' as rdb$generator_name.        from rdb$generators rg.       where coalesce(rg.rdb$system_flag,0)=0.      );.    declare c_role cursor for                            -- ROLES.      (select '"' || trim(rr.rdb$role_name) || '"' as rdb$role_name.        from rdb$roles rr.       where coalesce(rr.rdb$system_flag,0)=0.      );.    declare c_local_mapping cursor for.      (.       select '"' || trim(rm.rdb$map_name) || '"' as rdb$map_name.       from rdb$auth_mapping rm.       where coalesce(rm.rdb$system_flag,0)=0.      );..    declare c_users cursor for.      (.       select '"' || trim(s.sec$user_name) || '"' as sec$user_name, s.sec$plugin.       from sec$users s.       where upper(s.sec$user_name) <> 'SYSDBA'.      );..begin.    total_objects_removed = 0;..    open c_trig; ----------   d r o p    t r i g g e r s  ----------------------.    while (1=1) do.    begin.        fetch c_trig into stt;.        if (row_count = 0) then leave;.        stt = 'drop trigger '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_trig;..    open c_doms; ------   d r o p    d o m a i n    C O N S T R A I N T S  -----.    while (1=1) do.    begin.        fetch c_doms into stt;.        if (row_count = 0) then leave;.        stt = 'alter domain ' || stt || ' drop constraint';.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_doms;...    open c_func; ----------   m a k e     f u n c t i o n s    e m p t y  -------.    while (1=1) do.    begin.        fetch c_func into stt;.        if (row_count = 0) then leave;.        stt = 'create or alter function '||stt||' returns int as begin return 1; end';.        execute statement (:stt);.        -- total_objects_removed = total_objects_removed + 1;.    end.    close c_func;..    open c_proc; ----------   m a k e     p r o c e d u r e s    e m p t y  -----.    while (1=1) do.    begin.        fetch c_proc into stt;.        if (row_count = 0) then leave;.        stt = 'create or alter procedure '||stt||' as begin end';.        execute statement (:stt);.        -- total_objects_removed = total_objects_removed + 1;.    end.    close c_proc;..    open c_pkg; ---------------------  d r o p   p k g   b o d i e s --------------.    while (1=1) do.    begin.        fetch c_pkg into stt;.        if (row_count = 0) then leave;.        stt = 'drop package body '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_pkg;...    open c_view; ---------------------  d r o p   v i e w s  ---------------------.    while (1=1) do.    begin.        fetch c_view into stt;.        if (row_count = 0) then leave;.        stt = 'drop view '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_view;..    open c_func; --------------------  d r o p   f u c t i o n s  ----------------.    while (1=1) do.    begin.        fetch c_func into stt;.        if (row_count = 0) then leave;.        stt = 'drop function '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_func;..    open c_proc; -----------------  d r o p   p r o c e d u r e s  ---------------.    while (1=1) do.    begin.        fetch c_proc into stt;.        if (row_count = 0) then leave;.        stt = 'drop procedure '||s...tt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_proc;...    open c_pkg; ------------------  d r o p     p a c k a g e s  ---------------.    while (1=1) do.    begin.        fetch c_pkg into stt;.        if (row_count = 0) then leave;.        stt = 'drop package '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_pkg;...    open c_excp; -----------------  d r o p   e x c e p t i o n s  ---------------.    while (1=1) do.    begin.        fetch c_excp into stt;.        if (row_count = 0) then leave;.        stt = 'drop exception '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_excp;..    open c_fk; -----------  d r o p    r e f.   c o n s t r a i n t s ------------.    while (1=1) do.    begin.        fetch c_fk into ref_name, tab_name;.        if (row_count = 0) then leave;.        stt = 'alter table '||tab_name||' drop constraint '||ref_name;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_fk;..    open c_tabs; -----------  d r o p    t a b l e s  ------------.    while (1=1) do.    begin.        fetch c_tabs into stt;.        if (row_count = 0) then leave;.        stt = 'drop table '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_tabs;..    open c_doms; -------------------  d r o p    d o m a i n s -------------------.    while (1=1) do.    begin.        fetch c_doms into stt;.        if (row_count = 0) then leave;.        stt = 'drop domain '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_doms;..    open c_coll; ---------------  d r o p    c o l l a t i o n s -----------------.    while (1=1) do.    begin.        fetch c_coll into stt;.        if (row_count = 0) then leave;.        stt = 'drop collation '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_coll;..    open c_cset;.    while (1=1) do.    begin.        fetch c_cset into stt, def_coll;.        if (row_count = 0) then leave;.        stt = 'alter character set ' || trim(stt) || ' set default collation ' || trim(stt);.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_cset;..    open c_gens; -----------------  d r o p    s e q u e n c e s -----------------.    while (1=1) do.    begin.        fetch c_gens into stt;.        if (row_count = 0) then leave;.        stt = 'drop sequence '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_gens;..    open c_role; --------------------  d r o p    r o l e s ----------------------.    while (1=1) do.    begin.        fetch c_role into stt;.        if (row_count = 0) then leave;.        stt = 'drop role '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_role;..    open c_local_mapping; ----------  d r o p   l o c a l   m a p p i n g s  ----.    while (1=1) do.    begin.        fetch c_local_mapping into stt;.        if (row_count = 0) then leave;.        stt = 'drop mapping '|| stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_local_mapping;...    /*******************************..        ###################################################.        ### TEMPORARY DISABLED OTHERWISE FB HANGS! ###.        WAITING FOR FIX:.        https://github.com/FirebirdSQL/firebird/issues/6861.        ###################################################.        open c_users; ----------  d r o p   u s e r s   e x c e p t   S Y S D B A  ----.        while (1=1) do.        begin.            fetch c_users into usr_name, sec_plugin;.            if (row_count = 0) then leave;..            stt = 'alter user '|| usr_name || ' revoke admin role using plugin ' || sec_plugin;.            execute statement (:stt); -- ?! with autonomous transaction;..            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); -- ?! with autonomous transaction;.                when any do.                begin.                   --- suppress warning ---.                end.            end..            stt = 'drop user '|| usr_name || ' using plugin ' || sec_plugin;.            execute statement (:stt);.            total_objects_removed = total_objects_removed + 1;.        end.        close c_users;.    .    ***********************************/..    rdb$set_context('USER_SESSION', 'total_objects_removed', total_objects_removed);..end", unsigned int dialect = 3, class Firebird::IMessageMetadata * inMetadata = 0x00000000`00000000, void * inBuffer = 0x00000000`00000000, class Firebird::IMessageMetadata * outMetadata = 0x00000000`00000000, void * outBuffer = 0x00000000`00000000)+0x8f [H:\SNAPSHOTS\Firebird\src\include\firebird\IdlFbInterfaces.h @ 12354]
0e (Inline Function) --------`-------- fbclient!Firebird::IAttachment::execute+0x83 [H:\SNAPSHOTS\Firebird\src\include\firebird\IdlFbInterfaces.h @ 2703]
0f 00000000`0225f650 00007ff8`bc4d402f fbclient!Why::YAttachment::execute(class Firebird::CheckStatusWrapper * status = 0x00000000`0225f760, class Firebird::ITransaction * transaction = 0x00000000`00000000, unsigned int length = 0xf, char * string = 0x00000000`08124440 "SET TRANSACTION----------------------------------------------------------------..-- 2. Removing all objects from database is they exists:.execute block as.    declare total_objects_removed int;.    declare stt varchar(4096) character set utf8;.    declare def_coll varchar(64) character set utf8;.    declare ref_name varchar(64) character set utf8;.    declare tab_name varchar(64) character set utf8;.    declare usr_name varchar(64) character set utf8;.    declare sec_plugin varchar(64) character set utf8;..    declare c_trig cursor for                            -- TRIGGERS.      (select '"' || trim(rt.rdb$trigger_name) || '"' as rdb$trigger_name.         from rdb$triggers rt.         where coalesce(rt.rdb$system_flag,0)=0.      );..    declare c_view cursor for                            -- VIEWS.      (select '"' || trim(rr.rdb$relation_name) || '"' as rdb$relation_name.         from rdb$relations rr.        where.            -- XXX DO NOT XXX -- rr.rdb$relation_type=1 -- WRONG!! Views can sometime have rel_type = 0!.            rr.rdb$view_blr is not null.            and coalesce(rr.rdb$system_flag,0)=0.      );.    declare c_func cursor for                            -- *STANDALONE* FUNCTIONS.      (select '"' || trim(rf.rdb$function_name) || '"' rdb$function_name.         from rdb$functions rf.        where .            coalesce(rf.rdb$system_flag,0)=0.            -- added 29.04.2026: mandatory! On 6.x absense of this caused fail of .            -- functional/replication/test_ddl_triggers_must_not_fire_on_replica.py.            -- with "function NN not found".            -- Although this was definitely a bug but anywhere no error should appear..            and rf.rdb$package_name is null.      );.    declare c_proc cursor for                            -- *STANDALONE* PROCEDURES.      (select '"' || trim(rp.rdb$procedure_name) || '"' as rdb$procedure_name.         from rdb$procedures rp.         where .             coalesce(rp.rdb$system_flag,0)=0.             -- added 29.04.2026:.             and rp.rdb$package_name is null.      );..    declare c_pkg cursor for                             -- PACKAGES.      (select '"' || trim(rp.rdb$package_name) || '"' as rdb$package_name.         from rdb$packages rp.         where coalesce(rp.rdb$system_flag,0)=0.      );..    declare c_excp cursor for                            -- EXCEPTIONS.      (select '"' || trim(re.rdb$exception_name) || '"' as rdb$exception_name.         from rdb$exceptions re.         where coalesce(re.rdb$system_flag,0)=0.      );..    declare c_fk cursor for                              -- FK CONSTRAINTS.      (select '"' || trim(rc.rdb$constraint_name) || '"' as rdb$constraint_name.             ,rc.rdb$relation_name.         from rdb$relation_constraints rc.        where rc.rdb$constraint_type ='FOREIGN KEY'.      );..    declare c_tabs cursor for                            -- TABLES: permanent, GTT, external.      (.        select '"' || trim(rr.rdb$relation_name) || '"' as rdb$relation_name.          from rdb$relations rr.         where.             -- 0 = permanent usual table.             -- 2 = external table.             -- 4 = GTT session-level.             -- 5 =  GTT transaction-level.             rr.rdb$relation_type in(0,2,4,5).             and coalesce(rr.rdb$system_flag,0)=0.             -- MANDATORY! Views can simetime have rel_type = 0!.             and rr.rdb$view_blr is null.      );..    declare c_doms cursor for                            -- DOMAINS.      (select '"' || trim(rf.rdb$field_name) || '"' as rdb$field_name.        from rdb$fields rf.       where coalesce(rf.rdb$system_flag,0)=0.             and rf.rdb$field_name not starting with 'RDB$'.      );..    declare c_coll cursor for                            -- COLLATIONS.      (select '"' || trim(rc.rdb$collation_name) || '"' as rdb$collation_name.         from rdb$collations rc.        where coalesce(rc.rdb$system_flag,0)=0.      );..    -- cursor for reset charset default collation to initial value.    -- which name is always equals to rdb$character_set_name:.    declare c_cset cursor for                           -- CHAR. SETS.      (select.              cs.rdb$character_set_name as cset_name.             ,cs.rdb$default_collate_name as def_coll.         from rdb$character_sets cs.         where.             cs.rdb$character_set_name is distinct from cs.rdb$default_collate_name.      );..    declare c_gens cursor for                            -- SEQUENCES.      (select '"' || trim(rg.rdb$generator_name) || '"' as rdb$generator_name.        from rdb$generators rg.       where coalesce(rg.rdb$system_flag,0)=0.      );.    declare c_role cursor for                            -- ROLES.      (select '"' || trim(rr.rdb$role_name) || '"' as rdb$role_name.        from rdb$roles rr.       where coalesce(rr.rdb$system_flag,0)=0.      );.    declare c_local_mapping cursor for.      (.       select '"' || trim(rm.rdb$map_name) || '"' as rdb$map_name.       from rdb$auth_mapping rm.       where coalesce(rm.rdb$system_flag,0)=0.      );..    declare c_users cursor for.      (.       select '"' || trim(s.sec$user_name) || '"' as sec$user_name, s.sec$plugin.       from sec$users s.       where upper(s.sec$user_name) <> 'SYSDBA'.      );..begin.    total_objects_removed = 0;..    open c_trig; ----------   d r o p    t r i g g e r s  ----------------------.    while (1=1) do.    begin.        fetch c_trig into stt;.        if (row_count = 0) then leave;.        stt = 'drop trigger '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_trig;..    open c_doms; ------   d r o p    d o m a i n    C O N S T R A I N T S  -----.    while (1=1) do.    begin.        fetch c_doms into stt;.        if (row_count = 0) then leave;.        stt = 'alter domain ' || stt || ' drop constraint';.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_doms;...    open c_func; ----------   m a k e     f u n c t i o n s    e m p t y  -------.    while (1=1) do.    begin.        fetch c_func into stt;.        if (row_count = 0) then leave;.        stt = 'create or alter function '||stt||' returns int as begin return 1; end';.        execute statement (:stt);.        -- total_objects_removed = total_objects_removed + 1;.    end.    close c_func;..    open c_proc; ----------   m a k e     p r o c e d u r e s    e m p t y  -----.    while (1=1) do.    begin.        fetch c_proc into stt;.        if (row_count = 0) then leave;.        stt = 'create or alter procedure '||stt||' as begin end';.        execute statement (:stt);.        -- total_objects_removed = total_objects_removed + 1;.    end.    close c_proc;..    open c_pkg; ---------------------  d r o p   p k g   b o d i e s --------------.    while (1=1) do.    begin.        fetch c_pkg into stt;.        if (row_count = 0) then leave;.        stt = 'drop package body '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_pkg;...    open c_view; ---------------------  d r o p   v i e w s  ---------------------.    while (1=1) do.    begin.        fetch c_view into stt;.        if (row_count = 0) then leave;.        stt = 'drop view '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_view;..    open c_func; --------------------  d r o p   f u c t i o n s  ----------------.    while (1=1) do.    begin.        fetch c_func into stt;.        if (row_count = 0) then leave;.        stt = 'drop function '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_func;..    open c_proc; -----------------  d r o p   p r o c e d u r e s  ---------------.    while (1=1) do.    begin.        fetch c_proc into stt;.        if (row_count = 0) then leave;.        stt = 'drop procedure '||s...tt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_proc;...    open c_pkg; ------------------  d r o p     p a c k a g e s  ---------------.    while (1=1) do.    begin.        fetch c_pkg into stt;.        if (row_count = 0) then leave;.        stt = 'drop package '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_pkg;...    open c_excp; -----------------  d r o p   e x c e p t i o n s  ---------------.    while (1=1) do.    begin.        fetch c_excp into stt;.        if (row_count = 0) then leave;.        stt = 'drop exception '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_excp;..    open c_fk; -----------  d r o p    r e f.   c o n s t r a i n t s ------------.    while (1=1) do.    begin.        fetch c_fk into ref_name, tab_name;.        if (row_count = 0) then leave;.        stt = 'alter table '||tab_name||' drop constraint '||ref_name;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_fk;..    open c_tabs; -----------  d r o p    t a b l e s  ------------.    while (1=1) do.    begin.        fetch c_tabs into stt;.        if (row_count = 0) then leave;.        stt = 'drop table '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_tabs;..    open c_doms; -------------------  d r o p    d o m a i n s -------------------.    while (1=1) do.    begin.        fetch c_doms into stt;.        if (row_count = 0) then leave;.        stt = 'drop domain '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_doms;..    open c_coll; ---------------  d r o p    c o l l a t i o n s -----------------.    while (1=1) do.    begin.        fetch c_coll into stt;.        if (row_count = 0) then leave;.        stt = 'drop collation '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_coll;..    open c_cset;.    while (1=1) do.    begin.        fetch c_cset into stt, def_coll;.        if (row_count = 0) then leave;.        stt = 'alter character set ' || trim(stt) || ' set default collation ' || trim(stt);.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_cset;..    open c_gens; -----------------  d r o p    s e q u e n c e s -----------------.    while (1=1) do.    begin.        fetch c_gens into stt;.        if (row_count = 0) then leave;.        stt = 'drop sequence '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_gens;..    open c_role; --------------------  d r o p    r o l e s ----------------------.    while (1=1) do.    begin.        fetch c_role into stt;.        if (row_count = 0) then leave;.        stt = 'drop role '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_role;..    open c_local_mapping; ----------  d r o p   l o c a l   m a p p i n g s  ----.    while (1=1) do.    begin.        fetch c_local_mapping into stt;.        if (row_count = 0) then leave;.        stt = 'drop mapping '|| stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_local_mapping;...    /*******************************..        ###################################################.        ### TEMPORARY DISABLED OTHERWISE FB HANGS! ###.        WAITING FOR FIX:.        https://github.com/FirebirdSQL/firebird/issues/6861.        ###################################################.        open c_users; ----------  d r o p   u s e r s   e x c e p t   S Y S D B A  ----.        while (1=1) do.        begin.            fetch c_users into usr_name, sec_plugin;.            if (row_count = 0) then leave;..            stt = 'alter user '|| usr_name || ' revoke admin role using plugin ' || sec_plugin;.            execute statement (:stt); -- ?! with autonomous transaction;..            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); -- ?! with autonomous transaction;.                when any do.                begin.                   --- suppress warning ---.                end.            end..            stt = 'drop user '|| usr_name || ' using plugin ' || sec_plugin;.            execute statement (:stt);.            total_objects_removed = total_objects_removed + 1;.        end.        close c_users;.    .    ***********************************/..    rdb$set_context('USER_SESSION', 'total_objects_removed', total_objects_removed);..end", unsigned int dialect = 3, class Firebird::IMessageMetadata * inMetadata = 0x00000000`00000000, void * inBuffer = 0x00000000`00000000, class Firebird::IMessageMetadata * outMetadata = 0x00000000`00000000, void * outBuffer = 0x00000000`00000000)+0x109 [H:\SNAPSHOTS\Firebird\src\yvalve\why.cpp @ 5949]
10 00000000`0225f710 00000001`4001cabd fbclient!Firebird::IAttachmentBaseImpl<Why::YAttachment,Firebird::CheckStatusWrapper,Firebird::IReferenceCountedImpl<Why::YAttachment,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Why::YAttachment,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IAttachment> > > > >::cloopexecuteDispatcher(class Firebird::IAttachment * self = 0x00000000`02262a18, class Firebird::IStatus * status = 0x00000000`00938bc0, class Firebird::ITransaction * transaction = 0x00000000`00000000, unsigned int stmtLength = 0xf, char * sqlStmt = 0x00000000`08124440 "SET TRANSACTION----------------------------------------------------------------..-- 2. Removing all objects from database is they exists:.execute block as.    declare total_objects_removed int;.    declare stt varchar(4096) character set utf8;.    declare def_coll varchar(64) character set utf8;.    declare ref_name varchar(64) character set utf8;.    declare tab_name varchar(64) character set utf8;.    declare usr_name varchar(64) character set utf8;.    declare sec_plugin varchar(64) character set utf8;..    declare c_trig cursor for                            -- TRIGGERS.      (select '"' || trim(rt.rdb$trigger_name) || '"' as rdb$trigger_name.         from rdb$triggers rt.         where coalesce(rt.rdb$system_flag,0)=0.      );..    declare c_view cursor for                            -- VIEWS.      (select '"' || trim(rr.rdb$relation_name) || '"' as rdb$relation_name.         from rdb$relations rr.        where.            -- XXX DO NOT XXX -- rr.rdb$relation_type=1 -- WRONG!! Views can sometime have rel_type = 0!.            rr.rdb$view_blr is not null.            and coalesce(rr.rdb$system_flag,0)=0.      );.    declare c_func cursor for                            -- *STANDALONE* FUNCTIONS.      (select '"' || trim(rf.rdb$function_name) || '"' rdb$function_name.         from rdb$functions rf.        where .            coalesce(rf.rdb$system_flag,0)=0.            -- added 29.04.2026: mandatory! On 6.x absense of this caused fail of .            -- functional/replication/test_ddl_triggers_must_not_fire_on_replica.py.            -- with "function NN not found".            -- Although this was definitely a bug but anywhere no error should appear..            and rf.rdb$package_name is null.      );.    declare c_proc cursor for                            -- *STANDALONE* PROCEDURES.      (select '"' || trim(rp.rdb$procedure_name) || '"' as rdb$procedure_name.         from rdb$procedures rp.         where .             coalesce(rp.rdb$system_flag,0)=0.             -- added 29.04.2026:.             and rp.rdb$package_name is null.      );..    declare c_pkg cursor for                             -- PACKAGES.      (select '"' || trim(rp.rdb$package_name) || '"' as rdb$package_name.         from rdb$packages rp.         where coalesce(rp.rdb$system_flag,0)=0.      );..    declare c_excp cursor for                            -- EXCEPTIONS.      (select '"' || trim(re.rdb$exception_name) || '"' as rdb$exception_name.         from rdb$exceptions re.         where coalesce(re.rdb$system_flag,0)=0.      );..    declare c_fk cursor for                              -- FK CONSTRAINTS.      (select '"' || trim(rc.rdb$constraint_name) || '"' as rdb$constraint_name.             ,rc.rdb$relation_name.         from rdb$relation_constraints rc.        where rc.rdb$constraint_type ='FOREIGN KEY'.      );..    declare c_tabs cursor for                            -- TABLES: permanent, GTT, external.      (.        select '"' || trim(rr.rdb$relation_name) || '"' as rdb$relation_name.          from rdb$relations rr.         where.             -- 0 = permanent usual table.             -- 2 = external table.             -- 4 = GTT session-level.             -- 5 =  GTT transaction-level.             rr.rdb$relation_type in(0,2,4,5).             and coalesce(rr.rdb$system_flag,0)=0.             -- MANDATORY! Views can simetime have rel_type = 0!.             and rr.rdb$view_blr is null.      );..    declare c_doms cursor for                            -- DOMAINS.      (select '"' || trim(rf.rdb$field_name) || '"' as rdb$field_name.        from rdb$fields rf.       where coalesce(rf.rdb$system_flag,0)=0.             and rf.rdb$field_name not starting with 'RDB$'.      );..    declare c_coll cursor for                            -- COLLATIONS.      (select '"' || trim(rc.rdb$collation_name) || '"' as rdb$collation_name.         from rdb$collations rc.        where coalesce(rc.rdb$system_flag,0)=0.      );..    -- cursor for reset charset default collation to initial value.    -- which name is always equals to rdb$character_set_name:.    declare c_cset cursor for                           -- CHAR. SETS.      (select.              cs.rdb$character_set_name as cset_name.             ,cs.rdb$default_collate_name as def_coll.         from rdb$character_sets cs.         where.             cs.rdb$character_set_name is distinct from cs.rdb$default_collate_name.      );..    declare c_gens cursor for                            -- SEQUENCES.      (select '"' || trim(rg.rdb$generator_name) || '"' as rdb$generator_name.        from rdb$generators rg.       where coalesce(rg.rdb$system_flag,0)=0.      );.    declare c_role cursor for                            -- ROLES.      (select '"' || trim(rr.rdb$role_name) || '"' as rdb$role_name.        from rdb$roles rr.       where coalesce(rr.rdb$system_flag,0)=0.      );.    declare c_local_mapping cursor for.      (.       select '"' || trim(rm.rdb$map_name) || '"' as rdb$map_name.       from rdb$auth_mapping rm.       where coalesce(rm.rdb$system_flag,0)=0.      );..    declare c_users cursor for.      (.       select '"' || trim(s.sec$user_name) || '"' as sec$user_name, s.sec$plugin.       from sec$users s.       where upper(s.sec$user_name) <> 'SYSDBA'.      );..begin.    total_objects_removed = 0;..    open c_trig; ----------   d r o p    t r i g g e r s  ----------------------.    while (1=1) do.    begin.        fetch c_trig into stt;.        if (row_count = 0) then leave;.        stt = 'drop trigger '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_trig;..    open c_doms; ------   d r o p    d o m a i n    C O N S T R A I N T S  -----.    while (1=1) do.    begin.        fetch c_doms into stt;.        if (row_count = 0) then leave;.        stt = 'alter domain ' || stt || ' drop constraint';.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_doms;...    open c_func; ----------   m a k e     f u n c t i o n s    e m p t y  -------.    while (1=1) do.    begin.        fetch c_func into stt;.        if (row_count = 0) then leave;.        stt = 'create or alter function '||stt||' returns int as begin return 1; end';.        execute statement (:stt);.        -- total_objects_removed = total_objects_removed + 1;.    end.    close c_func;..    open c_proc; ----------   m a k e     p r o c e d u r e s    e m p t y  -----.    while (1=1) do.    begin.        fetch c_proc into stt;.        if (row_count = 0) then leave;.        stt = 'create or alter procedure '||stt||' as begin end';.        execute statement (:stt);.        -- total_objects_removed = total_objects_removed + 1;.    end.    close c_proc;..    open c_pkg; ---------------------  d r o p   p k g   b o d i e s --------------.    while (1=1) do.    begin.        fetch c_pkg into stt;.        if (row_count = 0) then leave;.        stt = 'drop package body '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_pkg;...    open c_view; ---------------------  d r o p   v i e w s  ---------------------.    while (1=1) do.    begin.        fetch c_view into stt;.        if (row_count = 0) then leave;.        stt = 'drop view '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_view;..    open c_func; --------------------  d r o p   f u c t i o n s  ----------------.    while (1=1) do.    begin.        fetch c_func into stt;.        if (row_count = 0) then leave;.        stt = 'drop function '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_func;..    open c_proc; -----------------  d r o p   p r o c e d u r e s  ---------------.    while (1=1) do.    begin.        fetch c_proc into stt;.        if (row_count = 0) then leave;.        stt = 'drop procedure '||s...tt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_proc;...    open c_pkg; ------------------  d r o p     p a c k a g e s  ---------------.    while (1=1) do.    begin.        fetch c_pkg into stt;.        if (row_count = 0) then leave;.        stt = 'drop package '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_pkg;...    open c_excp; -----------------  d r o p   e x c e p t i o n s  ---------------.    while (1=1) do.    begin.        fetch c_excp into stt;.        if (row_count = 0) then leave;.        stt = 'drop exception '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_excp;..    open c_fk; -----------  d r o p    r e f.   c o n s t r a i n t s ------------.    while (1=1) do.    begin.        fetch c_fk into ref_name, tab_name;.        if (row_count = 0) then leave;.        stt = 'alter table '||tab_name||' drop constraint '||ref_name;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_fk;..    open c_tabs; -----------  d r o p    t a b l e s  ------------.    while (1=1) do.    begin.        fetch c_tabs into stt;.        if (row_count = 0) then leave;.        stt = 'drop table '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_tabs;..    open c_doms; -------------------  d r o p    d o m a i n s -------------------.    while (1=1) do.    begin.        fetch c_doms into stt;.        if (row_count = 0) then leave;.        stt = 'drop domain '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_doms;..    open c_coll; ---------------  d r o p    c o l l a t i o n s -----------------.    while (1=1) do.    begin.        fetch c_coll into stt;.        if (row_count = 0) then leave;.        stt = 'drop collation '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_coll;..    open c_cset;.    while (1=1) do.    begin.        fetch c_cset into stt, def_coll;.        if (row_count = 0) then leave;.        stt = 'alter character set ' || trim(stt) || ' set default collation ' || trim(stt);.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_cset;..    open c_gens; -----------------  d r o p    s e q u e n c e s -----------------.    while (1=1) do.    begin.        fetch c_gens into stt;.        if (row_count = 0) then leave;.        stt = 'drop sequence '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_gens;..    open c_role; --------------------  d r o p    r o l e s ----------------------.    while (1=1) do.    begin.        fetch c_role into stt;.        if (row_count = 0) then leave;.        stt = 'drop role '||stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_role;..    open c_local_mapping; ----------  d r o p   l o c a l   m a p p i n g s  ----.    while (1=1) do.    begin.        fetch c_local_mapping into stt;.        if (row_count = 0) then leave;.        stt = 'drop mapping '|| stt;.        execute statement (:stt);.        total_objects_removed = total_objects_removed + 1;.    end.    close c_local_mapping;...    /*******************************..        ###################################################.        ### TEMPORARY DISABLED OTHERWISE FB HANGS! ###.        WAITING FOR FIX:.        https://github.com/FirebirdSQL/firebird/issues/6861.        ###################################################.        open c_users; ----------  d r o p   u s e r s   e x c e p t   S Y S D B A  ----.        while (1=1) do.        begin.            fetch c_users into usr_name, sec_plugin;.            if (row_count = 0) then leave;..            stt = 'alter user '|| usr_name || ' revoke admin role using plugin ' || sec_plugin;.            execute statement (:stt); -- ?! with autonomous transaction;..            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); -- ?! with autonomous transaction;.                when any do.                begin.                   --- suppress warning ---.                end.            end..            stt = 'drop user '|| usr_name || ' using plugin ' || sec_plugin;.            execute statement (:stt);.            total_objects_removed = total_objects_removed + 1;.        end.        close c_users;.    .    ***********************************/..    rdb$set_context('USER_SESSION', 'total_objects_removed', total_objects_removed);..end", unsigned int dialect = 3, class Firebird::IMessageMetadata * inMetadata = 0x00000000`00000000, void * inBuffer = 0x00000000`00000000, class Firebird::IMessageMetadata * outMetadata = 0x00000000`00000000, void * outBuffer = 0x00000000`00000000)+0x8f [H:\SNAPSHOTS\Firebird\src\include\firebird\IdlFbInterfaces.h @ 12354]
11 (Inline Function) --------`-------- firebird!Firebird::IAttachment::execute+0x68 [H:\SNAPSHOTS\Firebird\src\include\firebird\IdlFbInterfaces.h @ 2703]
12 00000000`0225f7a0 00000001`400243b8 firebird!rem_port::execute_immediate(P_OP op = op_exec_immediate (0n64), struct p_sqlst * exnow = 0x00000000`00973f40, struct packet * sendL = 0x00000000`00973658)+0x27d [H:\SNAPSHOTS\Firebird\src\remote\server\server.cpp @ 3560]
13 00000000`0225f9a0 00000001`400225be firebird!process_packet(struct rem_port * port = 0x00000000`00938bc0, struct packet * sendL = 0x00000000`00973658, struct packet * receive = 0x00000000`00973c30, struct rem_port ** result = 0x00000000`0225ff10)+0x498 [H:\SNAPSHOTS\Firebird\src\remote\server\server.cpp @ 5278]
14 00000000`0225fe10 00000001`400480a7 firebird!loopThread(void * __formal = 0x00000000`009ed030)+0x32e [H:\SNAPSHOTS\Firebird\src\remote\server\server.cpp @ 6988]
15 (Inline Function) --------`-------- firebird!`anonymous-namespace'::ThreadArgs::run+0x5 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 80]
16 00000000`0225ff00 00007ff8`d9d90579 firebird!threadStart(void * arg = 0x00000000`00923b30)+0x67 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 97]
17 00000000`0225ff30 00007ff8`dbea2784 ucrtbase!wcstombs_s_l+0xe9
18 00000000`0225ff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
19 00000000`0225ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   5  Id: 4324.36b8 Suspend: 0 Teb: 00000000`002e0000 Unfrozen
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for KERNELBASE.dll - 
 # Child-SP          RetAddr           Call Site
00 00000000`0266fc88 00007ff8`d99c994f ntdll!ZwWaitForSingleObject+0x14
01 00000000`0266fc90 00007ff8`bc530fff KERNELBASE!WaitForSingleObjectEx+0x9f
02 00000000`0266fd30 00007ff8`bc4a6689 fbclient!Firebird::Semaphore::tryEnter(int seconds = <Value unavailable error>, int milliseconds = <Value unavailable error>)+0x1f [H:\SNAPSHOTS\Firebird\src\common\classes\semaphore.cpp @ 87]
03 (Inline Function) --------`-------- fbclient!std::_Atomic_storage<__int64,8>::load+0x198 [C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\include\atomic @ 1062]
04 (Inline Function) --------`-------- fbclient!Firebird::AtomicCounter::value+0x198 [H:\SNAPSHOTS\Firebird\src\common\classes\fb_atomic.h @ 49]
05 00000000`0266fd60 00007ff8`bc50b157 fbclient!Why::`anonymous namespace'::TimerEntry::timeThread(void * __formal = 0x00000000`00000000)+0x1f9 [H:\SNAPSHOTS\Firebird\src\yvalve\MasterImplementation.cpp @ 262]
06 (Inline Function) --------`-------- fbclient!`anonymous-namespace'::ThreadArgs::run+0x5 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 80]
07 00000000`0266ff00 00007ff8`d9d90579 fbclient!threadStart(void * arg = 0x00000000`02260eb0)+0x67 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 97]
08 00000000`0266ff30 00007ff8`dbea2784 ucrtbase!wcstombs_s_l+0xe9
09 00000000`0266ff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
0a 00000000`0266ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   6  Id: 4324.2c98 Suspend: 0 Teb: 00000000`002e2000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`04d4fd68 00007ff8`d99c994f ntdll!ZwWaitForSingleObject+0x14
01 00000000`04d4fd70 00007ff8`9fa47905 KERNELBASE!WaitForSingleObjectEx+0x9f
02 00000000`04d4fe10 00007ff8`9f9b1c81 engine14!Firebird::SharedMemoryBase::eventWait(struct Firebird::event_t * event = 0x00000000`0494c5e8, long value = 0n1, long micro_seconds = <Value unavailable error>)+0x45 [H:\SNAPSHOTS\Firebird\src\common\isc_sync.cpp @ 749]
03 00000000`04d4fe40 00007ff8`9f9b4ac7 engine14!Jrd::LockManager::blocking_action_thread(void)+0x161 [H:\SNAPSHOTS\Firebird\src\lock\lock.cpp @ 1548]
04 00000000`04d4fe90 00007ff8`9f9b4af9 engine14!ThreadFinishSync<Jrd::LockManager *,0>::internalRun(void)+0x17 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.h @ 272]
05 00000000`04d4fed0 00007ff8`9fa2bcf7 engine14!ThreadFinishSync<Jrd::LockManager *,0>::internalRun(void * arg = <Value unavailable error>)+0x9 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.h @ 265]
06 (Inline Function) --------`-------- engine14!`anonymous-namespace'::ThreadArgs::run+0x5 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 80]
07 00000000`04d4ff00 00007ff8`d9d90579 engine14!threadStart(void * arg = 0x00000000`047c1510)+0x67 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 97]
08 00000000`04d4ff30 00007ff8`dbea2784 ucrtbase!wcstombs_s_l+0xe9
09 00000000`04d4ff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
0a 00000000`04d4ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   7  Id: 4324.888 Suspend: 0 Teb: 00000000`002e4000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`0612fd68 00007ff8`d99c994f ntdll!ZwWaitForSingleObject+0x14
01 00000000`0612fd70 00007ff8`9fa47905 KERNELBASE!WaitForSingleObjectEx+0x9f
02 00000000`0612fe10 00007ff8`9f886174 engine14!Firebird::SharedMemoryBase::eventWait(struct Firebird::event_t * event = 0x00000000`05c20508, long value = 0n1, long micro_seconds = <Value unavailable error>)+0x45 [H:\SNAPSHOTS\Firebird\src\common\isc_sync.cpp @ 749]
03 00000000`0612fe40 00007ff8`9f8893a7 engine14!`anonymous namespace'::MappingIpc::clearDeliveryThread(void)+0xc4 [H:\SNAPSHOTS\Firebird\src\jrd\Mapping.cpp @ 904]
04 00000000`0612fe90 00007ff8`9f8893c9 engine14!ThreadFinishSync<`anonymous namespace'::MappingIpc *,0>::internalRun(void)+0x17 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.h @ 272]
05 00000000`0612fed0 00007ff8`9fa2bcf7 engine14!ThreadFinishSync<`anonymous namespace'::MappingIpc *,0>::internalRun(void * arg = <Value unavailable error>)+0x9 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.h @ 265]
06 (Inline Function) --------`-------- engine14!`anonymous-namespace'::ThreadArgs::run+0x5 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 80]
07 00000000`0612ff00 00007ff8`d9d90579 engine14!threadStart(void * arg = 0x00000000`05202ec0)+0x67 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 97]
08 00000000`0612ff30 00007ff8`dbea2784 ucrtbase!wcstombs_s_l+0xe9
09 00000000`0612ff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
0a 00000000`0612ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   8  Id: 4324.16f8 Suspend: 0 Teb: 00000000`002e6000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`06a4fd68 00007ff8`d99c994f ntdll!ZwWaitForSingleObject+0x14
01 00000000`06a4fd70 00007ff8`9fa47905 KERNELBASE!WaitForSingleObjectEx+0x9f
02 00000000`06a4fe10 00007ff8`9f9b1c81 engine14!Firebird::SharedMemoryBase::eventWait(struct Firebird::event_t * event = 0x00000000`061b31c8, long value = 0n1, long micro_seconds = <Value unavailable error>)+0x45 [H:\SNAPSHOTS\Firebird\src\common\isc_sync.cpp @ 749]
03 00000000`06a4fe40 00007ff8`9f9b4ac7 engine14!Jrd::LockManager::blocking_action_thread(void)+0x161 [H:\SNAPSHOTS\Firebird\src\lock\lock.cpp @ 1548]
04 00000000`06a4fe90 00007ff8`9f9b4af9 engine14!ThreadFinishSync<Jrd::LockManager *,0>::internalRun(void)+0x17 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.h @ 272]
05 00000000`06a4fed0 00007ff8`9fa2bcf7 engine14!ThreadFinishSync<Jrd::LockManager *,0>::internalRun(void * arg = <Value unavailable error>)+0x9 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.h @ 265]
06 (Inline Function) --------`-------- engine14!`anonymous-namespace'::ThreadArgs::run+0x5 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 80]
07 00000000`06a4ff00 00007ff8`d9d90579 engine14!threadStart(void * arg = 0x00000000`0520f210)+0x67 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 97]
08 00000000`06a4ff30 00007ff8`dbea2784 ucrtbase!wcstombs_s_l+0xe9
09 00000000`06a4ff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
0a 00000000`06a4ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   9  Id: 4324.2ae4 Suspend: 0 Teb: 00000000`002e8000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`0882fd98 00007ff8`d99c994f ntdll!ZwWaitForSingleObject+0x14
01 00000000`0882fda0 00007ff8`9fa680df KERNELBASE!WaitForSingleObjectEx+0x9f
02 00000000`0882fe40 00007ff8`9f912b15 engine14!Firebird::Semaphore::tryEnter(int seconds = <Value unavailable error>, int milliseconds = <Value unavailable error>)+0x1f [H:\SNAPSHOTS\Firebird\src\common\classes\semaphore.cpp @ 87]
03 00000000`0882fe70 00007ff8`9f912979 engine14!Replication::ChangeLog::bgArchiver(void)+0x195 [H:\SNAPSHOTS\Firebird\src\jrd\replication\ChangeLog.cpp @ 873]
04 00000000`0882fed0 00007ff8`9fa2bcf7 engine14!`anonymous namespace'::archiver_thread(void * arg = <Value unavailable error>)+0x9 [H:\SNAPSHOTS\Firebird\src\jrd\replication\ChangeLog.cpp @ 86]
05 (Inline Function) --------`-------- engine14!`anonymous-namespace'::ThreadArgs::run+0x5 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 80]
06 00000000`0882ff00 00007ff8`d9d90579 engine14!threadStart(void * arg = 0x00000000`0646c3b0)+0x67 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 97]
07 00000000`0882ff30 00007ff8`dbea2784 ucrtbase!wcstombs_s_l+0xe9
08 00000000`0882ff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
09 00000000`0882ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

  10  Id: 4324.1734 Suspend: 0 Teb: 00000000`002ea000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`08c2fd78 00007ff8`d99c994f ntdll!ZwWaitForSingleObject+0x14
01 00000000`08c2fd80 00007ff8`9fa680df KERNELBASE!WaitForSingleObjectEx+0x9f
02 00000000`08c2fe20 00007ff8`9f91988b engine14!Firebird::Semaphore::tryEnter(int seconds = <Value unavailable error>, int milliseconds = <Value unavailable error>)+0x1f [H:\SNAPSHOTS\Firebird\src\common\classes\semaphore.cpp @ 87]
03 00000000`08c2fe50 00007ff8`9f91a0d9 engine14!Replication::Manager::bgWriter(void)+0x22b [H:\SNAPSHOTS\Firebird\src\jrd\replication\Manager.cpp @ 406]
04 00000000`08c2fed0 00007ff8`9fa2bcf7 engine14!Replication::Manager::writer_thread(void * arg = <Value unavailable error>)+0x9 [H:\SNAPSHOTS\Firebird\src\jrd\replication\Manager.h @ 109]
05 (Inline Function) --------`-------- engine14!`anonymous-namespace'::ThreadArgs::run+0x5 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 80]
06 00000000`08c2ff00 00007ff8`d9d90579 engine14!threadStart(void * arg = 0x00000000`0646c3b0)+0x67 [H:\SNAPSHOTS\Firebird\src\common\ThreadStart.cpp @ 97]
07 00000000`08c2ff30 00007ff8`dbea2784 ucrtbase!wcstombs_s_l+0xe9
08 00000000`08c2ff60 00007ff8`dd0a0d51 kernel32!BaseThreadInitThunk+0x14
09 00000000`08c2ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x21
0:004> q
quit:
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\atlmfc.natvis'
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\concurrency.natvis'
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\cpp_rest.natvis'
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\stl.natvis'
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\Windows.Data.Json.natvis'
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\Windows.Devices.Geolocation.natvis'
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\Windows.Devices.Sensors.natvis'
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\Windows.Media.natvis'
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\windows.natvis'
NatVis script unloaded from 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Visualizers\winrt.natvis'

Generated 18.05.2026  4:26:41.35 by "F:\FBQA\rundaily-2026\watch4dumps\watch4dumps-win.bat" on host: HOME-AUX2
Command: "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe" -z "F:\temp\fbdumps\firebird.exe.17188.dmp" -y "F:\FBQA\rundaily-2026\unpacked-snapshot.tmp\FB60;F:\FBQA\rundaily-2026\unpacked-snapshot.tmp\FB60\plugins" -cf "F:\FBQA\rundaily-2026\watch4dumps\logs\watch4dumps-win.cdb_commands.20260518042633.txt" -lines -logo "F:\FBQA\rundaily-2026\watch4dumps\logs\20260518_040750_235.WI-T6_0_0_1955.17188.txt" 1>nul 2>F:\FBQA\rundaily-2026\watch4dumps\logs\watch4dumps-win.err
CDB scenario (file "F:\FBQA\rundaily-2026\watch4dumps\logs\watch4dumps-win.cdb_commands.20260518042633.txt"):
============
$$ https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/k--kb--kc--kd--kp--kp--kv--display-stack-backtrace-
lm
~*kpn 0xFFFF
q
============
