Hi *,

I've had quite a few occurrences of transaction being stuck on Firebird
2.5.6 in last 7 days. Even trying to close the connection from
monitoring tables was not working. I had to kill the process.

I was able to take a dump (actually 2, from different processes), but
given it's a production system with real data, I would rather not upload
it publicly. It's 2.5.6.27020, 64bit, Classic. It happened in 2.5.5 as
well. Bellow are the call stacks of threads in fb_inet_server (with PDB
for Firebird loaded). 

I suppose the first thread here is the key. Looks like it's spinning in
"while (owner->own_ast_count)" forever (at least couple of hours before
I found out, because of a lot of deadlock timeouts in SQL).

Anybody interested in the dumps?

ntdll.dll!00007ffbe6a7151a()     
KERNELBASE.dll!00007ffbe3f5121a()        
fb_inet_server.exe!Jrd::LockManager::shutdownOwner(Jrd::thread_db *
tdbb, long * owner_offset) Line 450  
fb_inet_server.exe!shutdown_database(Jrd::Database * dbb, const bool
release_pools) Line 5950    
fb_inet_server.exe!purge_attachment(Jrd::thread_db * tdbb,
Jrd::Attachment * attachment, const bool force_flag) Line 6391        
fb_inet_server.exe!jrd8_detach_database(__int64 * user_status,
Jrd::Attachment * * handle) Line 2459     
fb_inet_server.exe!detach_or_drop_database(__int64 * user_status,
unsigned int * handle, const int proc, const __int64 specCode) Line 2262 
fb_inet_server.exe!EDS::IscConnection::doDetach(Jrd::thread_db * tdbb)
Line 189  
fb_inet_server.exe!EDS::Connection::detach(Jrd::thread_db * tdbb) Line
524       
fb_inet_server.exe!EDS::Connection::deleteConnection(Jrd::thread_db *
tdbb, EDS::Connection * conn) Line 310     
fb_inet_server.exe!EDS::Provider::releaseConnection(Jrd::thread_db *
tdbb, EDS::Connection & conn, bool __formal) Line 249       
fb_inet_server.exe!EDS::Connection::deleteTransaction(EDS::Transaction *
tran) Line 413  
fb_inet_server.exe!EDS::Transaction::commit(Jrd::thread_db * tdbb, bool
retain) Line 670         
fb_inet_server.exe!EDS::Transaction::jrdTransactionEnd(Jrd::thread_db *
tdbb, Jrd::jrd_tra * transaction, bool commit, bool retain, bool force)
Line 765         
fb_inet_server.exe!TRA_commit(Jrd::thread_db * tdbb, Jrd::jrd_tra *
transaction, const bool retaining_flag) Line 418     
fb_inet_server.exe!commit(Jrd::thread_db * tdbb, Jrd::jrd_tra *
transaction, const bool retaining_flag) Line 4595        
fb_inet_server.exe!JRD_commit_transaction(Jrd::thread_db * tdbb,
Jrd::jrd_tra * * transaction) Line 7034         
fb_inet_server.exe!jrd8_commit_transaction(__int64 * user_status,
Jrd::jrd_tra * * tra_handle) Line 1801         
fb_inet_server.exe!isc_commit_transaction(__int64 * user_status,
unsigned int * tra_handle) Line 1749    
fb_inet_server.exe!rem_port::end_transaction(P_OP operation, p_rlse *
release, packet * sendL) Line 2107         
fb_inet_server.exe!process_packet(rem_port * port, packet * sendL,
packet * receive, rem_port * * result) Line 3442      
fb_inet_server.exe!loopThread(void * __formal) Line 5266         
fb_inet_server.exe!`anonymous namespace'::threadStart(void * arg) Line
139       
msvcr80.dll!0000000068b437d7()   
msvcr80.dll!0000000068b43894()   
kernel32.dll!00007ffbe68a13d2()  
ntdll.dll!00007ffbe69f5454()     

ntdll.dll!00007ffbe6a7121a()     
KERNELBASE.dll!00007ffbe3f51118()        
fb_inet_server.exe!Jrd::ConfigStorage::touchThreadFunc() Line 352        
fb_inet_server.exe!Jrd::ConfigStorage::touchThread(void * arg) Line 339  
fb_inet_server.exe!`anonymous namespace'::threadStart(void * arg) Line
139       
msvcr80.dll!0000000068b437d7()   
msvcr80.dll!0000000068b43894()   
kernel32.dll!00007ffbe68a13d2()  
ntdll.dll!00007ffbe69f5454()     

