Subject RE: [firebird-support] Firebird Crashes creating strored procedures dynamicly ?
Author Alan McDonald
> Hi
>
> We have used interbase and firebird for a couple of years in our
> application
> and so far it has run very well. One of the software modules we
> are working
> on now though is crashing Firebird 1.5 Final on windows often(other
> platforms arnt tested yet).
>
> Once these crashes have occured the database will often show index and
> database page errors upon validation. Once this has occured crashes can
> occur very reproducably. We have seen that a backup and restore
> can be done
> and produces a database which shows no errors uppon validation
> and then the
> database appears to run OK until the next crash.
>
> One significant way in which this software module varies from
> others in the
> application is that it uses fairly complicated stored procedures
> and creates
> them dynamicly - while other threads also create stored procedures and
> read/write to the database perhaps using them.

so you are aware that creating an SP dynamically and expecting to use it
without properly disconnecting and reconnecting is a recipe for corruption?
We are speaking about making changes to metadata here which is not visible
to other transactions...
Alan

>
> The application uses jaybird and currently we use a transaction isolation
> level isc_tpb_consistency. Each seperate transaction uses stored
> procedures
> either created in its context or by a previous transaction that
> has already
> commited. If the same stored procedure happens to be required by two
> concurrent transactions then it is created twice. The intention
> is that this
> will be cleaned up later.

how do you expect to create the same procedure twice? how will the second
one ever avoid raising an exception when it attempts to be committed?

>

I'm not surprised at all that you get crashing and corruptions - you need to
re-think how you're doing this
Alan