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

Assert in CachedMasterInterface::set [CORE5350] #2063

Closed
firebird-issue-importer opened this issue Sep 17, 2016 · 11 comments
Closed

Assert in CachedMasterInterface::set [CORE5350] #2063

firebird-issue-importer opened this issue Sep 17, 2016 · 11 comments

Comments

@firebird-issue-importer

Submitted by: @ibprovider

1. Start server [debug build, x64]
2. Connect to database
3. Disconnect from database
4. Wait some time (1-2 minutes)
5. Connect to database again

void CachedMasterInterface::set(IMaster* master)
{
fb_assert(master);
fb_assert(!cached); // <-------------- line with problem
cached = master;
}

Stack of crash:
engine12.dll!fb_assert_impl(const char * msg, const char * file, int line, bool do_abort) Line 40 C++
> engine12.dll!Firebird::CachedMasterInterface::set(Firebird::IMaster * master) Line 56 C++
engine12.dll!firebird_plugin(Firebird::IMaster * master) Line 428 C++
fbclient.dll!`anonymous namespace'::PluginSet::loadModule(const `anonymous-namespace'::PluginLoadInfo & info) Line 1091 C++
fbclient.dll!`anonymous namespace'::PluginSet::next(Firebird::CheckStatusWrapper * status) Line 1013 C++
fbclient.dll!`anonymous namespace'::PluginSet::PluginSet(const unsigned int pinterfaceType, const char * const pnamesList, Firebird::IFirebirdConf * const fbConf) Line 928 C++
fbclient.dll!Firebird::PluginManager::getPlugins(Firebird::CheckStatusWrapper * status, unsigned int interfaceType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 1250 C++
fbclient.dll!Firebird::IPluginManagerBaseImpl<Firebird::PluginManager,Firebird::CheckStatusWrapper,Firebird::IVersionedImpl<Firebird::PluginManager,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IPluginManager\ > >::cloopgetPluginsDispatcher(Firebird::IPluginManager * self, Firebird::IStatus * status, unsigned int pluginType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 6464 C++
fbclient.dll!Firebird::IPluginManager::getPluginsFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, unsigned int pluginType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 810 C++
fbclient.dll!Firebird::GetPluginsFirebird::IProvider\::GetPluginsFirebird::IProvider\(const unsigned int interfaceType, Config * const knownConfig, const char * namesList) Line 136 C++
fbclient.dll!Why::Dispatcher::attachOrCreateDatabase(Firebird::CheckStatusWrapper * status, bool createFlag, const char * filename, unsigned int dpbLength, const unsigned char * dpb) Line 5705 C++
fbclient.dll!Why::Dispatcher::attachDatabase(Firebird::CheckStatusWrapper * status, const char * filename, unsigned int dpbLength, const unsigned char * dpb) Line 5625 C++
fbclient.dll!Firebird::IProviderBaseImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::IPluginBaseImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IProvider\ > > > > > >::cloopattachDatabaseDispatcher(Firebird::IProvider * self, Firebird::IStatus * status, const char * fileName, unsigned int dpbLength, const unsigned char * dpb) Line 8995 C++
firebird.exe!Firebird::IProvider::attachDatabaseFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, const char * fileName, unsigned int dpbLength, const unsigned char * dpb) Line 2026 C++
firebird.exe!Auth::SrpServer::authenticate(Firebird::CheckStatusWrapper * status, Firebird::IServerBlock * sb, Firebird::IWriter * writerInterface) Line 138 C++
firebird.exe!Firebird::IServerBaseImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::IAuthImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IPluginBaseImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IServer\ > > > > > > > >::cloopauthenticateDispatcher(Firebird::IServer * self, Firebird::IStatus * status, Firebird::IServerBlock * sBlock, Firebird::IWriter * writerInterface) Line 9753 C++
firebird.exe!Firebird::IServer::authenticateFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, Firebird::IServerBlock * sBlock, Firebird::IWriter * writerInterface) Line 2359 C++
firebird.exe!`anonymous namespace'::ServerAuth::authenticate(packet * send, ServerAuthBase::AuthenticateFlags flags) Line 434 C++
firebird.exe!accept_connection(rem_port * port, p_cnct * connect, packet * send) Line 1785 C++
firebird.exe!process_packet(rem_port * port, packet * sendL, packet * receive, rem_port * * result) Line 4193 C++
firebird.exe!loopThread(void * __formal) Line 5836 C++
firebird.exe!`anonymous namespace'::ThreadArgs::run() Line 78 C++
firebird.exe!threadStart(void * arg) Line 94 C++

Commits: c72cb57 be8a09d

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Sep 17, 2016

Modified by: @ibprovider

description: 1. Start server [debug build, x64]
2. Connect to database
3. Disconnect from database
4. Wait some time (1-2 minutes)
5. Connect to database again

