Subject Re: [firebird-support] Re: Crashing (Was: Invalid Block Type Encountered)
Author Helen Borrie
At 10:18 PM 23/02/2005 +0000, you wrote:


>--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@t...>
>wrote:
> > What about the Firebird server? Classic? Superserver? both?
>
>As far as I know, there is no server. I just have a PERL XS module
>that I linked to this library:
>
> [root@fedora fb]# ls -sal /usr/lib/libgds*
> 0 lrwxrwxrwx 1 root root 26 Feb 22 05:24
> /usr/lib/libgds.so -> /root/fb/lib/libfbembed.so
> 0 lrwxrwxrwx 1 root root 26 Feb 22 05:24
> /usr/lib/libgds.so.0 -> /root/fb/lib/libfbembed.so
>
>I downloaded:
>
> firebird-1.5.2.4731.tar
>
>and built it.
>
>As far as I know, I see httpd processes and assume that these
>processes are just execute scripts-- no fancy threading.
>
>Maybe if I use rpm it will compile correctly as opposed to just
>running configure with my custom prefix and then make at the command
>line?
>
>Since I just use the embedded library, NPTL shouldn't be an issue...

Correct, NPTL is an issue for Superserver.

It's still unclear what your setup is here. libfbembed.so does not embed a
server (as the Wiundows embedded model does). It is a client
library. Unlike the libfbclient.so, it is capable of connecting directly
to a database and processing engine requests.

This direct-connect stuff on Linux is out of my depth: I never do it
because I never write applications on Linux that are intended for
stand-alone use. It is a red flag to me if you have an application that is
throwing concurrent direct connections at a database. "Invalid Block Type
encountered" is at least signaling that what you are doing is corrupting
the database.

So, if this is the model you want to persevere with, try to capture Ann's
attention - I suggest that you repost the original question but try to
provide a more informative description of your environment setup.

I certainly can't tell whether you have fb_inet_server (the Classic server)
running. Try doing a
ps -aux | grep fb
while you have a client connected. If libfbembed.so is acting as a client,
you should see one fb_inet_server process running.

If it were me, I would get right past this issue of risking the database
being hit with multiple direct connections and make sure that the calls are
each invoking their own server process instance. If that means a clean
install using the FirebirdCS... rpm because you don't know what you've got
there, then that's what I'd recommend. Do it "by the book" until you have a
better understanding of what your apache scripts are actually doing.

./heLen