ntdll.dll!00007ffbe6a7121a()     
KERNELBASE.dll!00007ffbe3f51118()        
fb_inet_server.exe!ISC_event_wait(event_t * event, const long value,
const long micro_seconds) Line 2012         
fb_inet_server.exe!Jrd::LockManager::blocking_action_thread() Line 1581  
fb_inet_server.exe!Jrd::LockManager::blocking_action_thread(void * arg)
Line 469         
fb_inet_server.exe!`anonymous namespace'::threadStart(void * arg) Line
139       
msvcr80.dll!0000000068b437d7()   
msvcr80.dll!0000000068b43894()   
kernel32.dll!00007ffbe68a13d2()  
ntdll.dll!00007ffbe69f5454()     

ntdll.dll!00007ffbe6a7121a()     
KERNELBASE.dll!00007ffbe3f51118()        
fb_inet_server.exe!ISC_event_wait(event_t * event, const long value,
const long micro_seconds) Line 2012         
fb_inet_server.exe!Jrd::LockManager::blocking_action_thread() Line 1581  
fb_inet_server.exe!Jrd::LockManager::blocking_action_thread(void * arg)
Line 469         
fb_inet_server.exe!`anonymous namespace'::threadStart(void * arg) Line
139       
msvcr80.dll!0000000068b437d7()   
msvcr80.dll!0000000068b43894()   
kernel32.dll!00007ffbe68a13d2()  
ntdll.dll!00007ffbe69f5454()     

ntdll.dll!00007ffbe6a7121a()     
KERNELBASE.dll!00007ffbe3f51118()        
fb_inet_server.exe!ISC_event_wait(event_t * event, const long value,
const long micro_seconds) Line 2012         
fb_inet_server.exe!Jrd::LockManager::blocking_action_thread() Line 1581  
fb_inet_server.exe!Jrd::LockManager::blocking_action_thread(void * arg)
Line 469         
fb_inet_server.exe!`anonymous namespace'::threadStart(void * arg) Line
139       
msvcr80.dll!0000000068b437d7()   
msvcr80.dll!0000000068b43894()   
kernel32.dll!00007ffbe68a13d2()  
ntdll.dll!00007ffbe69f5454()     

ntdll.dll!00007ffbe6a7121a()     
ntdll.dll!00007ffbe6a1d899()     
ntdll.dll!00007ffbe6a1b264()     
fb_inet_server.exe!Firebird::PublicHandleHolder::hold(Firebird::PublicHandle
* handle, const char * from) Line 109       
fb_inet_server.exe!`anonymous
namespace'::AttachmentHolder::validateHandle(Jrd::thread_db * tdbb,
Jrd::Attachment * const attachment, const char * from) Line 318        
fb_inet_server.exe!jrd8_detach_database(__int64 * user_status,
Jrd::Attachment * * handle) Line 2449     
fb_inet_server.exe!fb_ping(__int64 * user_status, unsigned int *
db_handle) Line 6083    
fb_inet_server.exe!`anonymous namespace'::attachmentShutdownThread(void
* arg) Line 7396         
fb_inet_server.exe!`anonymous namespace'::threadStart(void * arg) Line
139       
msvcr80.dll!0000000068b437d7()   
msvcr80.dll!0000000068b43894()   
kernel32.dll!00007ffbe68a13d2()  
ntdll.dll!00007ffbe69f5454()     

-- 
Mgr. Jiří Činčura
Independent IT Specialist

------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to