void CachedMasterInterface::set(IMaster* master)
{
fb_assert(master); // <-------------- line with problem
fb_assert(!cached);
cached = master;
}

Stack of crash:
engine12.dll!fb_assert_impl(const char * msg, const char * file, int line, bool do_abort) Line 40 C++
> engine12.dll!Firebird::CachedMasterInterface::set(Firebird::IMaster * master) Line 56 C++
engine12.dll!firebird_plugin(Firebird::IMaster * master) Line 428 C++
fbclient.dll!`anonymous namespace'::PluginSet::loadModule(const `anonymous-namespace'::PluginLoadInfo & info) Line 1091 C++
fbclient.dll!`anonymous namespace'::PluginSet::next(Firebird::CheckStatusWrapper * status) Line 1013 C++
fbclient.dll!`anonymous namespace'::PluginSet::PluginSet(const unsigned int pinterfaceType, const char * const pnamesList, Firebird::IFirebirdConf * const fbConf) Line 928 C++
fbclient.dll!Firebird::PluginManager::getPlugins(Firebird::CheckStatusWrapper * status, unsigned int interfaceType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 1250 C++
fbclient.dll!Firebird::IPluginManagerBaseImpl<Firebird::PluginManager,Firebird::CheckStatusWrapper,Firebird::IVersionedImpl<Firebird::PluginManager,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IPluginManager\ > >::cloopgetPluginsDispatcher(Firebird::IPluginManager * self, Firebird::IStatus * status, unsigned int pluginType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 6464 C++
fbclient.dll!Firebird::IPluginManager::getPluginsFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, unsigned int pluginType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 810 C++
fbclient.dll!Firebird::GetPluginsFirebird::IProvider\::GetPluginsFirebird::IProvider\(const unsigned int interfaceType, Config * const knownConfig, const char * namesList) Line 136 C++
fbclient.dll!Why::Dispatcher::attachOrCreateDatabase(Firebird::CheckStatusWrapper * status, bool createFlag, const char * filename, unsigned int dpbLength, const unsigned char * dpb) Line 5705 C++
fbclient.dll!Why::Dispatcher::attachDatabase(Firebird::CheckStatusWrapper * status, const char * filename, unsigned int dpbLength, const unsigned char * dpb) Line 5625 C++
fbclient.dll!Firebird::IProviderBaseImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::IPluginBaseImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IProvider\ > > > > > >::cloopattachDatabaseDispatcher(Firebird::IProvider * self, Firebird::IStatus * status, const char * fileName, unsigned int dpbLength, const unsigned char * dpb) Line 8995 C++
firebird.exe!Firebird::IProvider::attachDatabaseFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, const char * fileName, unsigned int dpbLength, const unsigned char * dpb) Line 2026 C++
firebird.exe!Auth::SrpServer::authenticate(Firebird::CheckStatusWrapper * status, Firebird::IServerBlock * sb, Firebird::IWriter * writerInterface) Line 138 C++
firebird.exe!Firebird::IServerBaseImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::IAuthImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IPluginBaseImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IServer\ > > > > > > > >::cloopauthenticateDispatcher(Firebird::IServer * self, Firebird::IStatus * status, Firebird::IServerBlock * sBlock, Firebird::IWriter * writerInterface) Line 9753 C++
firebird.exe!Firebird::IServer::authenticateFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, Firebird::IServerBlock * sBlock, Firebird::IWriter * writerInterface) Line 2359 C++
firebird.exe!`anonymous namespace'::ServerAuth::authenticate(packet * send, ServerAuthBase::AuthenticateFlags flags) Line 434 C++
firebird.exe!accept_connection(rem_port * port, p_cnct * connect, packet * send) Line 1785 C++
firebird.exe!process_packet(rem_port * port, packet * sendL, packet * receive, rem_port * * result) Line 4193 C++
firebird.exe!loopThread(void * __formal) Line 5836 C++
firebird.exe!`anonymous namespace'::ThreadArgs::run() Line 78 C++
firebird.exe!threadStart(void * arg) Line 94 C++

=>

1. Start server [debug build, x64]
2. Connect to database
3. Disconnect from database
4. Wait some time (1-2 minutes)
5. Connect to database again

void CachedMasterInterface::set(IMaster* master)
{
fb_assert(master);
fb_assert(!cached); // <-------------- line with problem
cached = master;
}

