Not logged in. · Lost password · Register
Forum: MatriX and XmppDotNet RSS
Login Hang
Avatar
Jro #1
Member since Feb 2010 · 27 posts
Group memberships: Members
Show profile · Link to this post
Subject: 1.2.0 -> 1.2.1 Issue
I decided to play with the 1.2.1 DLL on the mobile in some quick prototype apps that worked fine with logging in using the 1.2.0 DLL.  Transitioning to the latest 1.2.1 version caused my application to hang.  I isolated it to the _xmppClient.Login never returning from completion, essentially hanging with no subsequent OnLogin, OnClose, or OnError events firing.

As a quick I test, I pulled up the sample client and attempted to use it with the included 1.2.1 DLL and had no joy connecting.  The following is the debug XML:

SEND: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" to="folka" version="1.0" >
RECV: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="folka" id="454e5f5" xml:lang="en" version="1.0" >
RECV: <stream:features xmlns:stream="http://etherx.jabber.org/streams">
  <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
    <mechanism>DIGEST-MD5</mechanism>
    <mechanism>PLAIN</mechanism>
    <mechanism>ANONYMOUS</mechanism>
    <mechanism>CRAM-MD5</mechanism>
  </mechanisms>
  <compression xmlns="http://jabber.org/features/compress">
    <method>zlib</method>
  </compression>
  <auth xmlns="http://jabber.org/features/iq-auth" />
  <register xmlns="http://jabber.org/features/iq-register" />
</stream:features>

At this point, the login simply hangs as described above.  I do not think a time out error would even fired after two minutes.

I then reverted the sample client to a 1.2.0 version of the Matrix DLL and everything behaved as normal.  I did the sample client tests with Openfire, although I tested my original prototype app with both OpenFire and ejabberd.  I've placed the successful 1.2.0 output of the debug xml tab in the following pastebin link:

http://pastebin.com/Qxg75pcZ

Jeffrey
Avatar
Alex #2
Member since Feb 2003 · 4447 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
can you check if you connect with or without TLS in 1.2.1? TLS support was one of the new features in 1.2.1 which does not work on all Windows Mobile versions and is causing problems in some scenarios.

Alex
Avatar
Jro #3
Member since Feb 2010 · 27 posts
Group memberships: Members
Show profile · Link to this post
Hmm, didn't we have TLS functionality in 1.2.0 as well?  Anyway, still the same hang - I'm testing with the Windows Mobile 6 Professional Emulator within .NET

My XML with .StartTls = true:

SEND: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" to="folka" version="1.0" >
RECV: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="folka" id="5ae82b79" xml:lang="en" version="1.0" >
RECV: <stream:features xmlns:stream="http://etherx.jabber.org/streams">
  <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
    <mechanism>DIGEST-MD5</mechanism>
    <mechanism>PLAIN</mechanism>
    <mechanism>ANONYMOUS</mechanism>
    <mechanism>CRAM-MD5</mechanism>
  </mechanisms>
  <compression xmlns="http://jabber.org/features/compress">
    <method>zlib</method>
  </compression>
  <auth xmlns="http://jabber.org/features/iq-auth" />
  <register xmlns="http://jabber.org/features/iq-register" />
</stream:features>
SEND: <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
RECV: <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
SEND: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" to="folka" version="1.0" >
RECV: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="folka" id="5ae82b79" lang="en" version="1.0" >
RECV: <stream:features xmlns:stream="http://etherx.jabber.org/streams">
  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
    <mechanism>DIGEST-MD5</mechanism>
    <mechanism>PLAIN</mechanism>
    <mechanism>ANONYMOUS</mechanism>
    <mechanism>CRAM-MD5</mechanism>
  </mechanisms>
  <compression xmlns="http://jabber.org/features/compress">
    <method>zlib</method>
  </compression>
  <auth xmlns="http://jabber.org/features/iq-auth" />
  <register xmlns="http://jabber.org/features/iq-register" />
</stream:features>

My XML with .StartTls = false:

SEND: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" to="folka" version="1.0" >
RECV: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="folka" id="5f872dde" xml:lang="en" version="1.0" >
RECV: <stream:features xmlns:stream="http://etherx.jabber.org/streams">
  <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
    <mechanism>DIGEST-MD5</mechanism>
    <mechanism>PLAIN</mechanism>
    <mechanism>ANONYMOUS</mechanism>
    <mechanism>CRAM-MD5</mechanism>
  </mechanisms>
  <compression xmlns="http://jabber.org/features/compress">
    <method>zlib</method>
  </compression>
  <auth xmlns="http://jabber.org/features/iq-auth" />
  <register xmlns="http://jabber.org/features/iq-register" />
</stream:features>
This post was edited 2 times, last on 2010-04-07, 17:58 by Jro.
Avatar
Alex #4
Member since Feb 2003 · 4447 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
I can confirm that there is a problem. I get a System.TypeLoadException in the debugger.
Do you get the same exception in the Visual Studio output window? This is where strange because I get the Exception on a standard LinQ query and there were no changes related to this at all.
I am working on this.

Alex
Avatar
Alex #5
Member since Feb 2003 · 4447 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
I uploaded a new version to http://www.ag-software.net/downloads.html
Can you please give it a try?

Thanks,
Alex
Avatar
Jro #6
Member since Feb 2010 · 27 posts
Group memberships: Members
Show profile · Link to this post
Yea, that exception is viewable in the output window using the 1.2.1 version - "A first chance exception of type 'System.TypeLoadException' occurred in Matrix.dll"

The new version, 1.2.1.1, has fixed the login on the CF sample client on my end, as well as my prototype application.

Everything looks good as far as logins.  Thanks again Alex.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters: