Modify

#535 reopened defect

Jabber groupchat join errors with openfire (Already present in chat, etc)

Reported by: anonymous Owned by:
Priority: major Milestone:
Component: BitlBee Version: 1.2.4
Keywords: groupchat join jabber Cc:
IRC client+version: Client-independent Operating System: Linux
OS version/distro: centos 5.2

Description

You will find in attachment the xmlconsole file.

Bug: I can create a groupchat. I see it in 'chat list'. But when I join the groupchat, it's like nothing happen. If I redo the command I have a message like "You have already joined this channel". Indeed, I've joined the channel (or room:) but I cannot see the channel in a dedicated window like a normal IRC /join will do. So people in the chan see me but I can't see them and obviously no public discussions.

Facts:

  • I changed the channel to be &sysadmin to #sysadmin during the chat add process. Doesn't change anything.
  • I tried with pidgin, same issue than with xchat. I joined but I have no windows linked to the chan

Context:

  • Xchat 2.8.6 (compiled)
  • Bitlbee 1.2.4 (compiled)
  • Jabber server is openfire

IRC chat: <TomHome> <wilmer> So other people see you're in the room and you can send msgs to the room, but you don't see any coming in? <TomHome> just a precision I can send /msg to the room but I don't have a xchat tab or window ... it's like the /join does nothing from a xchat point of view

If you need further details, don't hesitate to ask me. I can do further tests.

Attachments (3)

xmlconsole.gz (1.7 KB) - added by anonymous at 2009-10-27T23:50:57Z.
xmlconsole
strace.gz (8.8 KB) - added by anonymous at 2009-10-30T00:03:45Z.
strace for a /join - not sure it's really helpful
irssi_raw_xmlconsole.txt.gz (13.6 KB) - added by david@… at 2010-09-10T01:28:34Z.
raw irssi log with xmlconsole enabled, during an unsuccessful join to an openfire group chat

Download all attachments as: .zip

Change History (39)

comment:1 Changed at 2009-10-27T23:48:19Z by anonymous

In the following xmlconsole, my user is Thomas.

Attachment seems broken I can't attach a file and I can't even add a comment with the xmlconsole content... (HTTP/1.1 500 Internal Server Error and I have the chance to download a gziped 535 file :).

Will see if this comment goes through.

comment:2 Changed at 2009-10-27T23:49:39Z by anonymous

Ok... I bet you have mod_security or something like that. I'll will try to find wilmer's email.

Changed at 2009-10-27T23:50:57Z by anonymous

Attachment: xmlconsole.gz added

xmlconsole

comment:3 Changed at 2009-10-27T23:52:29Z by anonymous

It's working if gziped :) So you will finally find the xmlconsole file in attachment.

Sorry for the noise in the comments.

comment:4 Changed at 2009-10-29T09:41:33Z by wilmer

Hmm, I find it a bit hard to see from this dump what's going on; haven't looked *very* carefully yet though. Nothing obvious, at least.

It'd be easier if I could trace a BitlBee process at the moment this packet comes in:

<presence to="thomas@jabber.domain.tld.au/BitlBee" id="BeeCgkWaGvLeR2773Hf1"
          from="sysadmin@conference.jabber.domain.tld.au/Thomas">
  <x xmlns="http://jabber.org/protocol/muc#user">
    <item jid="thomas@jabber.domain.tld.au/BitlBee" affiliation="none" role="participant"/>
  </x>
</presence>

That's the one that confirms that you're in the room. It has the right JIDs (both room and real). What jabberd's running there again?

comment:5 Changed at 2009-10-29T23:37:36Z by anonymous