Stack of crash:
engine12.dll!fb_assert_impl(const char * msg, const char * file, int line, bool do_abort) Line 40 C++
> engine12.dll!Firebird::CachedMasterInterface::set(Firebird::IMaster * master) Line 56 C++
engine12.dll!firebird_plugin(Firebird::IMaster * master) Line 428 C++
fbclient.dll!`anonymous namespace'::PluginSet::loadModule(const `anonymous-namespace'::PluginLoadInfo & info) Line 1091 C++
fbclient.dll!`anonymous namespace'::PluginSet::next(Firebird::CheckStatusWrapper * status) Line 1013 C++
fbclient.dll!`anonymous namespace'::PluginSet::PluginSet(const unsigned int pinterfaceType, const char * const pnamesList, Firebird::IFirebirdConf * const fbConf) Line 928 C++
fbclient.dll!Firebird::PluginManager::getPlugins(Firebird::CheckStatusWrapper * status, unsigned int interfaceType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 1250 C++
fbclient.dll!Firebird::IPluginManagerBaseImpl<Firebird::PluginManager,Firebird::CheckStatusWrapper,Firebird::IVersionedImpl<Firebird::PluginManager,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IPluginManager\ > >::cloopgetPluginsDispatcher(Firebird::IPluginManager * self, Firebird::IStatus * status, unsigned int pluginType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 6464 C++
fbclient.dll!Firebird::IPluginManager::getPluginsFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, unsigned int pluginType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 810 C++
fbclient.dll!Firebird::GetPluginsFirebird::IProvider\::GetPluginsFirebird::IProvider\(const unsigned int interfaceType, Config * const knownConfig, const char * namesList) Line 136 C++
fbclient.dll!Why::Dispatcher::attachOrCreateDatabase(Firebird::CheckStatusWrapper * status, bool createFlag, const char * filename, unsigned int dpbLength, const unsigned char * dpb) Line 5705 C++
fbclient.dll!Why::Dispatcher::attachDatabase(Firebird::CheckStatusWrapper * status, const char * filename, unsigned int dpbLength, const unsigned char * dpb) Line 5625 C++
fbclient.dll!Firebird::IProviderBaseImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::IPluginBaseImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IProvider\ > > > > > >::cloopattachDatabaseDispatcher(Firebird::IProvider * self, Firebird::IStatus * status, const char * fileName, unsigned int dpbLength, const unsigned char * dpb) Line 8995 C++
firebird.exe!Firebird::IProvider::attachDatabaseFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, const char * fileName, unsigned int dpbLength, const unsigned char * dpb) Line 2026 C++
firebird.exe!Auth::SrpServer::authenticate(Firebird::CheckStatusWrapper * status, Firebird::IServerBlock * sb, Firebird::IWriter * writerInterface) Line 138 C++
firebird.exe!Firebird::IServerBaseImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::IAuthImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IPluginBaseImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IServer\ > > > > > > > >::cloopauthenticateDispatcher(Firebird::IServer * self, Firebird::IStatus * status, Firebird::IServerBlock * sBlock, Firebird::IWriter * writerInterface) Line 9753 C++
firebird.exe!Firebird::IServer::authenticateFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, Firebird::IServerBlock * sBlock, Firebird::IWriter * writerInterface) Line 2359 C++
firebird.exe!`anonymous namespace'::ServerAuth::authenticate(packet * send, ServerAuthBase::AuthenticateFlags flags) Line 434 C++
firebird.exe!accept_connection(rem_port * port, p_cnct * connect, packet * send) Line 1785 C++
firebird.exe!process_packet(rem_port * port, packet * sendL, packet * receive, rem_port * * result) Line 4193 C++
firebird.exe!loopThread(void * __formal) Line 5836 C++
firebird.exe!`anonymous namespace'::ThreadArgs::run() Line 78 C++
firebird.exe!threadStart(void * arg) Line 94 C++

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Sep 17, 2016

Commented by: @AlexPeshkoff

Does not reproduce on linux on current B3_0_Release

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Sep 18, 2016

Commented by: @ibprovider

Reproduced on clear source code of FB 3.0.1.32597 [B3_0_Release]

Microsoft Visual Studio Community 2015
Version 14.0.25431.01 Update 3

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Nov 14, 2016

Commented by: @ibprovider

The problem with this assert still exists.

Original source from B3_0_Release, FB 3.0.2.32629, x64, VS2015 build, SuperServer.

1. Connect to database
2. Disconnect to database
3. Wait one minute
- server unmaps the "fb_lock_xxxx" and "fb12_monitor_xxxx" files
4. Wait one minute
- server unmaps the "fb12_trace" file
5. Try to connect to database and get this problem

Watch:
+ master fbclient.dll!0x00007ff9dde25c60 {...} Firebird::IMaster *
+ cached fbclient.dll!0x00007ff9dde25c60 {...} Firebird::IMaster *

