Subject Re: [firebird-support] Problem using UDF on Linux
Author Helen Borrie
At 02:17 PM 1/06/2004 +0700, you wrote:
>Hi,
>I just migrating my firebird server from windows to linux (Redhat 9).
>In windows I have my own UDF (A2000UDF.dll). I've already rebuild it using
>Kylix, and now I have A2000UDF.so on Linux. I installed firebird
>(FirebirdSS-1.5.0.4290-0.i686) on /opt/firebird/ and the 'A2000UDF.so' file
>is already in /opt/firebird/UDF/.
>The problem is when I open database remotely (from WinXP, Win2000, or
>Win98) and select one of my UDF, this error happens:
>"unable to complete network request to host SERVERLIN.
>error writing data to the connection'
>an establihed connection was aborted by the software in your host machine."

This means that the server crashed when the client called the UDF. This is
an alarm bell, even if a subsequent call to the same UDF succeeds. There's
*something* happening out of sequence in the initialisation of that UDF code.

>BUT, if first I connect to any database locally on my linux server and
>select the UDF (which is successfull, so I'm sure it's not about I didn't
>declare it right), THEN connect to it remotely and execute the UDF
>statement, the error didn't happen.
>It seems, before I select the UDF on linux, the other machine will not
>recognize the UDF.
>I don't know why. The UDF file's permission is already set to -r-x-r-x-r-x,
>which means fully read and fully execute for owner, groups, and others.

The only wise thing to do under these circumstances is to compile the UDF
as an application and test it thoroughly in Kylix, with tracing, to find
out what you have there that is throwing an exception at initialisation.

What sort of function is it?

/heLen