8022798: "assert(seq > 0) failed: counter overflow" in Kitchensink

Wed, 04 Sep 2013 08:55:08 -0400

author
zgu
date
Wed, 04 Sep 2013 08:55:08 -0400
changeset 5666
baa7927dfbd2
parent 5625
35b99e7e0af2
child 5667
38f750491293

8022798: "assert(seq > 0) failed: counter overflow" in Kitchensink
Summary: Removed incorrect assertion, sequence number can overflow
Reviewed-by: dholmes, kamg

src/share/vm/services/memPtr.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/services/memPtr.cpp	Sun Sep 01 10:37:01 2013 -0400
     1.2 +++ b/src/share/vm/services/memPtr.cpp	Wed Sep 04 08:55:08 2013 -0400
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -34,9 +34,9 @@
    1.11    jint seq = Atomic::add(1, &_seq_number);
    1.12    if (seq < 0) {
    1.13      MemTracker::shutdown(MemTracker::NMT_sequence_overflow);
    1.14 +  } else {
    1.15 +    NOT_PRODUCT(_max_seq_number = (seq > _max_seq_number) ? seq : _max_seq_number;)
    1.16    }
    1.17 -  assert(seq > 0, "counter overflow");
    1.18 -  NOT_PRODUCT(_max_seq_number = (seq > _max_seq_number) ? seq : _max_seq_number;)
    1.19    return seq;
    1.20  }
    1.21  

mercurial