Stack:
> engine12.dll!Firebird::CachedMasterInterface::set(Firebird::IMaster * master) Line 55 C++
engine12.dll!firebird_plugin(Firebird::IMaster * master) Line 428 C++
fbclient.dll!`anonymous namespace'::PluginSet::loadModule(const `anonymous-namespace'::PluginLoadInfo & info) Line 948 C++
fbclient.dll!`anonymous namespace'::PluginSet::next(Firebird::CheckStatusWrapper * status) Line 889 C++
fbclient.dll!`anonymous namespace'::PluginSet::PluginSet(unsigned int pinterfaceType, const char * pnamesList, Firebird::IFirebirdConf * fbConf) Line 821 C++
fbclient.dll!Firebird::PluginManager::getPlugins(Firebird::CheckStatusWrapper * status, unsigned int interfaceType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 1080 C++
fbclient.dll!Firebird::IPluginManagerBaseImpl<Firebird::PluginManager,Firebird::CheckStatusWrapper,Firebird::IVersionedImpl<Firebird::PluginManager,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IPluginManager\ > >::cloopgetPluginsDispatcher(Firebird::IPluginManager * self, Firebird::IStatus * status, unsigned int pluginType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 6509 C++
fbclient.dll!Firebird::IPluginManager::getPluginsFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, unsigned int pluginType, const char * namesList, Firebird::IFirebirdConf * firebirdConf) Line 811 C++
fbclient.dll!Firebird::GetPluginsFirebird::IProvider\::GetPluginsFirebird::IProvider\(unsigned int interfaceType, Config * knownConfig, const char * namesList) Line 62 C++
fbclient.dll!Why::Dispatcher::attachOrCreateDatabase(Firebird::CheckStatusWrapper * status, bool createFlag, const char * filename, unsigned int dpbLength, const unsigned char * dpb) Line 5679 C++
fbclient.dll!Why::Dispatcher::attachDatabase(Firebird::CheckStatusWrapper * status, const char * filename, unsigned int dpbLength, const unsigned char * dpb) Line 5612 C++
fbclient.dll!Firebird::IProviderBaseImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::IPluginBaseImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IProvider\ > > > > > >::cloopattachDatabaseDispatcher(Firebird::IProvider * self, Firebird::IStatus * status, const char * fileName, unsigned int dpbLength, const unsigned char * dpb) Line 9040 C++
firebird.exe!Firebird::IProvider::attachDatabaseFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, const char * fileName, unsigned int dpbLength, const unsigned char * dpb) Line 2027 C++
firebird.exe!Auth::SrpServer::authenticate(Firebird::CheckStatusWrapper * status, Firebird::IServerBlock * sb, Firebird::IWriter * writerInterface) Line 138 C++
firebird.exe!Firebird::IServerBaseImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::IAuthImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IPluginBaseImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Auth::SrpServer,Firebird::CheckStatusWrapper,Firebird::InheritFirebird::IServer\ > > > > > > > >::cloopauthenticateDispatcher(Firebird::IServer * self, Firebird::IStatus * status, Firebird::IServerBlock * sBlock, Firebird::IWriter * writerInterface) Line 9798 C++
firebird.exe!Firebird::IServer::authenticateFirebird::CheckStatusWrapper\(Firebird::CheckStatusWrapper * status, Firebird::IServerBlock * sBlock, Firebird::IWriter * writerInterface) Line 2360 C++
firebird.exe!`anonymous namespace'::ServerAuth::authenticate(packet * send, ServerAuthBase::AuthenticateFlags flags) Line 434 C++
firebird.exe!accept_connection(rem_port * port, p_cnct * connect, packet * send) Line 1785 C++
firebird.exe!process_packet(rem_port * port, packet * sendL, packet * receive, rem_port * * result) Line 4191 C++
firebird.exe!loopThread(void * __formal) Line 5834 C++
firebird.exe!`anonymous namespace'::ThreadArgs::run() Line 78 C++
firebird.exe!threadStart(void * arg) Line 94 C++

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Nov 14, 2016

Commented by: @AlexPeshkoff

Confirmed on windows

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Nov 16, 2016

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Nov 16, 2016

Commented by: @ibprovider

With release build (in same scenario - connect/disconnect/pause/connect) I get the "Error occurred during login, please check server firebird.log for details." error.

Tested at FB x64 SuperServer (VS2015 SP3 build).

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Nov 17, 2016

Commented by: @hvlad

Fix is committed, verify please

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Nov 17, 2016

Commented by: @ibprovider

Debug and release binaries (SuperServer x64) now work without these problems.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Nov 17, 2016

Modified by: @hvlad

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

resolution: Fixed [ 1 ]

Fix Version: 4.0 Alpha 1 [ 10731 ]

Fix Version: 3.0.2 [ 10785 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Feb 20, 2017

Modified by: @pavel-zotov

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

QA Status: No test => Cannot be tested

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

Successfully merging a pull request may close this issue.

None yet
2 participants