<Thomas> account list
<root>  0. jabber, thomas@domain.tld.au (connected)
<root> End of account list
<Thomas> chat list
<root>  0. jabber(thomas@domain.tld.au) sysadmin@conference.jabber.domain.tld.au, #sysadmin
<root> End of chatroom list
**[[Here I've done /j #sysadmin and it joined successfully but no xchat action - no messages - no new window]] 
**[[Then I redo /j #sysadmin and it says that I'm already there ... what is true actually but I want a window :))]]
<root> jabber - Error: Already present in chat `sysadmin@conference.jabber.domain.tld.au'
**[[[Again /j #sysadmin to show it's not random :)]]
<root> jabber - Error: Already present in chat `sysadmin@conference.jabber.domain.tld.au'

Note: I'm using 2 dns names 'jabber.domain.tld.au' who is the actual jabber server and 'conference.jabber.domain.tld.au' (this one actually is not a DNS name seems to be resolve by the jabber server internally).

I will do a strace and a network dump if possible (dunno if it's TLS or not).

comment:6 in reply to:  4 Changed at 2009-10-29T23:42:58Z by anonymous

.. What jabberd's running there again?

openfire-3.6.4

Changed at 2009-10-30T00:03:45Z by anonymous

Attachment: strace.gz added

strace for a /join - not sure it's really helpful

comment:7 in reply to:  5 Changed at 2009-10-30T01:07:24Z by anonymous

It seems SSL so I can't dump the network. If you know an irc client that can dump and save it's jabber dialog, tell me.

It seems now I'm screwed :)

comment:8 Changed at 2009-10-30T01:50:05Z by anonymous

IRSSI works! It does NOT have this issue (centos 5.2 package - irssi 0.8.14 (20090728 1938)).

So it's definitely something linked with the client... The following client doesn't work with bitlbee 1.2.4 for joining a jabber room :

  • xchat 2.8.6 (compiled from source)
  • and pidgin 2.5.2-6.el5 (centos 5.2 package)

comment:9 Changed at 2009-10-30T08:39:01Z by wilmer

Hrmm, on first sight it does look like BitlBee doesn't realize you're joined and doesn't really give any confirmation to the IRC client; apparently irssi can deal with that, although probably it shouldn't.

The strings are all truncated though. Also, strace isn't that useful. Can you give a dump of all IRC traffic instead? In irssi you can write a rawlog file using /rawlog save, for example.

comment:10 Changed at 2009-11-02T00:51:43Z by anonymous

Hey, actually I did it last time but I forgot to check the output because I was surprised that it worked :)

Here is the /join and some weird things like "system message" in the jabber history. I didn't copy and paste the whole history because there's no point for that... If you want the full log file I can send a non anonymised version by email.

<< PRIVMSG &bitlbee :chat list
>> :root!root@localhost PRIVMSG &bitlbee : 0. jabber(Thomas@domain.tld.au) sysadmin@conference.jabber.domain.tld.au, #sysadmin
>> :root!root@localhost PRIVMSG &bitlbee :End of chatroom list
>> :localhost MODE &bitlbee -v ldevantier
<< PING localhost
>> :localhost PONG localhost :localhost
--> lag pong
<< JOIN #sysadmin
>> :root!root@localhost PRIVMSG #sysadmin :System message: From conference server: This room is not anonymous.
>> :TomPidgin_!TomPidgin@jabber.domain.tld.au PRIVMSG #sysadmin :</irony?
>> :TomPidgin_!TomPidgin@jabber.domain.tld.au PRIVMSG #sysadmin :http://www.mydnsconfig.org/ : dunno if it fits your needs

[..]

>> :root!root@localhost PRIVMSG #sysadmin :System message: Message from unknown participant isaac: guys, the statics routes that
 exist on the services blades, do they get automatically put in by cf or what?
>> :root!root@localhost PRIVMSG #sysadmin :System message: Message from unknown participant isaac: i have to remove the one for 
monitor and want to ensure it's not put back in automatically

[..]

>> :TomPidgin_!TomPidgin@jabber.iseek.com.au PRIVMSG #sysadmin :sorry for the noise - I'm trying to get rid of pidgin with somethi
ng else that almost works but not entirely :) 
>> :localhost MODE &bitlbee +v lachlan
<< PING localhost
>> :localhost PONG localhost :localhost
--> lag pong

[..]

comment:11 Changed at 2010-05-11T22:08:37Z by wilmer

Resolution: moreinfo
Status: newclosed

Looks like I lost track of this completely, and it looks like you won't get a notification of any updates here. :-(

If you're still seeing this problem and would still like to help with fixing it, please reopen.

comment:12 Changed at 2010-09-09T04:19:18Z by anonymous

Resolution: moreinfo
Status: closedreopened

I'm seeing this problem, also with openfire, IRC client is Quassel. What info do you need to troubleshoot further?

comment:13 Changed at 2010-09-09T17:27:26Z by david@…

Adding my email.

Changed at 2010-09-10T01:28:34Z by david@…

Attachment: irssi_raw_xmlconsole.txt.gz added

raw irssi log with xmlconsole enabled, during an unsuccessful join to an openfire group chat

comment:14 Changed at 2011-04-12T14:24:07Z by Brandon Hume

I'm also seeing this issue with EPIC irc client running on Solaris against bitlbee also running on the same platform. irssi works fine, but EPIC, which is IRCII-based, as well as (laugh!) MS Comic Chat get confused.

I also notice that irssi does *not* auto-join &bitlbee.

I think the other clients might be maintaining some kind of state within themselves that indicates what channels they've already joined. Trussing (stracing) EPIC against a normal IRC server indicates that a /join #channel for a channel I'm already on but not actively speaking to just changes the context of the client, there's no JOIN command given to the server. The client already knows I'm on that channel.

This doesn't occur with Bitlbee... somehow, the clients don't know that they've already joined the channel, and so they re-issue the join command and cause the error.

comment:15 Changed at 2011-04-12T15:44:20Z by Brandon Hume

Bitlbee doesn't behave the same way when joining a jabber groupchat as when joining a regular channel. There's a number of lines missing.

JOIN #testchan

:Hurricanehume@shumira.ucis.dal.ca JOIN :#testchan

:den.bofh.ca MODE #testchan +t

:den.bofh.ca 353 Hurricane = #testchan :@Hurricane @root

:den.bofh.ca 366 Hurricane #testchan :End of /NAMES list

Compared to:

JOIN #jabber-chat

:rootroot@den.bofh.ca PRIVMSG #dal-it :From conference server: This room is not anonymous.

comment:16 in reply to:  15 Changed at 2011-04-12T16:10:47Z by Brandon hume

Uh... I hosed some of the variables there, but the idea is the same.

JOIN #jabber-chat

:rootroot@den.bofh.ca PRIVMSG #jabber-chat :From conference server: This room is not anonymous.

I'll just accept the spam, I guess. :)

comment:17 Changed at 2011-04-18T12:36:48Z by wilmer

Ah yes, this looks like the same issue. You send the join and it all works except the join confirmation somehow isn't recognised by BitlBee.

Which room is this, and is it public so I can try it?

David/BlueAidan: Whoa, I didn't see your xmlconsole dump so far but this may actually also be useful. You double-gzipped it BTW, that was a bit confusing. :-) I'll take a closer look at this in a bit.

comment:18 Changed at 2011-04-23T08:03:26Z by dennis

I have the same problem with an openfire server + bitlbee + xchat. I can give you an account on a public instance, please contact me for the details (JID: dennis#kaarsemaker.net)

comment:19 Changed at 2011-06-03T20:52:28Z by dholm

The problem is in irc_commands.c in irc_cmd_join():

                if( ic->f->join && !ic->f->join( ic ) )
                        /* The story is: FALSE either means the handler
                           showed an error message, or is doing some work
                           before the join should be confirmed. (In the
                           latter case, the caller should take care of that
                           confirmation.) TRUE means all's good, let the
                           user join the channel right away. */
                        goto next;

When joining a Jabber conference room, it does not immediately call irc_channel_add_user() to notify your IRC client that you are now in the channel. The "handler" must do some processing first to validate that you can join, but never sends the confirmation to the client like that comment says it should.

comment:20 Changed at 2011-06-03T20:58:26Z by wilmer

That's intended behaviour. It won't acknowledge the join until the Jabber server does.

With most Jabber servers this happens and within a second the JOIN comes back from BitlBee.

comment:21 Changed at 2012-05-21T20:46:48Z by tweitzel

Is it possible to get an account setting flag for broken jabber conference servers that don't send join acknowledgements?

comment:22 Changed at 2012-05-21T20:49:00Z by wilmer

Yup, definitely possible. But before doing that I want to be sure that the ack indeed does not arrive, and not that it arrives in a way that BitlBee can't handle properly.

comment:23 Changed at 2012-05-22T01:59:32Z by tweitzel

I can see about getting a test jabber server that exhibits the problem set up for you if that will help.

comment:24 Changed at 2012-06-03T20:28:21Z by wilmer

Oh yes, I'm pretty sure that'd help.

comment:25 Changed at 2012-06-19T23:55:41Z by tweitzel

So in my efforts to stand up a test server, I found that I must really like the taste of crow. My issue was that my JID and login were different. Once I made them match, I was able to join channels.

I occasionally see an issue where I can't join a channel because it's connected with another resource at the same time, but I'm pretty sure that's an Openfire thing, not a Bitlbee thing.

Sorry to get everyone's hopes up. Make sure you check your JID!

comment:26 Changed at 2012-07-30T15:24:57Z by anonymous

I believe I have this problem on irssi now. It's just started happening in the last couple of days, I've no idea what is causing it. Basically it looks like I'm connected, but nothing shows up in the window and I don't get the prompt that I would expect.

Ensuring that my JID and login are the same? What exactly does that mean? The Jabber account I have added to bitlbee is using my @jabber.com ID, how is there a way that my login could be the same/different to this?

comment:27 Changed at 2012-07-31T16:46:21Z by anonymous

Actually, I don't believe this to be a bitlbee bug. I was not able to connect correctly with other clients either. Then I tried my @gmail.com account instead of my @jabber.com account and it worked perfectly. Apologies for misreporting.

comment:28 Changed at 2012-08-19T13:57:07Z by wilmer

@tweitzel: Hah yes, I've added a warning about that recently for more or less this reason.

The code could work around it of course, but really people should just configure their accounts properly.

comment:29 Changed at 2013-06-06T14:01:50Z by Natanji

Hi everyone, especially tweitzel and wilmer, in my efforts to move from Xabber to a less bandwidth-intensive solution for my mobile Jabber needs, I've come across the exact problem described here. My setup is bitlbee+znc+(Yaiic or AndChat).

Usually, when I explicitly connect and disconnect from znc there is absolutely no problem. But when I lose the connection - which frequently happens on an unstable mobile connection, or when switching from 3G to Wifi and vice versa - the MUCs just no longer show up. Not even in irssi if I connect with it to the same znc afterwards. So a client bug seems unlikely.

My jabber server is also running openfire, so probably it's related. My question is: how can I fix it? I didn'#t understand tweitzel's notion of making JID and login match; what does that even mean? How should I configure my account "properly", wilmer?

comment:30 Changed at 2013-09-11T16:43:07Z by drew666@…

How do I fix this?

I also see this. I don't know if it's a bitlbee bug, however I'd love to know how to fix it. My setup is irssi -> znc -> bitlbee -> jabber.

I can trigger this by logging into a groupchat with another jabber client then going back to bitlbee. It won't let me join the room again.

comment:31 Changed at 2013-09-23T14:44:59Z by anonymous2

I have the same problem too. xchat -> znc -> bitlbee -> jabber.

Bitlbee thinks the conference channel is joined, but the irc client doesn't show it.

comment:32 Changed at 2014-06-20T02:40:54Z by Sam Moffatt <pasamio@…>

I ran into a similar problem here where the Jabber server was auto-joining me to the channel. Bitlbee would error out saying "Already present in chat room@server". When I disabled the server side auto-joining functionality, I was able to get Bitlbee to join me to the channel.

comment:33 Changed at 2015-03-20T17:37:50Z by dx

Priority: normalmajor
Summary: [JABBER] Groupchat joinJabber groupchat join errors with openfire (Already present in chat, etc)

Giving this one a more descriptive title and bumping priority. It's not just openfire but it's most often reproduced in openfire servers, so whatever.

comment:34 Changed at 2015-05-07T12:07:58Z by tgreer

Is there anything that can be done to help with this? I have access to both ends (open fire/bitlbee) so could do some debugging if required.

comment:35 Changed at 2015-08-17T15:59:51Z by natecmichael@…

I'm seeing the same behavior on an ejabberd backend, so I don't think it's specific to openfire.

comment:36 Changed at 2016-07-18T14:54:45Z by anonymous

Sam et al,

How does one disable server-side auto-joining?

Modify Ticket

Action
as reopened The ticket will remain with no owner.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.