[darcs-users] Re: bug report: pull takes forever to complete

zooko at zooko.com zooko at zooko.com
Thu May 13 20:16:41 UTC 2004


HACK pion:~/playground/mn/mnet$ darcs --version
0.9.20

Long transcript follows.  It includes "Error applying patch to recorded!".  
Note that I have killed darcs with a signal several times while attempting 
this merge, and that one time it left a _darcs/lock file that I had to 
manually rm.  

Regards, Zooko

------- begin appended long transcript
HACK pion:~/playground/mn/mnet$ darcs pull --verbose ../mnet_new_mt
Pulling from ../mnet_new_mt...
About to read in the inventories...
Finished reading in the inventories...
We have the following new (to them) patches:
Sun May  9 15:11:42 EDT 2004  zooko at zooko.com
  * dont cleanstring
  moshez's unrepr() is supposed to do the right thing with any string

Sun May  9 09:38:35 EDT 2004  ash at ash.de
  * better blockobj integration, fixes yet another typobug

Sat May  8 22:40:43 EDT 2004  ash at ash.de
  tagged 0.7a138

Sat May  8 22:34:27 EDT 2004  ash at ash.de
  * more peerman/peerobj integration

Sat May  8 22:29:03 EDT 2004  ash at ash.de
  * sanitize rs output, pusher delay

Sat May  8 21:12:43 EDT 2004  ash at ash.de
  * try to keep peerman discovery cache filled

Fri May  7 22:38:40 EDT 2004  ash at ash.de
  * now they are _really_ gone

Fri May  7 17:53:32 EDT 2004  ash at ash.de
  * lots of small subtle import fixes ...

Thu May  6 21:06:55 EDT 2004  ash at ash.de
  * fix default bootpage list

Thu May  6 17:09:42 EDT 2004  ash at ash.de
  tagged 0.7a136-UNSTABLE

Wed May  5 21:43:29 EDT 2004  ash at ash.de
  tagged 0.7a135-UNSTABLE

Wed May  5 19:49:22 EDT 2004  ash at ash.de
  * introducing bootpagecache since egtp has short-term memory problems

Thu May  6 17:00:18 EDT 2004  ash at ash.de
  * added osh url, "fixes" mnetput, try all bootpages at least once on startup

Thu May  6 12:48:37 EDT 2004  zooko at zooko.com
  * remove ent
  I have recently been thinking I could revive ent, once v0.7 is cleaned up and working enough.  But for now, it goes, because we have a rule against leaving unused code lying around where people might stumble over it.

Wed May  5 16:58:53 EDT 2004  zooko at zooko.com
  * fix and improve version usage
   . replace version.version with __version__
   . add an __init__.version = thingie
   . fix typo in doc

Wed May  5 12:52:42 EDT 2004  zooko at zooko.com
  * remove concept of "binary id", replace with just "id"

Tue May  4 14:41:18 EDT 2004  ash at ash.de
  * startup fix for new nodes and anon-bootpage-parasite support

Tue May  4 10:10:40 EDT 2004  ash at ash.de
  tagged 0.7.0.134-UNSTABLE

Tue May  4 06:47:13 EDT 2004  ash at ash.de
  * moved server-selection into main event loop

Tue May  4 06:46:42 EDT 2004  ash at ash.de
  * setting MAX_VERB from env for node and pyutil

Tue May  4 05:19:39 EDT 2004  ash at ash.de
  * minimum timeout raised to 5s, timeout handling for pusher

Tue May  4 04:39:52 EDT 2004  ash at ash.de
  * more pusher limiting, less tracebacks, GAH!

Tue May  4 04:11:53 EDT 2004  ash at ash.de
  * ZOOKO -- problem with unmerged egtp changes, or something like that

Tue May  4 03:44:52 EDT 2004  ash at ash.de
  * dont hello yourself

Tue May  4 03:42:47 EDT 2004  ash at ash.de
  * avoid bootpagechurning

Tue May  4 03:42:26 EDT 2004  ash at ash.de
  * dont poll yourself, baka

Tue May  4 03:41:11 EDT 2004  ash at ash.de
  * yet another tiny merge fix  

Tue May  4 00:29:38 EDT 2004  ash at ash.de
  * minor RS fix (2)

