Actually, this will happen whenever the parameter n satisfies: 2**30 < n <= Integer.MAX_VALUE
Ram On Thu, Dec 22, 2016 at 5:34 PM, Munagala Ramanath <r...@datatorrent.com> wrote: > In Netlet CircularBuffer constructor, we have an infinite loop if the > first parameter (*n*) > is *Integer.MAX_VALUE* because the loop counter left-shifts 1 till it > drops into the sign > bit at which point the value is negative and fails the loop exit test. The > next left shift > yields 0 which, of course, stays that way forever; here is the fragment: > > * int i = 1;* > * while (i < n) {* > * i <<= 1;* > * }* > > Ram >