CVS bugs

Problems compiling? Don't understand the source code? Don't know how to code your feature? Post here.

Moderator: Moderators

Locked
Big Muscle
Posts: 72
Joined: 2004-01-23 14:45

CVS bugs

Post by Big Muscle » 2005-12-28 05:07

Hi. since DCDev hub isn't running, I'm creating this topic to report some CVS bugs I found :)

1) expectedConnections in ConnectionManager need to be in critical sections else it can crashes
working patch here: http://www.home.karneval.cz/01027053/pa ... nMan.patch

2) why aren't there throw(Exception) statements in BZUtils.cpp/ZUtils.cpp in functions that can throw exception ?

3) it crashes when connecting to hub when DCPlusPlus.xml doesn't exist

4) there are still some possible deadlocks in ConnectionManager
between ConnectionManager's Locks and UserConnectionListener's Speaker Locks
ConnectionManager.cpp

Code: Select all

line #245         cqi->getConnection()->removeListener(this);
vs
line #712         Lock l(cs);


5) sometimes crashes on
string ShareManager::Directory::getFullName() const throw() {
here >>> if(parent == NULL)

EDIT: it's due to filelist caching. After manual refresh (or removing loadCache() from source), it stops crashing.
Last edited by Big Muscle on 2006-01-02 11:47, edited 3 times in total.

Big Muscle
Posts: 72
Joined: 2004-01-23 14:45

Post by Big Muscle » 2005-12-28 13:01

6) also sometimes crashes in BufferedSocket.h - came from BufferedSocket::accept

Code: Select all

   void addTask(Tasks task, TaskData* data) throw() {
   >>>>   tasks.push_back(make_pair(task, data));
      taskSem.signal();
   }


7) and this seems like big problem:
since there's getLegacyUser in SearchManager which takes a long time, a lot of search results lost :-/
so I fixed this by this way:

Code: Select all

--- C:\Documents and Settings\Big Muscle\Dokumenty\Visual Studio Projects\DC++ CVS\client\patch\ClientManager.cpp   Thu Dec 29 12:22:51 2005
+++ C:\Documents and Settings\Big Muscle\Dokumenty\Visual Studio Projects\DC++ CVS\client\patch\ClientManager.cpp.patch   Thu Dec 29 12:23:46 2005
@@ -145,7 +145,7 @@
 
    for(UserIter i = users.begin(); i != users.end(); ++i) {
       User::Ptr& p = i->second;
-      if(p->isSet(User::NMDC) && Text::toLower(p->getFirstNick()) == Text::toLower(aNick))
+      if(p->isSet(User::NMDC) && (Util::stricmp(p->getFirstNick().c_str(), aNick.c_str()) == 0))
          return p;
    }

and problem appears only when I am in hubs with many users
Last edited by Big Muscle on 2005-12-29 06:25, edited 1 time in total.

Locked