On 05/03/11 13:34, Antti Nivala wrote:
> (Reposting, because the HTML message was distorted in the archives.)
>
> Hi,
>
> Does the following look like a Firebird 2.1.4 bug, or are we doing
> something wrong?
>
> We are upgrading from Firebird 2.1.2.18118 to Firebird 2.1.4.18393. We
> use Firebird Embedded in Windows (both 32-bit and 64-bit).
>
> We are encountering a repeatable crash in Firebird 2.1.4.18393 when we
> execute the SQL statement "DROP INDEX IX_LOGIN_TEMP_ACCOUNTNAME_LOWER"
> in our database and commit. The crash occurs during commit. It doesn't
> seem to occur in the 32-bit version but occurs with the 64-bit version.
> It does not occur every time, but in more than 50% of the cases at
> least. For example, when repeating the test 10 times, I typically get
> say 7 crashes and 3 successful runs.
>
> Earlier, the index has been created using the following SQL statement in
> FB 2.1.4, and committed:
> CREATE UNIQUE ASC INDEX IX_LOGIN_TEMP_ACCOUNTNAME_LOWER
> ON LOGIN_TEMP COMPUTED BY ( LOWER( ACCOUNTNAME ) )
>
> The call stack of the crash is as follows (note: fbclient.dll is
> fbembed.dll, just renamed):
>
> Unhandled exception at 0x100b8ec8 in memory.dmp: 0xC0000005: Access
> violation reading location 0xffffffffffffffff.
>
> fbclient.dll!CMP_release
> fbclient.dll!index_block_flush
> fbclient.dll!IDX_delete_index
> fbclient.dll!delete_index
> fbclient.dll!modify_index
> fbclient.dll!DFW_perform_work
> fbclient.dll!TRA_commit
> fbclient.dll!commit
> fbclient.dll!jrd8_commit_transaction
> fbclient.dll!isc_commit_transaction
> fbclient.dll!execute_request
> fbclient.dll!GDS_DSQL_EXECUTE_CPP
> fbclient.dll!dsql8_execute
> fbclient.dll!isc_dsql_execute2_m
> fbclient.dll!isc_dsql_execute2
> IBProv.dll!ib_v5::t_ib_statement_v5::execute
> IBProv.dll!ibp::t_ibp_command::execute
> IBProv.dll!ib_sql_pstmt::t_ib_sql_pstmt_commit::execute_sql
> IBProv.dll!ibp::t_ibp_command_pstmt_data::single_exec
> IBProv.dll!ibp::t_ibp_command_pstmt_data::execute_for_one_param_set
> IBProv.dll!ibp::t_ibp_command_pstmt_data::execute
> IBProv.dll!ibp::TIBPCommand::Execute
> oledb32.dll!CCommandText::Execute
> MFServer.exe!CDBSession::CommitDBTransaction
> MFServer.exe!CDBSession::Commit
> MFServer.exe!CApplication::UpgradeMasterDB_V39
> MFServer.exe!CApplication::UpgradeMasterDB_PerformUpgrade
> MFServer.exe!CApplication::UpgradeMasterDB
> MFServer.exe!CApplication::PrepareMasterDB
> MFServer.exe!CApplication::InitRunningState
> MFServer.exe!CServiceModuleMFServer::OnBeginRunning
> MFServer.exe!CServiceModule::Run
> MFServer.exe!CServiceModule::ServiceMain
> sechost.dll!ScSvcctrlThreadW
> kernel32.dll!BaseThreadInitThunk
> ntdll.dll!RtlUserThreadStart
>
> The same call stack with more details is in the attachment file.
>
> The crash does not occur with Firebird 2.1.2.18118.
>
> But, I have noticed that if I perform backup & restore for the database
> in Firebird 2.1.4.18393, then the crash will not occur. In other words:
>
> This leads to crash:
> - Take the database that was used with Firebird 2.1.2 and perform a
> backup & restore to it with FB 2.1.2
> - Then use Firebird 2.1.4 to create the index, commit, do something
> else, drop the index, and commit => crash
>
> This does NOT lead to crash:
> - Take the database that was used with Firebird 2.1.2 and perform a
> backup & restore to it with FB 2.1.4
> - Then use Firebird 2.1.4 to create the index, commit, do something
> else, drop the index, and commit => crash
>
> It seems that backup & restore in FB 2.1.4. somehow fixes the database,
> which a backup & restore in FB 2.1.2 does not. The original database in
> FB 2.1.2 does not report any errors when validated with FB 2.1.2 or
> 2.1.4.
>
>
> We can work around the problem by adding a backup & restore step in our
> code. But I would like to know if this indicates some sort of bug that
> FB 2.1.4 that 2.1.2 did not have and if we should refrain from using FB
> 2.1.4.
>
Antti, this is almost for sure bug in firebird.
Is it hard to create a minimum reproducible test case for it? Is data in
database required for this bug to happen or metadata is enough?

BTW, backup/restore when changing FB version is anyway good idea.


------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to