Hi to all.

 

I use for years a udf lib compiled in delphi (initially only in 32bit
version and last 2years also in 64bit version)

I hadn't any problem until recently when i changed some of Firebird
installations from Superserver (32 or 64 bit) to SuperClassic (also  32 or
64 bit).

 

>From then, i started notice firebird random shutdowns with this message in
log

 

The user defined function:          FICAM_ANSI_GR_UPPERCASE

                   referencing entrypoint:
icam_ansi_gr_uppercase         

                                in module:          ICAM_FB_LIB

                caused the fatal exception: Access violation.

                                The code attempted to access a virtual

                                address without privilege to do so.

                This exception will cause the Firebird server

                to terminate abnormally.

 

The collapse happens some times the same day or never for 1 week. 

Finally i managed to reproduce the problem in my devel. pc BUT ***only*** in
superclassic version of firebird.

I mean that with exactly the same database and queries the SS and Classic
version run fine but SuperClassic breaks down.

>From that, i consider that the implementation of UDF is Ok and the problem
is in Firebird itself

 

More Details:

Problem happens in Firebird 2.5.2.26540 (fb_inet_server) in both 32 and 64
bit only in SuperClassic mode

I tried also snapshot 2.5.3.26715 and the problem is still there

Windows OS: 2003 Server 32bit, 2008 64bit, Windows7 64bit

USD declaration: (return mechanism: by reference)

                DECLARE EXTERNAL FUNCTION FICAM_ANSI_GR_UPPERCASE
CSTRING(8192)

                RETURNS CSTRING(8192) FREE_IT

                ENTRY_POINT 'icam_ansi_gr_uppercase' MODULE_NAME
'ICAM_FB_LIB';

 

Any thoughts or advice? Is the declaration ok for superclassic also?

Is  possible to exist something wrong in the implementation of UDF that
create problem only in super classic mode?

 

 

Thanks in advance

 

A.Kyriakos

Athens, Greece

Reply via email to