Bug 157252

Summary: OSCAR fails to finish stage two connection
Product: [Unmaintained] kopete Reporter: Ojec Borec <ojo>
Component: ICQ and AIM PluginsAssignee: Kopete Developers <kopete-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: normal    
Priority: NOR    
Version First Reported In: 0.50.0   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: konsole dump - unsuccessful connect
konsole dump - successful connect
successful: tcpdump -vv tcp port 5190
unsuccessful: tcpdump -vv tcp port 5190
successful: tcpdump -s 8184 -vv tcp port 5190
unsuccessful: tcpdump -s 8184 -vv tcp port 5190

Description Ojec Borec 2008-02-06 11:10:50 UTC
Version:            (using KDE 3.5.8)
Installed from:    Gentoo Packages
Compiler:          gcc (GCC) 4.1.2 gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2)
OS:                Linux

Hi

I use kopete for MSN, Jabber and ICQ and got only problem to connect to ICQ account. Sometimes I can connect, but usually green flower just flashes and I can't connect.
Comment 1 Ojec Borec 2008-02-06 11:12:10 UTC
Created attachment 23439 [details]
konsole dump - unsuccessful connect
Comment 2 Ojec Borec 2008-02-06 11:12:30 UTC
Created attachment 23440 [details]
konsole dump - successful connect
Comment 3 Ojec Borec 2008-02-06 11:17:09 UTC
I also tried konstruct and compile KDE + Qt by my own, but nothing changed.
Comment 4 Ojec Borec 2008-02-06 14:50:50 UTC
Comment on attachment 23439 [details]
konsole dump - unsuccessful connect

>kopete (oscar/icq): [void ICQAccount::setPresenceType(ICQ::Presence::Type, const QString&)] new type=6, old type=0, new message=
>kopete (oscar/icq): [virtual void ICQAccount::connectWithPassword(const QString&)] accountId='11111111'
>kopete: [void KopeteWindow::slotAccountStatusIconChanged(Kopete::Contact*)] [variant:  toString=]
>kopete: [void KopeteWindow::slotAccountStatusIconChanged(Kopete::Contact*)] [variant:  toString=]
>kopete: [void KopeteWindow::slotAccountStatusIconChanged(Kopete::Contact*)] [variant:  toString=]
>kopete (oscar/icq): [virtual void ICQAccount::connectWithPassword(const QString&)] Logging in as 11111111
>kopete (oscar - raw protocol): [KNetworkConnector::KNetworkConnector(QObject*, const char*)] New KNetwork connector.
>kopete (oscar - raw protocol): [KNetworkByteStream::KNetworkByteStream(QObject*, const char*)] Instantiating new KNetwork byte stream.
>kopete (oscar - raw protocol): [void KNetworkConnector::setOptHostPort(const QString&, Q_UINT16)] Manually specifying host login.oscar.aol.com and port 5190
>kopete (oscar - raw protocol): [void Client::setStatus(Oscar::DWORD, const QString&)] Setting status message to
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::connectToServer(const QString&)] Initiating connection to login.oscar.aol.com
>kopete (oscar - raw protocol): [bool KNetworkByteStream::connect(QString, QString)] Connecting to login.oscar.aol.com, service 5190
>kopete (oscar - raw protocol): [void KNetworkConnector::slotConnected()] We are connected.
>kopete (oscar - raw protocol): [void CoreProtocol::addIncomingData(const QByteArray&)] Received 10 bytes.
>kopete (oscar - raw protocol): [virtual Transfer* FlapProtocol::parse(const QByteArray&, uint&)] channel: \x01 sequence: 6016 length: 4
>kopete (oscar - raw protocol): [virtual bool StageOneLoginTask::take(Transfer*)] Starting ICQ login
>kopete (oscar - raw protocol): [QString IcqLoginTask::encodePassword(const QString&)] Called.
>kopete (oscar - raw protocol): [virtual void IcqLoginTask::onGo()] Sending ICQ channel 0x01 login packet
>kopete (oscar - raw protocol): [void CoreProtocol::addIncomingData(const QByteArray&)] Received 581 bytes.
>kopete (oscar - raw protocol): [virtual Transfer* FlapProtocol::parse(const QByteArray&, uint&)] channel: \x04 sequence: 6017 length: 575
>kopete (oscar - raw protocol): [virtual bool CloseConnectionTask::take(Transfer*)] RECV (DISCONNECT)
>kopete (oscar - raw protocol): [virtual bool CloseConnectionTask::take(Transfer*)] found TLV(1) [UIN], uin=11111111
>kopete (oscar - raw protocol): [virtual bool CloseConnectionTask::take(Transfer*)] found TLV(5) [SERVER] 205.188.9.174:5190
>kopete (oscar - raw protocol): [virtual bool CloseConnectionTask::take(Transfer*)] found TLV(6) [COOKIE]
>kopete (oscar - raw protocol): [virtual bool CloseConnectionTask::take(Transfer*)] We should reconnect to server '205.188.9.174' on port 5190
>kopete (oscar - raw protocol): [void StageOneLoginTask::closeTaskFinished()]
>kopete (oscar - raw protocol): [void Client::lt_loginFinished()] stage one login done
>kopete (oscar - raw protocol): [void Client::lt_loginFinished()] no errors from stage one. moving to stage two
>kopete (oscar - raw protocol): [void ConnectionHandler::clear()] Clearing all connections
>kopete (oscar - raw protocol): [void KNetworkByteStream::slotConnectionClosed()] Socket has been closed.
>kopete (oscar - raw protocol): ..by ourselves!
>kopete (oscar - raw protocol): socket error is no error
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [KNetworkConnector::KNetworkConnector(QObject*, const char*)] New KNetwork connector.
>kopete (oscar - raw protocol): [KNetworkByteStream::KNetworkByteStream(QObject*, const char*)] Instantiating new KNetwork byte stream.
>kopete (oscar - raw protocol): [void KNetworkConnector::setOptHostPort(const QString&, Q_UINT16)] Manually specifying host 205.188.9.174 and port 5190
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::connectToServer(const QString&)] Initiating connection to 205.188.9.174
>kopete (oscar - raw protocol): [bool KNetworkByteStream::connect(QString, QString)] Connecting to 205.188.9.174, service 5190
>kopete (oscar - raw protocol): [void KNetworkConnector::slotConnected()] We are connected.
>kopete (oscar - raw protocol): [void Client::streamConnected()]
>kopete (oscar - raw protocol): [virtual void StageTwoLoginTask::onGo()] Sending the login cookie back
>kopete (oscar - raw protocol): [void KNetworkByteStream::slotError(int)] Socket error 17
>kopete (oscar - raw protocol): [void KNetworkConnector::slotError(int)] Error detected: 17
>kopete (oscar - raw protocol): [void ClientStream::cr_error()]
>kopete (oscar - raw protocol): [void KNetworkByteStream::slotConnectionClosed()] Socket has been closed.
>kopete (oscar - raw protocol): ..by ourselves!
>kopete (oscar - raw protocol): socket error is remote host closed connection
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [void ConnectionHandler::remove(Connection*)] Removing connection 0x2aaaac000930
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
Comment 5 Ojec Borec 2008-02-06 14:54:22 UTC
Comment on attachment 23439 [details]
konsole dump - unsuccessful connect

