Version: 0.5.8cvs >=20021020 (using KDE KDE 3.0.99) Installed from: Compiled From Sources Compiler: gcc 3.2 OS: Linux Sometimes (but quite everyday now) the ICQ plugin won't try to connect to the ICQ server. Example: I open Kopete, the ICQ flower remains grey (auto connect == on). If I change the status (left click, Online) for instance, nothing at all happens. In the Konsole though, I get this output (after clicking on Online): kopete: [ICQProtocol] slotGoOnline() kopete: [ICQProtocol] status did not change, aborting statusChange() The situation is the same with only the ICQ plugin loaded as well as with many plugins loaded, like Jabber and Yahoo. Sometimes, after unloading and loading the plugins, ICQ will connect. I can't explain why. Uninstalling Kopete, download the sources and recompiling it does not help at all. Only unload/load the plugins (sometimes for a few times, sometimes for a lot of times) seems to help. While Kopete can't connect to ICQ, others IM, Gaim for instance, will connect flawlessly to ICQ.
Subject: Re: [Kopete-devel] Re: New: ICQ plugin does not try to connect On Thursday 16 January 2003 20:38, Unai Garro wrote: > Exactly the same happens to me here. It works with no problem if I disable > the "autoconnect" function though. > > If autoconnect is enabled, then the only way to force it to connect is: > disable the plugin, close kopete, rerun, and enable the plugin back. Looks a LOT like the problems I had with the AIM TOC plugin and autoconnect. My local CVS copy has too much local changes for a proper patch (icqprotocol.cpp is changed already), but does changing if ( mPrefs->autoConnect() ) { kdDebug(14110) << "[ICQProtocol] autoconnect..." << endl; - connect(); + QTimer::singleShot( 0, this, SLOT( connect() ) ); } in the constructor in ICQProtocol.cpp solve the issue?
The patch you suggested solved the problem at least for me. Could you please commit this to CVS?
Committed.
Since the patch, yes it works (thanks). But, at least for me, it seems only to work with the Yahoo plugin loaded and set on auto connect. If both are set to auto-connect, ICQ will connect. If I just load the ICQ plugin, ICQ won't connect. I tried to uninstall Kopete, deleted all entries regarding kopete in my ~.kde/ directory (in share/apps/, share/config/ and share/config/session/). Then downloaded the fresh CVS, compiled it and installed it. First I only loaded the ICQ plugin, entered my infos and set it to auto-connect. Closed Kopete then opened it again. Didn't connect. I loaded the Yahoo plugin, entered my infos and set it to auto-connect too. Closed Kopete again, opened it and both connected (ICQ downloaded my contact list as it would do usually). So I can't use the ICQ plugin without the Yahoo one, which makes kinda no sense... Oh and a small note : when ICQ downloaded my contact list, it downloaded it twice, my contact were in the General folder and in the top level. Moving them all in General and saving the contact list did the trick. I don't have that luck with Yahoo though, my contact keep adding to the top-level (well, in a folder with no name) at each Kopete startup. I'm currently using 0.5.8cvs >=20030131 and KDE 3.1, compiled with gcc 3.2.1
Can you try CVS again? What glibc version are you using (including package revision from your distro)?
Subject: Re: ICQ plugin does not try to connect > Can you try CVS again? What glibc version are you using (including package > revision > from your distro)? After the reception of this message, I uninstalled Kopete, CVS and compiled it (I did not delete my preferences though. Should I try ?). The problem is still there (ICQ will connect only if the Yahoo plugin is loaded). I'm using the latest Glibc from Mandrake Cooker (2.3.1 - the package seems to be glibc-2.3.1-7mdk.i586.rpm). __________________________________________________________ L
Small update : If I start Kopete with ICQ and Yahoo loaded, ICQ connect. If I go offline for both, unload Yahoo, and try to make ICQ online, it will work. Then, if I close Kopete and open it again, ICQ won't connect. The main thing is, I don't want to use Yahoo anymore (I just tried it as a test!) but I must load it to use ICQ... :) Jabber does not have any problem though.
Can you see if there is a new package revision of glibc 2.3.1 from cooker? If not, can you downgrade a few package revisions and see if that helps? There was a known problem with a certain packaging of 2.3.1 in debian that caused such symtoms.
Subject: Re: [Kopete-devel] ICQ plugin does not try to connect On Thursday 06 February 2003 03:23, Pierre-�ienne wrote: > Small update : If I start Kopete with ICQ and Yahoo loaded, ICQ connect. If > I go offline for both, unload Yahoo, and try to make ICQ online, it will > work. Then, if I close Kopete and open it again, ICQ won't connect. This really sounds like the glibc bug that breaks QDNS. Some versions of glibc 2.3.1 are broken. Kopete-devel: What glibc for debian was needed to fix this? Is this available for Mandrake too?
2.3.1-5 till 2.3.1-8 were broken iirc (note, these are debian package-revisions!), so anything using a very recent glibc-snapshot should work again, the debian-changelog did not really contain anything that could have broken/fixed it.
I have exactly the same biiiiiig problem with mandrake my glibc package is glibc-2.3.1-7mdk I have opened a bug on https://qa.mandrakesoft.com/show_bug.cgi?id=1549 to investigate on a glibc update
Created attachment 931 [details] kopeterc that works with msn and icq - replace XXXXX and NNNNNNN with what is appropriate for your situation. DO NOT CHANGE the settings afterwards otherwise only msn will work ! this config file works with msn (auto) and icq (manual)
Subject: Re: [Kopete-devel] ICQ plugin does not try to connect On Tuesday 11 February 2003 12:47, owner@bugs.kde.org wrote: > kopeterc that works with msn and icq - replace XXXXX and NNNNNNN with what > is appropriate for your situation. DO NOT CHANGE the settings afterwards > otherwise only msn will work ! Which of these settings is the troublesome one?
Subject: Re: ICQ plugin does not try to connect > Which of these settings is the troublesome one? With this config : - icq cannot auto connect but manually connecting is OK - msn is connecting auto If you add OSCAR for example then stop kopete (you might have a crash) then restart kopete then icq will never work again...
Subject: Re: [Kopete-devel] ICQ plugin does not try to connect I was trying to add the same workaround to ICQ that MSN has, but to my disgrace I saw that kopete/protocols/icq_new/client.cpp has an explicit '#undef HAVE_KEXTSOCK_H'. Does anyone have any idea why that is? To the people who experience the problems with Mandrake Cooker: does changing this line (at the top of the file) into an explicit '#define HAVE_KEXTSOCK_H' solve the problems? If so, I guess we should readd it again.
No it doesn't solve any problem it creates one bigger : it won't compile :) Here's the output : client.cpp:366: prototype for `ICQClientSocket::ICQClientSocket(KExtendedSocket*)' does not match any in class `ICQClientSocket' client.h:60: candidates are: ICQClientSocket::ICQClientSocket(const ICQClientSocket&) client.h:66: ICQClientSocket::ICQClientSocket(QSocket* = 0) client.cpp: In constructor `ICQClientSocket::ICQClientSocket(KExtendedSocket*)': client.cpp:367: cannot convert `KExtendedSocket*' to `QSocket*' in assignment client.cpp:370: cannot convert `KExtendedSocket*' to `QSocket*' in assignment client.cpp:371: no matching function for call to `QSocket::setSocketFlags(KExtendedSocket::Flags)' client.cpp:389: no matching function for call to `QSocket::enableRead(bool)' client.cpp: In member function `virtual void ICQClientSocket::close()': client.cpp:402: no matching function for call to `QSocket::closeNow()' client.cpp: In member function `virtual void ICQClientSocket::connect(const char*, int)': client.cpp:442: no matching function for call to `QSocket::setAddress(const char*&, int&)' client.cpp:443: no matching function for call to `QSocket::lookup()' client.cpp:446: no matching function for call to `QSocket::startAsyncConnect()' client.cpp: In member function `void ICQClientSocket::slotConnected()': client.cpp:459: no matching function for call to `QSocket::setBlockingMode(bool)' client.cpp:460: no matching function for call to `QSocket::enableRead(bool)' client.cpp: In member function `virtual long unsigned int ICQClientSocket::localHost()': client.cpp:489: no matching function for call to `QSocket::localAddress()' client.cpp: In constructor `ICQServerSocket::ICQServerSocket(short unsigned int, short unsigned int)': client.cpp:521: cannot convert `KExtendedSocket*' to `QSocketDevice*' in assignment client.cpp:522: no matching function for call to `ICQServerSocket::connect(QSocketDevice*&, const char[15], ICQServerSocket* const, const char[13])' /usr/lib/qt3/include/qobject.h:116: candidates are: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*) /usr/lib/qt3/include/qobject.h:227: bool QObject::connect(const QObject*, const char*, const char*) const client.cpp:525: no matching function for call to `QSocketDevice::setBlockingMode(bool)' client.cpp:526: no matching function for call to `QSocketDevice::setSocketFlags(KExtendedSocket::Flags)' client.cpp:527: no matching function for call to `QSocketDevice::setPort(short unsigned int&)' client.cpp:528: no matching function for call to `QSocketDevice::listen()' /usr/lib/qt3/include/qsocketdevice.h:95: candidates are: virtual bool QSocketDevice::listen(int) client.cpp: In member function `void ICQServerSocket::slotActivated()': client.cpp:586: no matching function for call to `QSocketDevice::accept(KExtendedSocket*&)' /usr/lib/qt3/include/qsocketdevice.h:96: candidates are: virtual int QSocketDevice::accept() client.cpp:589: no matching function for call to `ICQClientSocket::ICQClientSocket(KExtendedSocket*&)' client.h:60: candidates are: ICQClientSocket::ICQClientSocket(const ICQClientSocket&) client.h:66: ICQClientSocket::ICQClientSocket(QSocket* = 0) make[3]: *** [client.lo] Erreur 1
Subject: Re: [Kopete-devel] ICQ plugin does not try to connect On Wednesday 12 February 2003 02:12, Pierre-�ienne wrote: > client.h:60: candidates are: ICQClientSocket::ICQClientSocket(const > ICQClientSocket&) > client.h:66: ICQClientSocket::ICQClientSocket(QSocket* = 0) Ugh... is the same #undef also in client.h? If so, please change it there as well and try again. If that doesn't work I'll try to create a formal patch when I'm back home tonight.
Great news : it seems to work (changing this line to #define in client.cpp and client.h) ! I can't say much right now because no one is online in my ICQ contact list, but it connects well with only the ICQ plugin loaded !
Subject: Re: ICQ plugin does not try to connect good news, can you try now with 2 protocols, ICQ and MSN in auto connect ?
I'm not at home right now, but when I sumbitted my last message I forgot to say that I tried to connect with ICQ loaded, and the ICQ and Jabber (I don't have MSN and don't want it :P), it worked fine !
# rpm -q glibc glibc-2.3.1-8mdk this level solves all my connection problems on mandrake !
Just upgraded my glibc too, still works fine (I am currently running Kopete with the changes in the client.cpp/.h as said before). So I think you can modify the CVS to #define theses lines (as I don't think there is a problem using #define (I saw none up to now). But #undef was there, what was its actual purpose ?). Then, the bug can be marked as "resolved".
CVS now uses kextsock so the bug should be fixed.