Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7160610

Unknown Native Code compilation issue.

XMLWordPrintable

    • b10
    • x86
    • windows_7

        FULL PRODUCT VERSION :
        1.7.0_02

        FULL OS VERSION :
        Microsoft Windows [Version 6.1.7601]

        A DESCRIPTION OF THE PROBLEM :
        When I obfuscate my code a certain portion of it creates an error. I decompiled it and tested out the code by compiling normally and there was the same issue so I know it was not the obfuscators fault.

        THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: No

        THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        Just execute the method given below.

        EXPECTED VERSUS ACTUAL BEHAVIOR :
        Should just execute without any errors.
        ERROR MESSAGES/STACK TRACES THAT OCCUR :
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (vectornode.cpp:105), pid=2576, tid=3152
        # Error: ShouldNotReachHere()
        #
        # JRE version: 7.0_02-b13
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (22.0-b10 mixed mode windows-amd64 compressed oops)
        # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
        #
        # If you would like to submit a bug report, please visit:
        # http://bugreport.sun.com/bugreport/crash.jsp
        #

        --------------- T H R E A D ---------------

        Current thread (0x0000000006207000): JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=3152, stack(0x00000000071c0000,0x00000000072c0000)]

        Stack: [0x00000000071c0000,0x00000000072c0000]

        Current CompileTask:
        C2: 413 1 % org.qatide.jbco.util.ArrayTest::randomizeBackground @ 10 (258 bytes)


        --------------- P R O C E S S ---------------

        Java Threads: ( => current thread )
          0x00000000062d6800 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=6708, stack(0x00000000076e0000,0x00000000077e0000)]
          0x0000000006208800 JavaThread "Service Thread" daemon [_thread_blocked, id=6368, stack(0x00000000073a0000,0x00000000074a0000)]
        =>0x0000000006207000 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=3152, stack(0x00000000071c0000,0x00000000072c0000)]
          0x00000000061fa000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=6712, stack(0x0000000006fd0000,0x00000000070d0000)]
          0x00000000061f7000 JavaThread "Attach Listener" daemon [_thread_blocked, id=4376, stack(0x0000000006da0000,0x0000000006ea0000)]
          0x00000000061f2000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3208, stack(0x0000000006880000,0x0000000006980000)]
          0x00000000021b2800 JavaThread "Finalizer" daemon [_thread_blocked, id=2872, stack(0x0000000006bd0000,0x0000000006cd0000)]
          0x00000000021b1000 JavaThread "Reference Handler" daemon [_thread_blocked, id=6188, stack(0x0000000006a20000,0x0000000006b20000)]
          0x00000000022ac000 JavaThread "main" [_thread_in_Java, id=1588, stack(0x0000000002370000,0x0000000002470000)]

        Other Threads:
          0x00000000021a6000 VMThread [stack: 0x0000000006740000,0x0000000006840000] [id=5648]
          0x0000000006215800 WatcherThread [stack: 0x00000000074d0000,0x00000000075d0000] [id=4692]

        VM state:not at safepoint (normal execution)

        VM Mutex/Monitor currently owned by a thread: None

        Heap
         PSYoungGen total 28224K, used 1451K [0x00000000e0760000, 0x00000000e26e0000, 0x0000000100000000)
          eden space 24192K, 6% used [0x00000000e0760000,0x00000000e08caf70,0x00000000e1f00000)
          from space 4032K, 0% used [0x00000000e22f0000,0x00000000e22f0000,0x00000000e26e0000)
          to space 4032K, 0% used [0x00000000e1f00000,0x00000000e1f00000,0x00000000e22f0000)
         PSOldGen total 64576K, used 0K [0x00000000a1600000, 0x00000000a5510000, 0x00000000e0760000)
          object space 64576K, 0% used [0x00000000a1600000,0x00000000a1600000,0x00000000a5510000)
         PSPermGen total 21248K, used 2949K [0x000000009c400000, 0x000000009d8c0000, 0x00000000a1600000)
          object space 21248K, 13% used [0x000000009c400000,0x000000009c6e1588,0x000000009d8c0000)

        Code Cache [0x0000000002470000, 0x00000000026e0000, 0x0000000005470000)
         total_blobs=187 nmethods=2 adapters=138 free_code_cache=48767Kb largest_free_block=49918976

        Dynamic libraries:
        0x000000013fc20000 - 0x000000013fc53000 C:\Program Files\Java\jdk1.7.0_02\bin\java.exe
        0x0000000077690000 - 0x0000000077839000 C:\Windows\SYSTEM32\ntdll.dll
        0x0000000077410000 - 0x000000007752f000 C:\Windows\system32\kernel32.dll
        0x000007fefdd70000 - 0x000007fefdddc000 C:\Windows\system32\KERNELBASE.dll
        0x000007fefe610000 - 0x000007fefe6eb000 C:\Windows\system32\ADVAPI32.dll
        0x000007fefe430000 - 0x000007fefe4cf000 C:\Windows\system32\msvcrt.dll
        0x000007fefe920000 - 0x000007fefe93f000 C:\Windows\SYSTEM32\sechost.dll
        0x000007fefe4e0000 - 0x000007fefe60d000 C:\Windows\system32\RPCRT4.dll
        0x0000000076fb0000 - 0x00000000770aa000 C:\Windows\system32\USER32.dll
        0x000007fefe800000 - 0x000007fefe867000 C:\Windows\system32\GDI32.dll
        0x000007fefdfe0000 - 0x000007fefdfee000 C:\Windows\system32\LPK.dll
        0x000007fefe250000 - 0x000007fefe319000 C:\Windows\system32\USP10.dll
        0x000007fefc570000 - 0x000007fefc764000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\COMCTL32.dll
        0x000007fefdf60000 - 0x000007fefdfd1000 C:\Windows\system32\SHLWAPI.dll
        0x000007fefe400000 - 0x000007fefe42e000 C:\Windows\system32\IMM32.DLL
        0x000007fefe6f0000 - 0x000007fefe7f9000 C:\Windows\system32\MSCTF.dll
        0x00000000735a0000 - 0x0000000073671000 C:\Program Files\Java\jdk1.7.0_02\jre\bin\msvcr100.dll
        0x000000006d210000 - 0x000000006d8ea000 C:\Program Files\Java\jdk1.7.0_02\jre\bin\server\jvm.dll
        0x000007fefa630000 - 0x000007fefa639000 C:\Windows\system32\WSOCK32.dll
        0x000007fefe870000 - 0x000007fefe8bd000 C:\Windows\system32\WS2_32.dll
        0x000007fefe4d0000 - 0x000007fefe4d8000 C:\Windows\system32\NSI.dll
        0x000007fefbba0000 - 0x000007fefbbdb000 C:\Windows\system32\WINMM.dll
        0x0000000077860000 - 0x0000000077867000 C:\Windows\system32\PSAPI.DLL
        0x0000000073920000 - 0x000000007392f000 C:\Program Files\Java\jdk1.7.0_02\jre\bin\verify.dll
        0x0000000073870000 - 0x0000000073898000 C:\Program Files\Java\jdk1.7.0_02\jre\bin\java.dll
        0x0000000073850000 - 0x0000000073865000 C:\Program Files\Java\jdk1.7.0_02\jre\bin\zip.dll
        0x000007fefb730000 - 0x000007fefb740000 C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 11.0\bin\breakgen64.dll
        0x0000000073810000 - 0x0000000073829000 C:\Program Files\Java\jdk1.7.0_02\jre\bin\net.dll
        0x000007fefd340000 - 0x000007fefd395000 C:\Windows\system32\mswsock.dll
        0x000007fefd330000 - 0x000007fefd337000 C:\Windows\System32\wship6.dll

        VM Arguments:
        jvm_args: -Didea.launcher.port=7535 -Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 11.0\bin -Dfile.encoding=UTF-8
        java_command: com.intellij.rt.execution.application.AppMain org.qatide.jbco.JavaBytecodeObfuscator
        Launcher Type: SUN_STANDARD

        Environment Variables:
        PATH=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 11.0\bin\..\.\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\Trend Micro\AMSP;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Java\jdk1.6.0_25\bin\;c:\program files (x86)\jetbrains\intellij idea community edition 11.0\jre\jre\bin
        USERNAME=Scott
        OS=Windows_NT
        PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel



        --------------- S Y S T E M ---------------

        OS: Windows 7 , 64 bit Build 7601 Service Pack 1

        CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht

        Memory: 4k page, physical 6194316k(3244640k free), swap 12386780k(8891900k free)

        vm_info: Java HotSpot(TM) 64-Bit Server VM (22.0-b10) for windows-amd64 JRE (1.7.0_02-b13), built on Nov 17 2011 13:51:15 by "java_re" with unknown MS VC++:1600

        time: Wed Apr 11 08:00:39 2012
        elapsed time: 0 seconds


        REPRODUCIBILITY :
        This bug can be reproduced always.

        ---------- BEGIN SOURCE ----------
        public class ArrayTest {
        private static final byte[] $BYTE_ARRAY = new byte[7];
        private static int[] anIntArray1190 = new int[32768];
        private static int[] anIntArray1191 = new int[32768];

        public static void main(String args[])
        {
        int i = 256;
        for(int j = $BYTE_ARRAY[2]; j < anIntArray1190.length; j++)
        {
        anIntArray1190[j] = $BYTE_ARRAY[2];
        }

        for(int k = $BYTE_ARRAY[2]; (k ^ $BYTE_ARRAY[1]) > -5001; k++)
        {
        int i1 = (int)(Math.random() * 128D * (double)i);
        anIntArray1190[i1] = (int)(Math.random() * 256D);
        }

        System.out.println(3);
        for(int l = $BYTE_ARRAY[2]; (l ^ $BYTE_ARRAY[1]) > -21; l++)
        {
        for(int j1 = $BYTE_ARRAY[0]; j1 < i + -$BYTE_ARRAY[0]; j1++)
        {
        for(int k1 = $BYTE_ARRAY[0]; (k1 ^ $BYTE_ARRAY[1]) > -128; k1++)
        {
        int l1 = k1 - -(j1 << 0x26cb6487);
        anIntArray1191[l1] = (anIntArray1190[l1 + -$BYTE_ARRAY[0]] - -anIntArray1190[l1 - -$BYTE_ARRAY[0]] - -anIntArray1190[-128 + l1] - -anIntArray1190[128 + l1]) / $BYTE_ARRAY[6];
        }

        }

        int ai[] = anIntArray1190;
        anIntArray1190 = anIntArray1191;
        anIntArray1191 = ai;
        }

        }

        static {
        $BYTE_ARRAY[6] = 4;
        $BYTE_ARRAY[5] = 5;
        $BYTE_ARRAY[4] = 3;
        $BYTE_ARRAY[3] = 2;
        $BYTE_ARRAY[2] = 0;
        $BYTE_ARRAY[1] = -1;
        $BYTE_ARRAY[0] = 1;
        }
        }

        ---------- END SOURCE ----------

        CUSTOMER SUBMITTED WORKAROUND :
        Added printlines inside the loops to see where it stops and it worked.

              kvn Vladimir Kozlov
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: