From: Larry B. <ba...@te...> - 2003-02-21 13:56:56
|
> Hi, > I'm doing a test progam that use IBEvents with a Firebird Server. I've > two servers on the same network, a Windows 2000 Server and a Linux Red-Hat 8.0 > server. Both are running Firebird 1.02 - Bd-914. > The problem is that I can't register events on the Linux server, but I can > with the Windows server, with the same application. I had this problem myself, and it took a while to figure it out. Basically, you need to have a look at your /etc/hosts file, and make 100% SURE that it is correct. For some obscure reason, the box that I set up to play with that had this problem had the actual hostname listed in the /etc/hosts file, against the loopback address!!! (Yes, it's bizarre, but it's fixed now). make SURE you don't have an incorrect entry here. The entry should look like this: "127.0.0.1 localhost localhost.localdomain" If you do have this misconfigured, what seems to happen is : 1) the client software asks the server to register an event 2) the server looks up the interface relating to the host name, and manages to come back with it's own loopback (127.0.0.1) address, instead of the ip address associated with the interface that the request came in on 3) The server opens a port on it's loopback address, for event delivery 4) The server tells the client to speak to ip 127.0.0.1, on the port number that it opened in step 3 (Which on the client happens to be on the LOCAL machine!) 5) All hell breaks loose, coz the server has an open port that never gets connected to, and the process (in classic server, at least) goes bye bye, waiting for someone to talk to it. The client tries to connect to itself, on the specified port, and more than likely gets told that the connection attempt was rejected. At this point, some internal state in GDS32.dll on the client seems to get messed up, and after this, NOTHING works as it should. I don't know if this is 100% correct, as I haven't had time to check against the sources. It sure looks to me like this is what is happening, though. (If someone could verify this, and If I'm correct, please fill out a bug fix request form). Hope this helps Larry |