Vlad, > 20.04.2016 0:47, Thomas Steinmaurer wrote: > ... >> What else could I provide so that you can investigate the offending >> thread? > > Full memory dump, please.
I'm not that familiar with WinDbg and played around with it. The stack trace of the high CPU thread is, I think: # ChildEBP RetAddr Args to Child 00 0114ed24 0f5de49d 0114ed48 5a7b97e1 017a3b20 msvcr100!_time64+0x17 [f:\dd\vctools\crt_bld\self_x86\crt\src\time64.c @ 62] 01 0114ed84 0f5e20fa 01760023 03ff78fc 00000001 engine12!Jrd::Service::get+0x14d [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\jrd\svc.cpp @ 2303] 02 0114f1a8 0f55ca5e 0114f26c 00000000 00000000 engine12!Jrd::Service::query2+0xbaa [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\jrd\svc.cpp @ 1400] 03 0114f320 0f55ee72 0114f354 00000000 00000000 engine12!Jrd::JService::query+0x10e [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\jrd\jrd.cpp @ 3879] 04 0114f37c 625403e2 007de854 0114f40c 00000000 engine12!Firebird::IServiceBaseImpl<Jrd::JService,Firebird::CheckStatusWrapper,Firebird::IReferenceCountedImpl<Jrd::JService,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Jrd::JService,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IService> > > > >::cloopqueryDispatcher+0x82 [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\include\firebird\idlfbinterfaces.h @ 8901] 05 0114f3d4 625406a2 0114f408 00000000 00000000 fbclient!Why::YService::query+0x82 [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\yvalve\why.cpp @ 5564] 06 0114f430 00410e5c 003839cc 0114f4b0 00000000 fbclient!Firebird::IServiceBaseImpl<Why::YService,Firebird::CheckStatusWrapper,Firebird::IReferenceCountedImpl<Why::YService,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Why::YService,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IService> > > > >::cloopqueryDispatcher+0x82 [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\include\firebird\idlfbinterfaces.h @ 8901] 07 0114f45c 0041d310 0114f4ac 00000000 00000000 firebird!Firebird::IService::query<Firebird::CheckStatusWrapper>+0x4c [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\include\firebird\idlfbinterfaces.h @ 1986] 08 0114fd9c 004253dc 00000054 01768dd0 017688ac firebird!rem_port::info+0x5b0 [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\remote\server\server.cpp @ 3853] 09 0114fe74 00425aba 017688ac 0114fed8 55c7dac0 firebird!process_packet+0x33c [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\remote\server\server.cpp @ 4343] 0a 0114fef0 0043773b 00000008 55c7db30 6318c724 firebird!loopThread+0x18a [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\remote\server\server.cpp @ 5817] 0b 0114ff3c 6318c6de 003a1d00 36916949 6318c724 firebird!threadStart+0x5b [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\common\threadstart.cpp @ 94] 0c 0114ff74 6318c788 6318c724 0114ff94 76257c04 msvcr100!_callthreadstartex+0x1b [f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 314] 0d 0114ff80 76257c04 007e0fd0 76257be0 23baef21 msvcr100!_threadstartex+0x64 [f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 292] 0e 0114ff94 77d4ad1f 007e0fd0 2251dbd4 00000000 kernel32!BaseThreadInitThunk+0x24 0f 0114ffdc 77d4acea ffffffff 77d30214 00000000 ntdll!__RtlUserThreadStart+0x2f 10 0114ffec 00000000 6318c724 007e0fd0 00000000 ntdll!_RtlUserThreadStart+0x1b With the following detailed data for the second line (01) from the stack trace. 01 0114ed84 0f5e20fa engine12!Jrd::Service::get+0x14d [c:\fb30\b3_0_release\prod_r3_0_0\firebird3\src\jrd\svc.cpp @ 2303] @ecx class Jrd::Service * this = 0x01d19acd 0114ed8c unsigned char * buffer = 0x01760023 "select a.*, cast(cast(a.mon$memory_used as double precision) / 1024 as numeric (18,2)) as memory_used_kb, cast(cast(a.mon$memory_used as double precision) / (1024 * 1024) as numeric (18,2)) as memory_used_mb, cast(cast(a.mon$memory_allocated as double precision) / 1024 as numeric (18,2)) as memory_allocated_kb, cast(cast(a.mon$memory_allocated as double precision) / (1024 * 1024) as numeric (18,2)) as memory_allocated_mb, cast(cast(a.mon$max_memory_used as double precision) / 1024 as numeric (18,2)) as max_memory_used_kb, cast(cast(a.mon$max_memory_used as double precision) / (1024 * 1024) as numeric (18,2)) as max_memory_used_mb, cast(cast(a.mon$max_memory_allocated as double precision) / 1024 as numeric (18,2)) as max_memory_allocated_kb, cast(cast(a.mon$max_memory_allocated as double precision) / (1024 * 1024) as numeric (18,2)) as max_memory_allocated_mb from mon$memory_usage a where not a.mon$stat_id in ( select mon$stat_id from mon$attachments where mon$attachment_id = current_connection union all sele" 0114ed90 unsigned short length = 0x78fc 0114ed94 unsigned short flags = 1 0114ed98 unsigned short timeout = 0 0114ed9c unsigned short * return_length = 0x0114ee01 0114ed48 int64 end_time = 0n1461133670 0114ed9c bool flagFirst = true 0114ed50 int64 start_time = 0n1461133434 0114ed68 class Jrd::Service::UnlockGuard guard = class Jrd::Service::UnlockGuard 0114ed58 class Jrd::Service::ExistenceGuard guard = class Jrd::Service::ExistenceGuard After CPU went high on the Firebird side, FB TraceManager locks up upon stopping the trace session. Regards, Thomas ------------------------------------------------------------------------------ Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel