Subject | Re: [firebird-support] v1.52 Abnormal Termination bug? |
---|---|
Author | Helen Borrie |
Post date | 2005-06-08T15:21:19Z |
At 01:39 PM 8/06/2005 +0000, you wrote:
trigger; and a bad context reference in an after insert trigger should at
most cause an exception, not crash the server.
What's the data type of contact_id? Is it potentially longer than 62 bytes?
I'm more inclined to suspect maybe a deeper bug, in the callback mechanism
itself. POST_EVENT obviously isn't a lot of use if you make up its string
on the fly. The idea of events is for client apps to *know* what the event
identifiers are and to listen for them. Your attempt to "enhance" the
event by adding run-time data to it should be trapped somehow (but
apparently isn't), even if it is just swallowed.
No exception should crash the server. Please prepare a reproducible test
case and offer it initially in firebird-devel. Make sure you are explicit
about the version[s] of both server and client that were involved.
./heLen
>Whilst debugging my app, I noticed that Firebird v1.52 SS kept== or just after inserts?
>abnormally terminating. I tracked it down to a recent trigger I'd added:
>
>CREATE TRIGGER CONTACTS_CHANGED FOR CONTACTS ACTIVE AFTER INSERT OR
>UPDATE OR DELETE POSITION 1 AS
>begin
> POST_EVENT 'CONTACT_CHANGED_' || old.contact_id;
>end
>
>Everytime
>this executed, the Firebird server terminated. It was myIt's quite valid to refer to old.thingie in an after update or after delete
>mistake to refer to 'old.contact_id' in a trigger that is called after
>an insert, but I'm surprised Firebird crashed.
trigger; and a bad context reference in an after insert trigger should at
most cause an exception, not crash the server.
What's the data type of contact_id? Is it potentially longer than 62 bytes?
I'm more inclined to suspect maybe a deeper bug, in the callback mechanism
itself. POST_EVENT obviously isn't a lot of use if you make up its string
on the fly. The idea of events is for client apps to *know* what the event
identifiers are and to listen for them. Your attempt to "enhance" the
event by adding run-time data to it should be trapped somehow (but
apparently isn't), even if it is just swallowed.
No exception should crash the server. Please prepare a reproducible test
case and offer it initially in firebird-devel. Make sure you are explicit
about the version[s] of both server and client that were involved.
./heLen