Adium Failing to Disconnect (2.3.0)

Hey all, I’‘m not sure how many of you use Adium, but since the 2.3.0 upgrade, I’'ve been having some strangeness ocurring. If I start Adium everything works just fine. However, if I try to intentinally disconnect from my jabber server, it fails to disconnect and I get the following error message.

– snip –

2005.11.20 02:01:20 Stream error detected. Session: org.jivesoftware.messenger.ClientSession@b6f7f5 status: 3 address: myname@myserver.com/Adium id: f33f571d presence:

org.dom4j.DocumentException: Cannot have text content outside of the root document

at org.dom4j.io.XPPPacketReader.parseDocument(XPPPacketReader.java:365)

at org.jivesoftware.messenger.net.SocketReader.readStream(SocketReader.java:166)

at org.jivesoftware.messenger.net.SocketReader.run(SocketReader.java:115)

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

– end snip –

Anyone else seeing this?

It only seems to happen when I use TLS. When using the old-style SSL, everything works fine.

That seems to be saying that it’'s sending a presence packet after closing the session XML document. Can you verify this through Adium debug logs in some way?

Regards,

Matt

Matt,

Right when I disconnect, the following logs are produced by Adium .87b3.

– snip –

(Libgaim: accounts) Writing accounts to disk.

– end snip –

The accounts window shows “Disconnecting” and doesn’'t ever goto “Offline”.

Does this help?

Hey walkchalk,

The message you are seeing in the logs is a warning message. The server will end the connection anyway. I tried to reproduce the problem and I was able to reproduce the warning message only with some clients. But in all my cases the clients were able to finish the connection and allow me to log back in. Therefore, I think that you might have hit an Adium problem. Could you check in the admin console if you still have a session for your user?

Regards,

– Gato

Dombiak,

When I have TLS configured to use port 5222 and I’‘m connected, the Jive admin console shows me as logged in. When I tell Adium to disconnect me, it hangs there and says “Disconnecting” forever. After I click disconnect in Adium, it doesn’‘t yet show any errors in the Jive admin console, but it does still show me as logged in (so it doesn’‘t look like adium is doing something right, at least I don’'t think). However, if I quit Adium while it says “Disconnecting”, I get the following errors.

– Warn Log –

2005.11.22 00:10:14 Stream error detected. Session: org.jivesoftware.messenger.ClientSession@1e5a5dc status: 3 address: myname@ myserver.com/Adium id: e6253c46 presence:

– end Debug Log –

Does that help?

Hi, All

I have exactly the same problem, but with diferent clients: Exodus and Gaim…

[]’'s

Francis

Hi, I’‘m having the same problem here with the following clients that I’'m aware of:

  • Adium

  • GAIM

  • Trillian

  • Exodus

It looks like Adium is actually using the GAIM libraries, which would make sense that both of them have the same problem. Trillian should not be using the same libraries, as it is a commercial product (although, it could be for some reason). I don’‘t believe that Exodus is using the GAIM libraries. From the logs, I can’'t tell any other clients having the same problem.

GAIM doesn’'t hang like Adium, however. In terms of the connection hanging, I believe that to be a Adium bug at least in part. Is there a possibility that when Jive is getting the tag, it is somehow processing that before the first XML element sent in the same packet? Or is it possible that when the XML packet is being parsed by dom4j, it is getting

and parsing the presence packet as the root element, then finding another tag outside of that? According to the Adium log in question, it appears Adium is sending XML in the correct order and both GAIM and Trillian show they send the XML tags in order.

This does not seem to happen every time. I tried with logging on and off with the same Trillian client that has caused the error in the logs and it works fine right now…

I was able to reliably reproduce the problem using GAIM 1.5.0. with TLS on port 5222 If I didn’'t change presence first, it seemed to disconnect properly without an error. The process is this:

  • log on

  • go away

  • go back online (maybe)

  • log off

The GAIM log says:

account: Disconnecting account 010C4398

connection: Disconnecting connection 017C1B00

server: removing NOP

jabber: Sending (ssl):

This kinda looks to me like it could be a problem with: org.dom4j.io.XPPPacketReader. Related to: JM-327 ?

Sorry for the long post, I just wanted to be as thorough as possible.

Hey guys,

In the next nightly build you will find a fix for JM-481. Let me know if the problem has been fixed in all your cases.

Thanks,

– Gato

dombiak,

I’'m running wildfire now and having the same issue

I can confirm that WIldfire server 2.4.0 with Gaim (v. 1.5.1cvs) and using TLS, exhibits the same problem still.

I had a quick look on the issue lists and the bug is not there. Is this fixed in 2.5.0? If not, it certainly should be, since it prevent SSL from being used in any way that a user would accept. I would dispute the “Enterprise Ready” tag if SSL is not working properly.

Do you need a more precise bug report, as I’'m sure I can put together a repeatable test case if required. I also used to work with RSA Security on ther own SSL products, so if I can assist in any way, please lect me know.

I’‘m running 2.5.1 and have the same issue. It seems that it hasn’'t been fixed yet, even though the bug is closed (or it might have resurfaced).