FirebirdSQL / firebird

Firebird server, client and tools
https://firebirdsql.org
1.26k stars 217 forks source link

Crash in TipCache::findStates #8296

Open hvlad opened 3 weeks ago

hvlad commented 3 weeks ago

User reported privately crash of Firebird.

Stack trace of crashed thread ``` #0 0x00007fcb1818e2d6 in load (__m=std::memory_order_relaxed, this=0x50) at /usr/home/firebird/v5.0-release/src/jrd/tpc.cpp:557 #1 Jrd::TipCache::findStates (this=0x7fcb10208840, minNumber=, maxNumber=maxNumber@entry=363379813, mask=mask@entry=4294967255, state=@0x7fc6a32c7d7c: 3) at /usr/home/firebird/v5.0-release/src/jrd/tpc.cpp:557 #2 0x00007fcb18195786 in TPC_find_states (state=@0x7fc6a32c7d7c: 3, mask=4294967255, maxNumber=363379813, minNumber=, tdbb=0x7fc6a32c8488) at /usr/home/firebird/v5.0-release/src/jrd/../jrd/jrd.h:569 #3 transaction_start(Jrd::thread_db*, Jrd::jrd_tra*) () at /usr/home/firebird/v5.0-release/src/jrd/tra.cpp:3698 #4 0x00007fcb181a3100 in TRA_start(Jrd::thread_db*, int, unsigned char const*, Jrd::jrd_tra*) () at /usr/home/firebird/v5.0-release/src/jrd/tra.cpp:1789 #5 0x00007fcb181207cf in Jrd::JProvider::internalAttach(Firebird::CheckStatusWrapper*, char const*, unsigned int, unsigned char const*, Jrd::UserId const*) () at /usr/home/firebird/v5.0-release/src/jrd/../jrd/jrd.h:810 #6 0x00007fcb18121808 in Jrd::JProvider::attachDatabase (this=this@entry=0x7fcb08d59460, user_status=user_status@entry=0x7fc6a32c9100, filename=filename@entry=0x7fc6a32c927c "/u/banco/scherer.fdb", dpb_length=dpb_length@entry=327, dpb=dpb@entry=0x7fcb100b3850 "\001OI") at /usr/home/firebird/v5.0-release/src/jrd/jrd.cpp:1622 #7 0x00007fcb17f8261d in Firebird::IProviderBaseImpl > > > > > >::cloopattachDatabaseDispatcher (self=, status=0x7fc6a32c96a8, fileName=0x7fc6a32c927c "/u/banco/scherer.fdb", dpbLength=327, dpb=0x7fcb100b3850 "\001OI") at /usr/home/firebird/v5.0-release/src/include/firebird/IdlFbInterfaces.h:12253 #8 0x00007fcb21286b82 in attachDatabase (dpb=0x7fcb100b3850 "\001OI", dpbLength=, fileName=0x7fc6a32c927c "/u/banco/scherer.fdb", status=0x7fc6a32c96a0, this=0x7fcb08d59468) at /usr/home/firebird/v5.0-release/src/yvalve/../yvalve/../common/../common/../common/classes/fb_string.h:234 #9 Why::Dispatcher::attachOrCreateDatabase(Firebird::CheckStatusWrapper*, bool, char const*, unsigned int, unsigned char const*) () at /usr/home/firebird/v5.0-release/src/yvalve/why.cpp:6466 #10 0x00007fcb21287000 in Why::Dispatcher::attachDatabase (this=this@entry=0x7fc6bc0174c0, status=status@entry=0x7fc6a32c96a0, filename=filename@entry=0x7fcafdf15c4c "/u/banco/scherer.fdb", dpbLength=dpbLength@entry=327, dpb=dpb@entry=0x7fc731994010 "\001OI") at /usr/home/firebird/v5.0-release/src/yvalve/why.cpp:6376 #11 0x00007fcb2122edbd in Firebird::IProviderBaseImpl > > > > > >::cloopattachDatabaseDispatcher (self=, status=0x7fc6a32c9738, fileName=0x7fcafdf15c4c "/u/banco/scherer.fdb", dpbLength=327, dpb=0x7fc731994010 "\001OI") at /usr/home/firebird/v5.0-release/src/include/firebird/IdlFbInterfaces.h:12253 #12 0x0000000000451a9a in attachDatabase (dpb=, dpbLength=, fileName=, status=, this=) at /usr/home/firebird/v5.0-release/src/include/../common/classes/fb_string.h:234 #13 (anonymous namespace)::DatabaseAuth::accept(packet*, Auth::WriterImplementation*) () at /usr/home/firebird/v5.0-release/src/remote/server/server.cpp:2562 #14 0x0000000000444392 in (anonymous namespace)::ServerAuth::authenticate(packet*, unsigned int) () at /usr/home/firebird/v5.0-release/src/remote/server/server.cpp:631 #15 0x0000000000453935 in attach_database (send=0x7fcb10380158, attach=0x7fcb10380850, operation=op_attach, port=0x7fcaf8b796c0) at /usr/home/firebird/v5.0-release/src/remote/server/server.cpp:2499 #16 process_packet(rem_port*, packet*, packet*, rem_port**) () at /usr/home/firebird/v5.0-release/src/remote/server/server.cpp:5044 #17 0x000000000045619e in loopThread(void*) () at /usr/home/firebird/v5.0-release/src/remote/server/server.cpp:6780 #18 0x0000000000470194 in run (this=) at /usr/home/firebird/v5.0-release/src/common/ThreadStart.cpp:94 #19 threadStart () at /usr/home/firebird/v5.0-release/src/common/ThreadStart.cpp:94 #20 0x00007fcb20417ea5 in start_thread () from /lib64/libpthread.so.0 #21 0x00007fcb20140b0d in clone () from /lib64/libc.so.6 ```