Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server crash after kill in EDS manager destructor [CORE5910] #6168

Closed
firebird-automations opened this issue Sep 14, 2018 · 6 comments
Closed

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @romansimakov

To reproduce:
in terminal 1 run:
./isql -u sysdba -p masterkey
create database 'localhost:/tmp/test';
set term ^; execute block as begin execute statement 'execute procedure a;'; end^

after in terminal 2 run:
sudo killall fb_smp_server

stack is:
1 Firebird::RefPtrJrd::Database::Sync\::operator-> RefCounted.h 136 0x7ffff71859a0
2 EDS::EngineCallbackGuard::init ExtDS.cpp 1654 0x7ffff73fd6fb
3 EDS::EngineCallbackGuard::EngineCallbackGuard ExtDS.h 467 0x7ffff740492c
4 EDS::InternalStatement::doClose InternalDS.cpp 509 0x7ffff7403688
5 EDS::Statement::deallocate ExtDS.cpp 1046 0x7ffff73fafde
6 EDS::Statement::deleteStatement ExtDS.cpp 865 0x7ffff73fa4a4
7 EDS::Connection::clearStatements ExtDS.cpp 504 0x7ffff73f8f42
8 EDS::Connection::detach ExtDS.cpp 522 0x7ffff73f8fcf
9 EDS::Connection::deleteConnection ExtDS.cpp 318 0x7ffff73f82d6
10 EDS::Provider::clearConnections ExtDS.cpp 272 0x7ffff73f7f1a
11 EDS::Manager::~Manager ExtDS.cpp 72 0x7ffff73f7110
12 Firebird::GlobalPtr<EDS::Manager, (Firebird::InstanceControl::DtorPriority)2>::dtor init.h 121 0x7ffff7401751
13 Firebird::InstanceControl::InstanceLink<Firebird::GlobalPtr<EDS::Manager, (Firebird::InstanceControl::DtorPriority)2>, (Firebird::InstanceControl::DtorPriority)2>::dtor init.h 97 0x7ffff7401721
14 Firebird::InstanceControl::InstanceList::destructors init.cpp 199 0x7ffff75efc02
15 Firebird::InstanceControl::destructors init.cpp 180 0x7ffff75efb53
16 (anonymous namespace)::allClean init.cpp 61 0x7ffff75ef96c
17 (anonymous namespace)::Cleanup::~Cleanup init.cpp 89 0x7ffff75ef9bd
18 __cxa_finalize cxa_finalize.c 83 0x7ffff5780615
19 __do_global_dtors_aux 0x7ffff7123e63
20 ?? 0x7fffffffe300
21 _dl_fini dl-fini.c 138 0x7ffff7de5b73

In frame 11 in ~Manager we create tdbb with database = NULL. In frame 2 we try to dereference it and crash.

Commits: edcb162

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Should be fixed now, check next snapshot build, please

@firebird-automations
Copy link
Collaborator Author

Commented by: @romansimakov

Yes. It looks working. Thanks.

@firebird-automations
Copy link
Collaborator Author

Modified by: @romansimakov

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 2.5.9 [ 10862 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: No test => Cannot be tested

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Closed [ 6 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants