Thread (8 messages) flat view 8 messages, 3 authors, 2016-06-15
DORMANTno replies

[PATCH] Link to the Sun JVM bug mentioned in OffsetCache

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:46:42
Subsystem: the rest · Maintainer: Linus Torvalds

This bug has now been published by Sun.  We should link to the
database entry so we can find more detail later.

Signed-off-by: Shawn O. Pearce <redacted>
---
  "Shawn O. Pearce" [off-list ref] wrote:
  > Robin Rosenberg [off-list ref] wrote:
  > > > diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/OffsetCache.java b/org.spearce.jgit/src/org/spearce/jgit/lib/OffsetCache.java
  > > > +	private void gc() {
  > > > +		R r;
  > > > +		while ((r = (R) queue.poll()) != null) {
  > > > +			// Sun's Java 5 and 6 implementation have a bug where a Reference
  > > > +			// can be enqueued and dequeued twice on the same reference queue
  > > > +			// due to a race condition within ReferenceQueue.enqueue(Reference).
  > > 
  > > Reference to the official Sun bug? Might help if someone wants to
  > > implement a flag to avoid this (if necessary...)
  > 
  > Actually, this is a new bug.  I tried looking through BugParade
  > but nobody has mentioned or discovered this before.
  > 
  > I submitted a bug report yesterday, but they have yet to publish it.

  And here it is.

 .../src/org/spearce/jgit/lib/OffsetCache.java      |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/OffsetCache.java b/org.spearce.jgit/src/org/spearce/jgit/lib/OffsetCache.java
index a1cd4be..b81c7e0 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/lib/OffsetCache.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/OffsetCache.java
@@ -414,6 +414,8 @@ private void gc() {
 			// can be enqueued and dequeued twice on the same reference queue
 			// due to a race condition within ReferenceQueue.enqueue(Reference).
 			//
+			// http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6837858
+			//
 			// We CANNOT permit a Reference to come through us twice, as it will
 			// skew the resource counters we maintain. Our canClear() check here
 			// provides a way to skip the redundant dequeues, if any.
-- 
1.6.3.rc4.206.g03e16
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help