Mon May  3 17:40:44 EDT 2004  ash at ash.de
  * move start-of-reindexer back into its own DoQ task

Sun May  2 21:56:12 EDT 2004  ash at ash.de
  tagged 0.7.0.133-UNSTABLE

Sun May  2 17:11:37 EDT 2004  ash at ash.de
  * more blockstore bugfixing. fewer race conditions as well.

Sun May  2 14:31:55 EDT 2004  ash at ash.de
  * last (outside mtlib) blob gone

Sun May  2 00:22:46 EDT 2004  ash at ash.de
  * faster pusher test

Sat May  1 23:20:46 EDT 2004  ash at ash.de
  tagged 0.7.0.132-UNSTABLE

Sat May  1 22:51:36 EDT 2004  ash at ash.de
  * improved blockstore and tests (better LS integration)

Sat May  1 15:17:19 EDT 2004  ash at ash.de
  * improved test_pusher, and reduced to just one test

Fri Apr 30 20:34:01 EDT 2004  ash at ash.de
  * blockstore and related updates
  added blockinstore support to blockset
  made blockinstore use weakref to store
  added blockset to blockstore
  added get_blockObj, list_block(Ids|Objs) to blockstore
  changed all code to use those instead of discrete versions


Sat May  1 14:46:45 EDT 2004  ash at ash.de
  tagged 0.7.0.131

Sat May  1 14:46:15 EDT 2004  ash at ash.de
  tagged 0.7.0.130

Fri Apr 30 13:01:49 EDT 2004  ash at ash.de
  * prettier resumed-publish status string

Thu Apr 29 22:03:43 EDT 2004  ash at ash.de
  * dedupe pusher success

Sat May  1 14:45:39 EDT 2004  ash at ash.de
  tagged 0.7.0.129

Sat May  1 14:45:10 EDT 2004  ash at ash.de
  tagged 0.7.0.128

Thu Apr 29 16:47:59 EDT 2004  ash at ash.de
  * dont resume when cache is empty. *g*

Sat May  1 14:44:39 EDT 2004  ash at ash.de
  tagged 0.7.0.127

Wed Apr 28 22:38:54 EDT 2004  ash at ash.de
  * pusher-resume (ugly, needs to be moved)

Sat May  1 14:43:32 EDT 2004  ash at ash.de
  tagged 0.7.0.126

They have the following new (to us) patches:
Wed May 12 19:31:39 EDT 2004  zooko at zooko.com
  * nanovernumbumps

Wed May 12 19:31:25 EDT 2004  zooko at zooko.com
  * adjust for less detailed query_for_counterparty_and_send() interface

Wed May 12 19:29:27 EDT 2004  zooko at zooko.com
  * remove version.py

Wed May 12 18:50:05 EDT 2004  zooko at zooko.com
  * merge fixes

Wed May 12 17:10:40 EDT 2004  zooko at zooko.com
  * codingstds

Wed May 12 16:22:42 EDT 2004  zooko at zooko.com
  * use pyutil v1.0.0a1-53-UNSTABLE

Wed May 12 16:22:28 EDT 2004  zooko at zooko.com
  * we dont support python < 2.3.3

Wed May 12 16:20:42 EDT 2004  zooko at zooko.com
  * even more improved version numbers
   . eliminate "version.py" files in favor of stuff in __init__.py
   . s/nano/__versionnano__/; s/sources/__versionsources__/; s/tags/__versiontags__/;
   . integrate baka's clientversion patch
   . maybe other small fixups

Wed May 12 16:20:24 EDT 2004  zooko at zooko.com
  * adjust for more detailed query_for_counterparty_and_send interface

Wed May 12 16:20:02 EDT 2004  zooko at zooko.com
  * dont need namespacepasting since we require python2.3

Wed May 12 16:13:11 EDT 2004  zooko at zooko.com
  * repr_msg

Wed May 12 10:34:46 EDT 2004  zooko at zooko.com
  * merge/fix repr and other

Wed May 12 10:19:23 EDT 2004  zooko at zooko.com
  * MT allows any service

Tue May 11 15:56:35 EDT 2004  zooko at zooko.com
  * fix commstrats to do the self-commstrat correctly

Tue May 11 10:40:19 EDT 2004  zooko at zooko.com
  * tighter preconditions -- commstrat must be Crypto

