Weirdness with 2.2.0rc

Hmm… Well, anyway, I can now confirm that the problems start when one of the two servers or connections crashes unexpectedly, so the other server is left without notice of the disconnect. Then, restarting both servers fixes it again. I hope that helps to find a solution.

I really hate to keep bugging, but could I please get some kind of status update on this problem? Gato? Hello?

Hey djholt,

Sorry for the late reply. The problem has not been solved yet and as you can see in url=http://www.xmpp.org/xmppbis.html#ackthis link[/url] there won’'t be a standardized solution anytime soon. That means that we will have to come up with a custom solution which will most probably not work with other servers except for JM. BTW, have you tried decreasing the idle timeout in the Server-to-Server page? Decreasing the idle timeout value may help the server clean up unused or broken connections sooner.

Thanks,

– Gato

Gato, thanks for the reply. I really appreciate your help with this problem. I have not yet played with the timeout settings, so I will try setting this to a low value and see if it helps. Also, is my problem related to this problem in any way: http://www.jivesoftware.org/community/thread.jspa?threadID=15916&tstart=15 ?

Hey djholt,

I don’'t think that your problem is related to that one. Anyway, many problems have been fixed lately regarding s2s so you may want to try using the latest nightly build since you may be having other s2s issues as well. Today I fixed an important issue so try using the next nightly build.

Thanks,

– Gato

Well, I tried the Alpha release with the 2005-09-26 nightly build, and it seems the initial problem I was having, or something very similar to it, is occuring once again. The problem is that remote server-to-server contacts are not functioning properly (very limited functionality one direction, and no functionality the other direction). The problem I initially had was caused by my subdomain setup. Could this be the cause of this problem as well? If not, I’'ll troubleshoot further. Thanks again!

Hey djholt,

Sorry to hear that you are having problems again with s2s. Could you give us more information so we can try to reproduce the problem? Remember to turn on the debug log and post the obtained information.

Thanks,

– Gato

Gato,

The problem I am now having is almost identical to my initial server-to-server problems, caused by my subdomain setup. The connection is only being established one direction, from ryan.cloakedhunter.com to cloakedhunter.com, and not the other direction. Therefore, I can send messages and authorization requests from ryan.cloakedhunter.com to cloakedhunter.com, but not from cloakedhunter.com to ryan.cloakedhunter.com. The following repeats in my debug log while experiencing the problem:

2005.10.03 11:36:59 OS - Going to try connecting using server dialback

2005.10.03 11:36:59 OS - Trying to connect to ryan.cloakedhunter.com:5269

2005.10.03 11:37:03 OS - Connection to ryan.cloakedhunter.com:5269 successful

2005.10.03 11:37:07 OS - Sent dialback key to host: ryan.cloakedhunter.com id: 7d2c81ca from domain: cloakedhunter.com

2005.10.03 11:37:17 OS - Unexpected answer in validation from: ryan.cloakedhunter.com id: 7d2c81ca for domain: cloakedhunter.com answer:

java.lang.Exception: Failed to create connection to remote server

at org.jivesoftware.messenger.server.OutgoingSessionPromise.createSessionAndSendPa cket(OutgoingSessionPromise.java:136)

at org.jivesoftware.messenger.server.OutgoingSessionPromise.access$300(OutgoingSes sionPromise.java:40)

at org.jivesoftware.messenger.server.OutgoingSessionPromise$1$1.run(OutgoingSessio nPromise.java:94)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Thanks again for your help!

Did that help to find a solution?

Hey djholt,

Today we are going to release JM 2.3.0 beta 1 and before that I want to reproduce and fix this issue. I will update this thread with my findings.

Thanks,

– Gato

Hey djholt,

This time I was not able to reproduce the problem. Could you paste the debug information you see in both servers? Remember that we still have the issue of dead connections that are not detected by the Java Virtual Machine so before doing your test restart both servers to make sure that there isn’'t a dead connection hanging around.

Thanks,

– Gato

Hi Gato,

Just wanted to mention that I’‘m still having some form of nasty s2s problems that are preventing me from switching to Jive. That said, I’‘m going to stay out of this so you don’‘t have a bazillion people talking at you at the same time. =) If things still aren’‘t working after you are done with djholt, I’‘ll see if I can’'t get some more information.

Daniel

Hey Daniel,

Many many s2s problems were fixed after JM 2.3.0 alpha 1 was released. AFAIK, the only remaining problem we have is with undetected dead connections when using a router with NAT. It seems that the TCP layer is not raising any exception so the JVM is not being noticed that the connection is dead even after flushing sent data or waiting to read data from the socket. In a future release we are going to implement an ACK mechanism to get over this.

Try using the latest nightly build and see if the problem you are having still exists. If you are still having an issue please post it in a new thread so I can add it to the bug tracking tool and fix it.

Thanks,

– Gato

Sorry, I meant to say that I did try the latest nightly build as of 3 nights ago. Would it be different now? It ends up being the same type deal . . . here’‘s the two scenarios. Keep in mild the important point of, I start up my gateways (ICQ, AIM, etc) after the main server is started. Also, I don’‘t always have them running. And in fact, I am subscribed to a couple of gateways that don’'t even exist anymore. =)

  1. User A is a fresh user, newly created, has not registered with any gateways, can talk to the outside world just dandy, everything works great

  2. User B is imported, is registered with lots of stuff, some doesn’‘t even exist anymore, can’‘t seem to talk to anything that’‘s in the outside world. connections -do- get started, (ie, i can see them under server sessions) but apparantly i can’‘t communicate over them good example is that i can’'t connect to a conference room at pytransports@conference.jabber.modevia.com whereas my server is jabber.vorpalcloud.org

  3. user C is a fresh user, newly created, is good to go, registers for a local gateway (we’‘ll say AIM) I kill the gateway, and user is hosed to talk to the outside world at that point what I can’'t remember here is if i have to log out and back in to see it fail, or if it fails immediately

Hey Daniel,

I think that the problem you are describing has been fixed with this issue JM-416. However, since you already tried with a recent night build and the problem is still there I will need you to post any error you see in the log files (warn, debug, error, etc.) together with a step-by-step description of how to reproduce the problem.

Thanks,

– Gato

Ok do I need to post that here or do you have another thread you would like me to post it in? (or start a new one)

This thread is already too big. You can create a new one for this specific problem. BTW, remember to enable the debug log to collect more information.

Thanks,

– Gato

Uhm . . . Gato? I don’‘t know what “happened”, but everything appears to be working dandy at the moment. All that’‘s different is that I pulled the official beta release of 2.3.0 instead of pulling a daily build. Maybe the problem was fixed in that brief time between the two? I don’‘t know. All I can say is that it’‘s working now, and yay. =) I’'ll create a new thread if something goes wrong. But yes, 2.3.0 beta 1 is working like a charm!

As a minor bug report though, I am using a mysql backend (don’‘t know if that’'s related to the bug) and when I deleted a test user I had created, and recreated the same account, it was apparent that the roster was never deleted, because I logged in and had an entire roster to deal with. =)