Comments on: A tiny and incomplete TRB wedgetrace http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/ Fri, 21 Aug 2020 17:09:08 +0000 http://polimedia.us hourly 1 By: getdata for blocks « mod6's Blog http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/#comment-160 getdata for blocks « mod6's Blog Mon, 16 Mar 2020 20:29:30 +0000 http://bvt-trace.net/?p=74#comment-160 [...] had his gdb connected to his node and was able to debug when the problem occurred. His helpful information was a good starting point for deeper [...] [...] had his gdb connected to his node and was able to debug when the problem occurred. His helpful information was a good starting point for deeper [...]

]]>
By: bvt http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/#comment-144 bvt Thu, 27 Feb 2020 20:44:21 +0000 http://bvt-trace.net/?p=74#comment-144 @Stanislav: Thanks for the tool, the result is what I expected. @mod6: Thanks for the patch, I have applied it to my TRB instance, together with your three newer vpatches. @Stanislav: Thanks for the tool, the result is what I expected.
@mod6: Thanks for the patch, I have applied it to my TRB instance, together with your three newer vpatches.

]]>
By: Stanislav Datskovskiy http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/#comment-143 Stanislav Datskovskiy Wed, 26 Feb 2020 23:28:50 +0000 http://bvt-trace.net/?p=74#comment-143 Re #7,8, update: turns out item is a reliably deterministic bomb for TRB... Re #7,8, update: turns out item is a reliably deterministic bomb for TRB...

]]>
By: Stanislav Datskovskiy http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/#comment-142 Stanislav Datskovskiy Wed, 26 Feb 2020 21:11:30 +0000 http://bvt-trace.net/?p=74#comment-142 Re #7: Done, see #a. Let me know if you need help with this util. Re #7: Done, see #a. Let me know if you need help with this util.

]]>
By: bvt http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/#comment-141 bvt Wed, 26 Feb 2020 18:24:54 +0000 http://bvt-trace.net/?p=74#comment-141 One massive - number of inv's must be just below the 50000 limit. One massive - number of inv's must be just below the 50000 limit.

]]>
By: Stanislav Datskovskiy http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/#comment-140 Stanislav Datskovskiy Wed, 26 Feb 2020 18:21:01 +0000 http://bvt-trace.net/?p=74#comment-140 Re #5 - - can you give a little more detail re what precisely to request? (i.e. one massive getdata? or series thereof?) Re #5 - - can you give a little more detail re what precisely to request? (i.e. one massive getdata? or series thereof?)

]]>
By: bvt http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/#comment-139 bvt Wed, 26 Feb 2020 18:17:56 +0000 http://bvt-trace.net/?p=74#comment-139 I had two more wedges again today, both happened when a monkey/wannabe-attacker requested 49717 (different) blocks (i.e. "getdata" vInv.size() = 49717, a bit below the limit). I also think that I have a vague understanding what happens (until the point, when anything can happen, that is), but would like to test it with another equivalent 'attack', to verify the idea. @Stanislav: how much time would it take you to extend watchglass to do such attack? I had two more wedges again today, both happened when a monkey/wannabe-attacker requested 49717 (different) blocks (i.e. "getdata" vInv.size() = 49717, a bit below the limit). I also think that I have a vague understanding what happens (until the point, when anything can happen, that is), but would like to test it with another equivalent 'attack', to verify the idea.
@Stanislav: how much time would it take you to extend watchglass to do such attack?

]]>
By: Stanislav Datskovskiy http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/#comment-138 Stanislav Datskovskiy Wed, 26 Feb 2020 00:05:56 +0000 http://bvt-trace.net/?p=74#comment-138 In continued "wtf": 1) The <i>assert</i> in <i>EndMessage()</i> is for some reason <b>after</b> the invocation of <i>Hash</i>... 2) Always "passes" -- on account of the unsignedness of the operands. In continued "wtf":

1) The assert in EndMessage() is for some reason after the invocation of Hash...
2) Always "passes" -- on account of the unsignedness of the operands.

]]>
By: Stanislav Datskovskiy http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/#comment-137 Stanislav Datskovskiy Tue, 25 Feb 2020 23:53:58 +0000 http://bvt-trace.net/?p=74#comment-137 One immediate "wtf" : in net.h: unsigned int nHeaderStart; unsigned int nMessageStart; ...but afterwards at several points each gets (a) set to -1 (b) compared in the form <i>if (nHeaderStart == -1)</i> rather than tested for negativity. Interestingly, both (a) and (b) was quietly patched (to <i>unsigned</i> and test-if-below-zero in PRB 0.6.3, without human-readable explanation. One immediate "wtf" :

in net.h:

unsigned int nHeaderStart;
unsigned int nMessageStart;

...but afterwards at several points each gets (a) set to -1 (b) compared in the form if (nHeaderStart == -1) rather than tested for negativity.

Interestingly, both (a) and (b) was quietly patched (to unsigned and test-if-below-zero in PRB 0.6.3, without human-readable explanation.

]]>
By: Stanislav Datskovskiy http://bvt-trace.net/2020/02/a-tiny-and-incomplete-trb-wedgetrace/#comment-136 Stanislav Datskovskiy Tue, 25 Feb 2020 21:39:32 +0000 http://bvt-trace.net/?p=74#comment-136 Thank you for the core dump, bvt; I have mirrored it <a href="http://nosuchlabs.com/pub/bvt-trb-wedge.tar.gz" rel="nofollow">here</a>. Thank you for the core dump, bvt; I have mirrored it here.

]]>