Subject RE: [firebird-support] Re: firebird database base crashing windows server
Author Helen Borrie
I wrote:

>Also, since nobody else mentioned it so far, make sure that the database is not being accessed via a mapped drive or a network share. Its file path *must* be a "raw" path to a location on a disk that is physically attached to the Firebird server's host machine.

At 05:51 PM 30/12/2009, Bob Acheson wrote:

>>The application is on drive D (what they wanted) and mapped as drive M (also as per the vendor), when you say raw, do you mean as UNC?

No. I said "make sure that the database is not being accessed via a mapped drive or a network share". By "raw path" I mean the file path *as seen by the host*, i.e., a path using DRIVE D and NOT NOT NOT Drive M.

Double-check with the vendor. I mean REALLY pin someone down. This will not work.

FYI, the Firebird client does not support UNC paths. Some people might (wrongly) think it does, because Windows Named Pipes (a.k.a. NetBEUI), a deprecated and noisy transport that is available for connecting to Firebird on Windows servers, uses a syntax that looks similar.

But Named Pipes (if that is the transport being used, and not TCP/IP) does not support paths to mapped drives either. However, we can't tell much about what's going on because you have been incredibly vague about these message boxes that the application is throwing at you.

>NB, you're not helping yourself by declining suggestions to look in firebird.log (in Firebird's root directory).
>> From firebird.log - started at 15:01:19 and threw an error window on the screen every second until the time below then froze.
> EQUIVET (Client) Sun Dec 20 17:06:25 2009
> INET/inet_error: send errno = 10054

From your years of experience with networks, then, you will know that this is Windows' error code for "Connection reset by peer" (WSAECONNRESET). There could be any of several reasons for it but in this example it probably occurred when you rebooted the host while the client was still attempting to connect.

Firebird did not throw any error windows: it doesn't because it can't. It is not an interactive application.

Have you thought about writing down the exact text that your application is displaying in this looping error dialog box? I don't mean screen capture (because you can't post graphics here). If you can't write fast enough, copy the text from a screen capture...??? It might not mean a lot to anyone who doesn't use that application but the vendor support people should be able to interpret it for you.

>> It's cool if it threw up an error window, but this one doesn't stop even when the network reconnected (drop-outs are usually so quick it doesn't even show up in the event log.) I have seen only one 5 second drop-out in the event log since this issue began.

I doubt this has anything to do with "network dropouts". The server is kicking the client here, which is "as designed" if the application is trying to connect to a database via a mapped drive.

I'm not suggesting this is your doing....but I don't think you're going to make much headway until you get the vendor's technical people to listen to you.