Tue May 11 10:32:43 EDT 2004  zooko at zooko.com
  * no PEERMAN

Tue May 11 10:17:14 EDT 2004  zooko at zooko.com
  * hopefully a fix

Tue May 11 10:12:05 EDT 2004  zooko at zooko.com
  * MT allows any service

Tue May 11 10:10:40 EDT 2004  zooko at zooko.com
  * replace config.MAX_VERBOSITY with debugstream.max_verbosity

Tue May 11 09:51:55 EDT 2004  zooko at zooko.com
  * twofixes

Tue May 11 08:51:55 EDT 2004  zooko at zooko.com
  * repr_msg
  repr_msg

Tue May 11 08:46:36 EDT 2004  zooko at zooko.com
  * replace humread with base32id

Tue May 11 08:21:38 EDT 2004  zooko at zooko.com
  * better CommStrat.__repr__() and tighter preconditions


Tue May 11 08:21:38 EDT 2004  zooko at zooko.com
  * better CommStrat.__repr__() and tighter preconditions
Shall I pull this patch? [ynWvxqdjk?] y

Tue May 11 08:46:36 EDT 2004  zooko at zooko.com
  * replace humread with base32id
Shall I pull this patch? [ynWvxqdjk?] d
Getting and merging patches the following:
[better CommStrat.__repr__() and tighter preconditions
zooko at zooko.com**20040511122138]
So far so good... finished merging.
syncing dir...
done syncing dir...
diffing dir...
We have conflicts in the following files:
./egtp/CommStrat.py ./egtp/Conversation.py
Applying patches to the local directories...
Error applying patch to recorded!
The patch was:
{
[better CommStrat.__repr__() and tighter preconditions
zooko at zooko.com**20040511122138] {
merger 0.0 (
hunk ./egtp/CommStrat.py 7
-__revision__ = "$Id: CommStrat.py,v 1.24 2003/12/09 16:24:14 zooko Exp $"
+__revision__ = "$Id: CommStrat.py,v 1.25 2004/05/04 15:27:36 myers_carpenter Exp $"
hunk ./egtp/CommStrat.py 7
-__revision__ = "$Id: CommStrat.py,v 1.24 2003/12/09 16:24:14 zooko Exp $"
-# $Source: /cvsroot/mnet/mnet_new/egtp/CommStrat.py,v $
+__version__ = "$Revision: 1.40 $"
+# $Source: /cvsroot/mnet/mnet_new/doc/coding_standards.html,v $
)
hunk ./egtp/CommStrat.py 16
+from pyutil.nummedobj import NummedObj
hunk ./egtp/CommStrat.py 18
+from base32 import base32id
+
hunk ./egtp/CommStrat.py 63
+    precondition((cs1 is None) or (cs2 is None) or (isinstance(cs1, Crypto) == isinstance(cs2, Crypto)), cs1, cs2)
hunk ./egtp/CommStrat.py 76
+    precondition((cs1 is None) or (cs2 is None) or (isinstance(cs1, Crypto) == isinstance(cs2, Crypto)), cs1, cs2)
merger 0.0 (
hunk ./egtp/CommStrat.py 83
-    # ZOOKO ... no idea, it blows up ...
-#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/egtp/Node.py", line 99, in translate
-#2004-05-04_08:01:24 ()     handler_func(self.peerset.new_peer(widget._commstrat), msgbody, ReplyOpHandler(self, widget._firstmsgId))
-#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/egtp/peerset.py", line 167, in new_peer
-#2004-05-04_08:01:24 ()     peer.consider_commstrat(peercommstrat)
-#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/egtp/peerset.py", line 88, in consider_commstrat
-#2004-05-04_08:01:24 ()     (self.peercommstrat, changed,) = CommStrat.choose_best_strategy(self.peercommstrat, commstrat)
-#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/egtp/CommStrat.py", line 60, in choose_best_strategy
-#2004-05-04_08:01:24 ()     (res, changed,) = _choose_best_strategy(cs1, cs2)
-#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/egtp/CommStrat.py", line 78, in _choose_best_strategy
-#2004-05-04_08:01:24 ()     _assert(isinstance(cs1, Crypto) == isinstance(cs2, Crypto))
-#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/pyutil/assertutil.py", line 32, in _assert
-#2004-05-04_08:01:24 ()     raise assertionfailureexception
-#2004-05-04_08:01:24 () AssertionError
-    #_assert(isinstance(cs1, Crypto) == isinstance(cs2, Crypto))
+    # IYSYF inpreference
+    if isinstance(cs1, ItsYourSelfYouFool):
+        return (cs2, True)
+    if isinstance(cs2, ItsYourSelfYouFool):
+        return (cs1, False)
+
+    _assert(isinstance(cs1, Crypto) == isinstance(cs2, Crypto))
merger 0.0 (
hunk ./egtp/CommStrat.py 83
-    _assert(isinstance(cs1, Crypto) == isinstance(cs2, Crypto))
+    # ZOOKO ... no idea, it blows up ...
+#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/egtp/Node.py", line 99, in translate
+#2004-05-04_08:01:24 ()     handler_func(self.peerset.new_peer(widget._commstrat), msgbody, ReplyOpHandler(self, widget._firstmsgId))
+#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/egtp/peerset.py", line 167, in new_peer
+#2004-05-04_08:01:24 ()     peer.consider_commstrat(peercommstrat)
+#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/egtp/peerset.py", line 88, in consider_commstrat
+#2004-05-04_08:01:24 ()     (self.peercommstrat, changed,) = CommStrat.choose_best_strategy(self.peercommstrat, commstrat)
+#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/egtp/CommStrat.py", line 60, in choose_best_strategy
+#2004-05-04_08:01:24 ()     (res, changed,) = _choose_best_strategy(cs1, cs2)
+#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/egtp/CommStrat.py", line 78, in _choose_best_strategy
+#2004-05-04_08:01:24 ()     _assert(isinstance(cs1, Crypto) == isinstance(cs2, Crypto))
+#2004-05-04_08:01:24 ()   File "/home/ash/src/mnet/pyutil/assertutil.py", line 32, in _assert
+#2004-05-04_08:01:24 ()     raise assertionfailureexception
+#2004-05-04_08:01:24 () AssertionError
+    #_assert(isinstance(cs1, Crypto) == isinstance(cs2, Crypto))
hunk ./egtp/CommStrat.py 83
-    _assert(isinstance(cs1, Crypto) == isinstance(cs2, Crypto))
)
)
hunk ./egtp/CommStrat.py 149
-class CommStrat:
+class CommStrat(NummedObj):
hunk ./egtp/CommStrat.py 153
+        NummedObj.__init__(self)
+
hunk ./egtp/CommStrat.py 175
-        return "<CommStrat %s>" % hr(self.id)
+        return "<%s %s %s>" % (self.__class__.__name__, self.objid, hr(self.id),)
merger 0.0 (
hunk ./egtp/CommStrat.py 194
-        precondition(self.asyncsock is None) or isinstance(self.asyncsock, TCPConnection.TCPConnection), "precondition: `self.asyncsock' must be an instance of TCPConnection or nothing." + " -- " + "self.asyncsock: %s :: %s" % (hr(self.asyncsock), hr(type(self.asyncsock)))
+        #ZZ assertion blows
+        #precondition(self.asyncsock is None) or isinstance(self.asyncsock, TCPConnection.TCPConnection), "precondition: `self.asyncsock' must be an instance of TCPConnection or nothing." + " -- " + "self.asyncsock: %s :: %s" % (hr(self.asyncsock), hr(type(self.asyncsock)))
merger 0.0 (
hunk ./egtp/CommStrat.py 195
-        return '<%s #%s to %s:%s via %s>' % (self.__class__.__name__, self._commstratseqno, self.host, self.port, self.asyncsock,)
+        #return '<%s #%s to %s:%s via %s>' % (self.__class__.__name__, self._commstratseqno, self.host, self.port, self.asyncsock,)
+        return '<%s #%s to %s:%s>' % (self.__class__.__name__, self._commstratseqno, self.host, self.port,)
merger 0.0 (
hunk ./egtp/CommStrat.py 195
-        return '<%s #%s to %s:%s via %s, %x>' % (self.__class__.__name__, self._commstratseqno, self.host, self.port, self.asyncsock, id(self),)
+        return '<%s #%s to %s:%s via %s>' % (self.__class__.__name__, self._commstratseqno, self.host, self.port, self.asyncsock,)
hunk ./egtp/CommStrat.py 194
-        precondition(self.asyncsock is None) or isinstance(self.asyncsock, TCPConnection.TCPConnection), "precondition: `self.asyncsock' must be an instance of TCPConnection or nothing." + " -- " + "self.asyncsock: %s :: %s" % (hr(self.asyncsock), hr(type(self.asyncsock)))
-        return '<%s #%s to %s:%s via %s, %x>' % (self.__class__.__name__, self._commstratseqno, self.host, self.port, self.asyncsock, id(self),)
+        precondition((self.asyncsock is None) or isinstance(self.asyncsock, TCPConnection.TCPConnection), "precondition: self.asyncsock must be an instance of TCPConnection or nothing." + " -- " + "self.asyncsock: %s :: %s" % (hr(self.asyncsock), hr(type(self.asyncsock))))
+        return '<%s %s seqno %s to %s:%s via %s>' % (self.__class__.__name__, self.objid, self._commstratseqno, self.host, self.port, self.asyncsock,)
)
)
)
merger 0.0 (
hunk ./egtp/CommStrat.py 301
-        return '<%s #%s to %s via %s>' % (self.__class__.__name__, self._commstratseqno, hr(self.id), hr(self._relayer_id),)
+        return '<%s #%s via %s>' % (self.__class__.__name__, self._commstratseqno, hr(self._relayer_id),)
merger 0.0 (
hunk ./egtp/CommStrat.py 301
-        return '<%s #%s to %s via %s at %x>' % (self.__class__.__name__, self._commstratseqno, humread.abbrev(self.id), humread.abbrev(self._relayer_id), id(self))
+        return '<%s #%s to %s via %s>' % (self.__class__.__name__, self._commstratseqno, hr(self.id), hr(self._relayer_id),)
hunk ./egtp/CommStrat.py 301
-        return '<%s #%s to %s via %s at %x>' % (self.__class__.__name__, self._commstratseqno, humread.abbrev(self.id), humread.abbrev(self._relayer_id), id(self))
+        return '<%s %s #%s to %s via %s>' % (self.__class__.__name__, self.objid, self._commstratseqno, humread.abbrev(self.id), humread.abbrev(self._relayer_id),)
)
)
merger 0.0 (
hunk ./egtp/CommStrat.py 393
-        self.reprstr = '<%s %s at %x, lowerstrategy: %s>' % (self.__class__.__name__, hr(idlib.make_id(self._pubkey)), id(self), self._lowerstrategy,)
+        self.reprstr = '<%s %s, lowerstrategy: %s>' % (self.__class__.__name__, hr(idlib.make_id(self._pubkey)), self._lowerstrategy,)
hunk ./egtp/CommStrat.py 393
-        self.reprstr = '<%s %s at %x, lowerstrategy: %s>' % (self.__class__.__name__, hr(idlib.make_id(self._pubkey)), id(self), self._lowerstrategy,)
+        self.reprstr = '<%s %s %s, lowerstrategy: %s>' % (self.__class__.__name__, self.objid, hr(idlib.make_id(self._pubkey)), self._lowerstrategy,)
)
merger 0.0 (
hunk ./egtp/CommStrat.py 584
-        computedId = crypto_adict_to_id(adict)
+        computedId = crypto_dict_to_id(adict)
hunk ./egtp/CommStrat.py 584
-        computedId = crypto_adict_to_id(adict)
+        computedId = crypto_dict_to_id(adict)
)
hunk ./egtp/Conversation.py 215 
-        precondition(isinstance(commstrat, CommStrat.CommStrat), "commstrat is required to be an instance of CommStrat.", commstrat)
+        precondition(isinstance(commstrat, CommStrat.Crypto), "commstrat is required to be an instance of CommStrat.Crypto.", commstrat)
hunk ./egtp/Conversation.py 337 
-        precondition(isinstance(commstrat, CommStrat.CommStrat), "commstrat is required to be an instance of CommStrat.", commstrat)
+        precondition(isinstance(commstrat, CommStrat.Crypto), "commstrat is required to be an instance of CommStrat.Crypto.", commstrat)
}
}





More information about the darcs-users mailing list