You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2018/04/06 16:22:03 UTC
[geode] 01/02: GEODE-1279: Rename
FinalStaticArrayShouldNotCauseSegFaultRegressionTest
This is an automated email from the ASF dual-hosted git repository.
klund pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
commit a956147cc8dafa456da4f7b41e97ae4dd60327f6
Author: Kirk Lund <kl...@apache.org>
AuthorDate: Wed Apr 4 10:40:59 2018 -0700
GEODE-1279: Rename FinalStaticArrayShouldNotCauseSegFaultRegressionTest
---
...ArrayShouldNotCauseSegFaultRegressionTest.java} | 55 +++++++++++-----------
1 file changed, 28 insertions(+), 27 deletions(-)
diff --git a/geode-core/src/test/java/org/apache/geode/cache/FinalStaticArrayShouldNotCauseSegFaultTest.java b/geode-core/src/test/java/org/apache/geode/cache/FinalStaticArrayShouldNotCauseSegFaultRegressionTest.java
similarity index 60%
rename from geode-core/src/test/java/org/apache/geode/cache/FinalStaticArrayShouldNotCauseSegFaultTest.java
rename to geode-core/src/test/java/org/apache/geode/cache/FinalStaticArrayShouldNotCauseSegFaultRegressionTest.java
index e84b655..b83ea0f 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/FinalStaticArrayShouldNotCauseSegFaultTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/FinalStaticArrayShouldNotCauseSegFaultRegressionTest.java
@@ -26,8 +26,6 @@ import org.junit.experimental.categories.Category;
import org.apache.geode.test.junit.categories.UnitTest;
/**
- * Test case for Trac <a href="https://svn.gemstone.com/trac/gemfire/ticket/52289">#52289</a>.
- *
* Asserts fixes for bug JDK-8076152 in JDK 1.8.0u20 to 1.8.0.u45.
* http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8076152
*
@@ -38,45 +36,48 @@ import org.apache.geode.test.junit.categories.UnitTest;
* This test and its corrections can be removed after the release of JDK 1.8.0u60 if we choose to
* not support 1.8.0u20 - 1.8.0u45 inclusive.
*
+ * <p>
+ * TRAC #52289: HotSpot SIGSEGV in C2 CompilerThread1 (LoadNode::Value(PhaseTransform*) const+0x202)
+ * with JDK 1.8.0_45
+ *
* @since GemFire 8.2
*/
@Category(UnitTest.class)
-public class FinalStaticArrayShouldNotCauseSegFaultTest {
+public class FinalStaticArrayShouldNotCauseSegFaultRegressionTest {
@Test
- public void test() throws IOException, ClassNotFoundException {
- // Iterate enough to cause JIT to compile
- // javax.print.attribute.EnumSyntax::readResolve
+ public void finalStaticArrayShouldNotCauseSegFault() throws Exception {
+ // Iterate enough to cause JIT to compile javax.print.attribute.EnumSyntax::readResolve
for (int i = 0; i < 100_000; i++) {
- // Must execute two or more subclasses with static final arrays of
- // different types.
+ // Must execute two or more subclasses with static final arrays of different types.
doEvictionAlgorithm();
doEvictionAction();
}
}
- protected void doEvictionAlgorithm() throws IOException, ClassNotFoundException {
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- final ObjectOutputStream oos = new ObjectOutputStream(baos);
- oos.writeObject(EvictionAlgorithm.NONE);
- oos.close();
+ private void doEvictionAlgorithm() throws IOException, ClassNotFoundException {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
- final ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- final ObjectInputStream ois = new ObjectInputStream(bais);
- ois.readObject();
- ois.close();
+ try (ObjectOutputStream oos = new ObjectOutputStream(baos)) {
+ oos.writeObject(EvictionAlgorithm.NONE);
+ }
+
+ try (ObjectInputStream ois =
+ new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray()))) {
+ ois.readObject();
+ }
}
- protected void doEvictionAction() throws IOException, ClassNotFoundException {
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- final ObjectOutputStream oos = new ObjectOutputStream(baos);
- oos.writeObject(EvictionAction.NONE);
- oos.close();
+ private void doEvictionAction() throws IOException, ClassNotFoundException {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
- final ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- final ObjectInputStream ois = new ObjectInputStream(bais);
- ois.readObject();
- ois.close();
- }
+ try (ObjectOutputStream oos = new ObjectOutputStream(baos)) {
+ oos.writeObject(EvictionAction.NONE);
+ }
+ try (ObjectInputStream ois =
+ new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray()))) {
+ ois.readObject();
+ }
+ }
}
--
To stop receiving notification emails like this one, please contact
klund@apache.org.