Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 30334 invoked from network); 6 Nov 2007 09:34:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Nov 2007 09:34:14 -0000 Received: (qmail 53307 invoked by uid 500); 6 Nov 2007 09:34:02 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 53283 invoked by uid 500); 6 Nov 2007 09:34:02 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 53269 invoked by uid 99); 6 Nov 2007 09:34:02 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Nov 2007 01:34:02 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Nov 2007 09:34:41 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 8CBC87141FD for ; Tue, 6 Nov 2007 01:33:50 -0800 (PST) Message-ID: <7700583.1194341630566.JavaMail.jira@brutus> Date: Tue, 6 Nov 2007 01:33:50 -0800 (PST) From: "George Timoshenko (JIRA)" To: commits@harmony.apache.org Subject: [jira] Updated: (HARMONY-5067) [drlvm][jit] Incorrect string comparison In-Reply-To: <4370342.1194205370792.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HARMONY-5067?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] George Timoshenko updated HARMONY-5067: --------------------------------------- Attachment: Test_2.java > [drlvm][jit] Incorrect string comparison > ---------------------------------------- > > Key: HARMONY-5067 > URL: https://issues.apache.org/jira/browse/HARMONY-5067 > Project: Harmony > Issue Type: Bug > Components: DRLVM > Environment: windows32 > Reporter: Evgeniya Maenkova > Attachments: Test.java, Test_2.java, Test_2.java > > > The test mentioned below produces incorrect resuls starting from some iteration(r591816), works fine with interpreter. This bug isn;t reproducible on, say, r572955. > C:\ecl_311_ws\SPECjvm2007\bin1>C:\Harmony_to_run\trunk\working_vm\build\win_ia32_msvc_release\deploy\jdk\jre\bin\java -cp . Test > CRASH30 30(loop: 199751) > C:\ecl_311_ws\SPECjvm2007\bin1>C:\Harmony_to_run\trunk\working_vm\build\win_ia32_msvc_release\deploy\jdk\jre\bin\java -Xint Test > C:\ecl_311_ws\SPECjvm2007\bin1> > Test: > import java.util.Arrays; > > public class Test { > public static class MyObj implements Comparable { > String dir; > String name; > public MyObj(String name, String dir) { > this.dir = dir; > this.name = name; > } > > public int compareTo(MyObj other) { > String otherD = other.dir; > if (dir != otherD) { > int c = dir.compareTo(otherD); > if (c != 0) > return c; > } > return name.compareTo(other.name); > } > > } > > static MyObj[] arr = new MyObj[] { > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("WriteAbortedException.class","java\\io"), > new MyObj("Writer.class","java\\io"), > new MyObj("AbstractMethodError.class","java\\lang"), > new MyObj("AbstractStringBuilder.class","java\\lang"), > new MyObj("Appendable.class","java\\lang"), > new MyObj("VirtualMachineError.class","java\\lang"), > new MyObj("Void.class","java\\lang"), > new MyObj("ref","java\\lang"), > new MyObj("reflect","java\\lang"), > new MyObj("ReferenceQueue.class","java\\lang\\ref"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > new MyObj("AnnotatedElement.class","java\\lang\\reflect"), > new MyObj("GenericArrayType.class","java\\lang\\reflect"), > new MyObj("GenericDeclaration.class","java\\lang\\reflect"), > > }; > > > > public static void main(String[] args) { > for (int i = 0; i <1000000; i ++) { > int from = -Arrays.binarySearch(arr, > new MyObj(String.valueOf(Character.MIN_VALUE), "java\\lang")) - 1; > int to = -Arrays.binarySearch(arr, > new MyObj(String.valueOf(Character.MAX_VALUE), "java\\lang")) - 1; > if (to != 37 || from !=30) { > System.out.println("CRASH" + from + " " + to + "(loop: " + i + ")"); > System.exit(0); > } > } > > } > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.