Hello 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.

Have you had time to look at it?

Unfortunately this now also has happened in a production environment at 
a customer site.

We did quite some testing in the trace area at Firebird 3 Alpha stage 
and I can't remember any troubles there (in hope my memory serves me 
well). So I will move back from Final to Alpha2 in a test environment 
and see what happens.

Thanks,
Thomas

> 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
>



------------------------------------------------------------------------------
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

Reply via email to