>kopete (oscar/icq): [void ICQAccount::setPresenceType(ICQ::Presence::Type, const QString&)] new type=6, old type=0, new message=
>kopete (oscar/icq): [virtual void ICQAccount::connectWithPassword(const QString&)] accountId='11111111'
>kopete: [void KopeteWindow::slotAccountStatusIconChanged(Kopete::Contact*)] [variant:  toString=]
>kopete: [void KopeteWindow::slotAccountStatusIconChanged(Kopete::Contact*)] [variant:  toString=]
>kopete: [void KopeteWindow::slotAccountStatusIconChanged(Kopete::Contact*)] [variant:  toString=]
>kopete (oscar/icq): [virtual void ICQAccount::connectWithPassword(const QString&)] Logging in as 11111111
>kopete (oscar - raw protocol): [KNetworkConnector::KNetworkConnector(QObject*, const char*)] New KNetwork connector.
>kopete (oscar - raw protocol): [KNetworkByteStream::KNetworkByteStream(QObject*, const char*)] Instantiating new KNetwork byte stream.
>kopete (oscar - raw protocol): [void KNetworkConnector::setOptHostPort(const QString&, Q_UINT16)] Manually specifying host login.oscar.aol.com and port 5190
>kopete (oscar - raw protocol): [void Client::setStatus(Oscar::DWORD, const QString&)] Setting status message to
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::connectToServer(const QString&)] Initiating connection to login.oscar.aol.com
>kopete (oscar - raw protocol): [bool KNetworkByteStream::connect(QString, QString)] Connecting to login.oscar.aol.com, service 5190
>kopete (oscar - raw protocol): [void KNetworkConnector::slotConnected()] We are connected.
>kopete (oscar - raw protocol): [void CoreProtocol::addIncomingData(const QByteArray&)] Received 10 bytes.
>kopete (oscar - raw protocol): [virtual Transfer* FlapProtocol::parse(const QByteArray&, uint&)] channel: \x01 sequence: 6016 length: 4
>kopete (oscar - raw protocol): [virtual bool StageOneLoginTask::take(Transfer*)] Starting ICQ login
>kopete (oscar - raw protocol): [QString IcqLoginTask::encodePassword(const QString&)] Called.
>kopete (oscar - raw protocol): [virtual void IcqLoginTask::onGo()] Sending ICQ channel 0x01 login packet
>kopete (oscar - raw protocol): [void CoreProtocol::addIncomingData(const QByteArray&)] Received 581 bytes.
>kopete (oscar - raw protocol): [virtual Transfer* FlapProtocol::parse(const QByteArray&, uint&)] channel: \x04 sequence: 6017 length: 575
>kopete (oscar - raw protocol): [virtual bool CloseConnectionTask::take(Transfer*)] RECV (DISCONNECT)
>kopete (oscar - raw protocol): [virtual bool CloseConnectionTask::take(Transfer*)] found TLV(1) [UIN], uin=11111111
>kopete (oscar - raw protocol): [virtual bool CloseConnectionTask::take(Transfer*)] found TLV(5) [SERVER] 205.188.9.174:5190
>kopete (oscar - raw protocol): [virtual bool CloseConnectionTask::take(Transfer*)] found TLV(6) [COOKIE]
>kopete (oscar - raw protocol): [virtual bool CloseConnectionTask::take(Transfer*)] We should reconnect to server '205.188.9.174' on port 5190
>kopete (oscar - raw protocol): [void StageOneLoginTask::closeTaskFinished()]
>kopete (oscar - raw protocol): [void Client::lt_loginFinished()] stage one login done
>kopete (oscar - raw protocol): [void Client::lt_loginFinished()] no errors from stage one. moving to stage two
>kopete (oscar - raw protocol): [void ConnectionHandler::clear()] Clearing all connections
>kopete (oscar - raw protocol): [void KNetworkByteStream::slotConnectionClosed()] Socket has been closed.
>kopete (oscar - raw protocol): ..by ourselves!
>kopete (oscar - raw protocol): socket error is no error
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [KNetworkConnector::KNetworkConnector(QObject*, const char*)] New KNetwork connector.
>kopete (oscar - raw protocol): [KNetworkByteStream::KNetworkByteStream(QObject*, const char*)] Instantiating new KNetwork byte stream.
>kopete (oscar - raw protocol): [void KNetworkConnector::setOptHostPort(const QString&, Q_UINT16)] Manually specifying host 205.188.9.174 and port 5190
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::connectToServer(const QString&)] Initiating connection to 205.188.9.174
>kopete (oscar - raw protocol): [bool KNetworkByteStream::connect(QString, QString)] Connecting to 205.188.9.174, service 5190
>kopete (oscar - raw protocol): [void KNetworkConnector::slotConnected()] We are connected.
>kopete (oscar - raw protocol): [void Client::streamConnected()]
>kopete (oscar - raw protocol): [virtual void StageTwoLoginTask::onGo()] Sending the login cookie back
>kopete (oscar - raw protocol): [void KNetworkByteStream::slotError(int)] Socket error 17
>kopete (oscar - raw protocol): [void KNetworkConnector::slotError(int)] Error detected: 17
>kopete (oscar - raw protocol): [void ClientStream::cr_error()]
>kopete (oscar - raw protocol): [void KNetworkByteStream::slotConnectionClosed()] Socket has been closed.
>kopete (oscar - raw protocol): ..by ourselves!
>kopete (oscar - raw protocol): socket error is remote host closed connection
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
>kopete (oscar - raw protocol): [void ConnectionHandler::remove(Connection*)] Removing connection 0x2aaaac000930
>kopete (oscar - raw protocol): [virtual void KNetworkConnector::done()]
Comment 6 Ojec Borec 2008-02-06 14:57:44 UTC
Comment on attachment 23439 [details]
konsole dump - unsuccessful connect
Comment 7 Matt Rogers 2008-02-07 05:04:00 UTC
I need to see a packet dump. Please use a program like tcpdump or wireshark to capture the traffic on tcp port 5190. Thanks.
Comment 8 Ojec Borec 2008-02-07 11:27:49 UTC
Created attachment 23456 [details]
successful: tcpdump -vv tcp port 5190
Comment 9 Ojec Borec 2008-02-07 11:28:01 UTC
Created attachment 23457 [details]
unsuccessful: tcpdump -vv tcp port 5190
Comment 10 Ojec Borec 2008-02-07 11:30:43 UTC
Could someone remove comments 4,5 and 6? They are already in attachments.
Comment 11 Roman Jarosz 2008-02-07 11:58:17 UTC
Please capture it again with "tcpdump -s 8184 -vv tcp port 5190" because the packet size limit is too low. Thanks
Comment 12 Ojec Borec 2008-02-07 13:09:02 UTC
Created attachment 23459 [details]
successful: tcpdump -s 8184 -vv tcp port 5190
Comment 13 Ojec Borec 2008-02-07 13:09:42 UTC
Created attachment 23460 [details]
unsuccessful: tcpdump -s 8184 -vv tcp port 5190
Comment 14 Roman Jarosz 2008-02-07 14:47:38 UTC
I don't see anything wrong :(, the packets that we send are the same during unsuccessful and successful connection. (only snac ids are different but that's ok)

When the connection is unsuccessful the server sends new connection reply and then closes the connection (no error, nothing). Could be that the server is overloaded. 

If this connection problems are frequent you could capture several login sequences with other client (official ICQ would be best) and send it to me (kedgedev at centrum dot cz) and I'll try to look if they use some workarounds when this happens.
Comment 15 Drew Fisher 2008-07-13 23:21:26 UTC
Closing since I can't reproduce in trunk, it appears to not be a kopete bug, and the report hasn't been updated in months.  If this bug still persists, feel free to reopen.