0

次のステップを決定するために、アルファベータ検索アルゴリズムを使用して五目並べプログラムを作成しました。これは私の評価関数と connect3 と connect4 です:

public float positionEvaluation(Position p, boolean player){
    if(wonPosition(p, player))
        return Float.POSITIVE_INFINITY;
    if(wonPosition(p, !player))
        return Float.NEGATIVE_INFINITY;

    float ret = 0;
    GomokuPosition pos = (GomokuPosition)p;

    int[] myConnect4 = connect4(p, player);
    int[] enemyConnect4 = connect4(p, !player);
    int[] myConnect3 = connect3(p, player);
    int[] enemyConnect3 = connect3(p, !player);

    ret += myConnect4[2] * 1000;
    ret += myConnect4[1] * 100;
    ret += myConnect3[2] * 100;
    ret += myConnect3[1] * 10;

    ret -= enemyConnect4[2] * 1000;
    ret -= enemyConnect4[1] * 100;
    ret -= enemyConnect3[2] * 100;
    ret -= enemyConnect3[1] * 10;

    return ret;
}


private int[] connect4(Position p, boolean player) {
    GomokuPosition pos = (GomokuPosition)p;
    short b;
    if(player) b = GomokuPosition.HUMAN;
    else b = GomokuPosition.PROGRAM;

    int n[] = {0, 0, 0};

    for(int i = 0; i < pos.grid.length; i++) {
        for(int j = 0; j < pos.grid[0].length; j++) {
            if(i+3 < pos.grid.length) {
                if(pos.grid[i][j] == b
                        && pos.grid[i][j] == pos.grid[i+1][j]
                                && pos.grid[i][j] == pos.grid[i+2][j]
                                        && pos.grid[i][j] == pos.grid[i+3][j]) {
                    while(true) {
                        if(i+4 < pos.grid.length)
                            if(pos.grid[i+4][j] == b) break;
                        if(i-1 >= 0)
                            if(pos.grid[i-1][j] == b) break;
                        n[0]++;

                        if(i-1 >= 0 && i+4 >= pos.grid.length) {
                            if(pos.grid[i-1][j] == GomokuPosition.BLANK)
                                n[1]++;
                        }
                        else if(i-1 < 0 && i+4 < pos.grid.length) {
                            if(pos.grid[i+4][j] == GomokuPosition.BLANK)
                                n[1]++;
                        }
                        else if(i-1 >= 0 && i+4 < pos.grid.length) {
                            if(pos.grid[i-1][j] == GomokuPosition.BLANK 
                                    && pos.grid[i+4][j] != GomokuPosition.BLANK)
                                n[1]++;
                            if(pos.grid[i+4][j] == GomokuPosition.BLANK
                                    && pos.grid[i-1][j] != GomokuPosition.BLANK)
                                n[1]++;

                            if(pos.grid[i-1][j] == GomokuPosition.BLANK
                                    && pos.grid[i+4][j] == GomokuPosition.BLANK)
                                n[2]++;
                        }
                        break;
                    }
                }
            }

            if(j+3 < pos.grid[0].length) {
                if(pos.grid[i][j] == b
                        && pos.grid[i][j] == pos.grid[i][j+1]
                                && pos.grid[i][j] == pos.grid[i][j+2]
                                        && pos.grid[i][j] == pos.grid[i][j+3]) {
                    while(true) {
                        if(j+4 < pos.grid[0].length)
                            if(pos.grid[i][j+4] == b) break;
                        if(j-1 >= 0)
                            if(pos.grid[i][j-1] == b) break;
                        n[0]++;

                        if(j-1 >= 0 && j+4 >= pos.grid[0].length) {
                            if(pos.grid[i][j-1] == GomokuPosition.BLANK)
                                n[1]++;
                        }
                        else if(j-1 < 0 && j+4 < pos.grid[0].length) {
                            if(pos.grid[i][j+4] == GomokuPosition.BLANK)
                                n[1]++;
                        }
                        else if(j-1 >= 0 && j+4 < pos.grid[0].length) {
                            if(pos.grid[i][j-1] == GomokuPosition.BLANK 
                                    && pos.grid[i][j+4] != GomokuPosition.BLANK)
                                n[1]++;
                            if(pos.grid[i][j+4] == GomokuPosition.BLANK
                                    && pos.grid[i][j-1] != GomokuPosition.BLANK)
                                n[1]++;

                            if(pos.grid[i][j-1] == GomokuPosition.BLANK
                                    && pos.grid[i][j+4] == GomokuPosition.BLANK)
                                n[2]++;
                        }
                        break;
                    }
                }
            }

            if(i+3 < pos.grid.length && j+3 < pos.grid[0].length) {
                if(pos.grid[i][j] == b
                        && pos.grid[i][j] == pos.grid[i+1][j+1]
                                && pos.grid[i][j] == pos.grid[i+2][j+2]
                                        && pos.grid[i][j] == pos.grid[i+3][j+3]) {
                    while(true) {
                        if(i+4 < pos.grid.length && j+4 < pos.grid[0].length)
                            if(pos.grid[i+4][j+4] == b) break;
                        if(i-1 >= 0 && j-1 >= 0)
                            if(pos.grid[i-1][j-1] == b) break;
                        n[0]++;

                        if((i-1 >= 0 && j-1 >= 0) && (i+4 >= pos.grid.length || j+4 >= pos.grid[0].length)) {
                            if(pos.grid[i-1][j-1] == GomokuPosition.BLANK)
                                n[1]++;
                        }
                        else if((i-1 < 0 || j-1 < 0) && (i+4 < pos.grid.length && j+4 < pos.grid[0].length)) {
                            if(pos.grid[i+4][j+4] == GomokuPosition.BLANK)
                                n[1]++;
                        }
                        else if((i-1 >= 0 && j-1 >= 0) && (i+4 < pos.grid.length && j+4 < pos.grid[0].length)) {
                            if(pos.grid[i-1][j-1] == GomokuPosition.BLANK
                                    && pos.grid[i+4][j+4] != GomokuPosition.BLANK)
                                n[1]++;
                            if(pos.grid[i+4][j+4] == GomokuPosition.BLANK
                                    && pos.grid[i-1][j-1] != GomokuPosition.BLANK)
                                n[1]++;
                            if(pos.grid[i-1][j-1] == GomokuPosition.BLANK && pos.grid[i+4][j+4] == GomokuPosition.BLANK)
                                n[2]++;
                        }
                        break;
                    }
                }
            }

            if(i-3 >= 0 && j+3 < pos.grid[0].length) {
                if(pos.grid[i][j] == b
                        && pos.grid[i][j] == pos.grid[i-1][j+1]
                                && pos.grid[i][j] == pos.grid[i-2][j+2]
                                        && pos.grid[i][j] == pos.grid[i-3][j+3]) {
                    while(true) {
                        if(i-4 >= 0 && j+4 < pos.grid[0].length)
                            if(pos.grid[i-4][j+4] == b) break;
                        if(i+1 < pos.grid.length && j-1 >= 0)
                            if(pos.grid[i+1][j-1] == b) break;
                        n[0]++;

                        if((i-4 >= 0 && j+4 < pos.grid[0].length) && (i+1 >= pos.grid.length || j-1 < 0)) {
                            if(pos.grid[i-4][j+4] == GomokuPosition.BLANK)
                                n[1]++;
                        }
                        else if((i-4 < 0 || j+4 > pos.grid[0].length) && (i+1 < pos.grid.length && j-1 >= 0)) {
                            if(pos.grid[i+1][j-1] == GomokuPosition.BLANK)
                                n[1]++;
                        }
                        else if((i-4 >= 0 && j+4 < pos.grid[0].length) && (i+1 < pos.grid.length && j-1 >= 0)) {
                            if(pos.grid[i-4][j+4] == GomokuPosition.BLANK
                                    && pos.grid[i+1][j-1] != GomokuPosition.BLANK)
                                n[1]++;
                            if(pos.grid[i+1][j-1] == GomokuPosition.BLANK
                                    && pos.grid[i-4][j+4] != GomokuPosition.BLANK)
                                n[1]++;
                            if(pos.grid[i-4][j+4] == GomokuPosition.BLANK && pos.grid[i+1][j-1] == GomokuPosition.BLANK)
                                n[2]++;
                        }
                        break;
                    }
                }
            }
        }
    }
    return n;
}

connect4 と connect3 は、connect4 と connect3 の int 配列ストア番号を 1 行で返すメソッドです。この配列の 1 番目の要素は総数、2 番目の要素は 1 つの開いた端の数、3 番目の要素は 2 つの開いた端の数です。このプログラムを実行すると、Java で致命的なエラーが発生します。

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000000250dbe6, pid=4188, tid=5744
#
# JRE version: 7.0_17-b02
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# J  Gomoku.connect4(LPosition;Z)[I
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\Users\Tian\workspace\Gomoku\hs_err_pid4188.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#

発生するクラッシュは、チェスの検索深度とサイズに関連しています。検索の深さを 1 や 2 などの小さな数値に設定すると、いくつかの手順で動作しますが、いくつかの手順の後にクラッシュします。検索深度を 4 または 5 に設定すると、最初のステップでクラッシュします。この問題の理由は何ですか? PS。私のオペレーティング システムは Windows 8 64 ビットです。このプログラムを Windows XP と Linux で実行してみましたが、これら 2 つのシステムでうまく動作するようです。

これはエラーログです:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000000250dbe6, pid=4188, tid=5744
#
# JRE version: 7.0_17-b02
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# J  Gomoku.connect4(LPosition;Z)[I
#
# 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 (0x000000000cd93800):  JavaThread "AWT-EventQueue-0" [_thread_in_Java, id=5744, stack(0x000000000df00000,0x000000000e000000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x0000000bd790ffec

Registers:
RAX=0x0000000000000001, RBX=0x0000000000000001, RCX=0x00000000ffffffff, RDX=0x000000000000000f
RSP=0x000000000dffcd20, RBP=0x0000000000000003, RSI=0x000000000000000f, RDI=0x000000000000000f
R8 =0x000000000000000f, R9 =0x0000000000000006, R10=0x0000000000000007, R11=0x00000007d79100c0
R12=0x0000000000000000, R13=0x00000007d790ffe0, R14=0x0000000000000000, R15=0x000000000cd93800
RIP=0x000000000250dbe6, EFLAGS=0x0000000000010246

Top of Stack: (sp=0x000000000dffcd20)
0x000000000dffcd20:   0000000f00000001 000000020000000f
0x000000000dffcd30:   00000000faf21ffc 00000007d790ffd0
0x000000000dffcd40:   00000007d791c0c0 00000007d790ffe0
0x000000000dffcd50:   0000000400000003 0000000f0000000f
0x000000000dffcd60:   00000001ffffffff 0000000000000003
0x000000000dffcd70:   faf220240000000f 0000000bfaf2201e
0x000000000dffcd80:   0000000000000007 000000000dffce20
0x000000000dffcd90:   00000007d7910090 00000007d791c060
0x000000000dffcda0:   000000000000000f 000000000249e2ec
0x000000000dffcdb0:   000000000dffce20 00000000024863d3
0x000000000dffcdc0:   00000000024863d3 0000000000000000
0x000000000dffcdd0:   00000007d790ffd0 00000007d888a550
0x000000000dffcde0:   000000000dffcde0 000000077dc530b8
0x000000000dffcdf0:   000000000dffce68 000000077dcd8b08
0x000000000dffce00:   0000000000000000 000000077dc53150
0x000000000dffce10:   000000000dffcdc8 000000000dffce58 

Instructions: (pc=0x000000000250dbe6)
0x000000000250dbc6:   44 89 5c 24 5c 4f 8d 1c d4 44 8b 54 24 30 41 83
0x000000000250dbd6:   c2 04 44 89 54 24 60 45 85 f6 0f 8c 52 09 00 00
0x000000000250dbe6:   45 8b 54 8d 10 44 89 54 24 64 44 8b 54 24 30 47
0x000000000250dbf6:   8b 54 95 0c 44 89 54 24 68 47 8b 54 b5 10 44 89 


Register to memory mapping:

RAX=0x0000000000000001 is an unknown value
RBX=0x0000000000000001 is an unknown value
RCX=0x00000000ffffffff is an unknown value
RDX=0x000000000000000f is an unknown value
RSP=0x000000000dffcd20 is pointing into the stack for thread: 0x000000000cd93800
RBP=0x0000000000000003 is an unknown value
RSI=0x000000000000000f is an unknown value
RDI=0x000000000000000f is an unknown value
R8 =0x000000000000000f is an unknown value
R9 =0x0000000000000006 is an unknown value
R10=0x0000000000000007 is an unknown value
R11=0x00000007d79100c0 is an oop
[S 
 - klass: {type array short}
 - length: 15
R12=0x0000000000000000 is an unknown value
R13=0x00000007d790ffe0 is an oop
[[S 
 - klass: {type array short}[]
 - length: 15
R14=0x0000000000000000 is an unknown value
R15=0x000000000cd93800 is a thread


Stack: [0x000000000df00000,0x000000000e000000],  sp=0x000000000dffcd20,  free space=1011k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
J  Gomoku.connect4(LPosition;Z)[I


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

Java Threads: ( => current thread )
  0x000000000cdfa800 JavaThread "TimerQueue" daemon [_thread_blocked, id=3656, stack(0x000000000e4d0000,0x000000000e5d0000)]
  0x000000000237d800 JavaThread "DestroyJavaVM" [_thread_blocked, id=5420, stack(0x0000000002230000,0x0000000002330000)]
=>0x000000000cd93800 JavaThread "AWT-EventQueue-0" [_thread_in_Java, id=5744, stack(0x000000000df00000,0x000000000e000000)]
  0x000000000cd03800 JavaThread "AWT-Windows" daemon [_thread_in_native, id=1728, stack(0x000000000d880000,0x000000000d980000)]
  0x000000000cd03000 JavaThread "AWT-Shutdown" [_thread_blocked, id=2348, stack(0x000000000d780000,0x000000000d880000)]
  0x000000000b2f3000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=1980, stack(0x000000000d680000,0x000000000d780000)]
  0x000000000b2cc800 JavaThread "Service Thread" daemon [_thread_blocked, id=3496, stack(0x000000000ca70000,0x000000000cb70000)]
  0x000000000b2c8800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=7612, stack(0x000000000c970000,0x000000000ca70000)]
  0x000000000b2bf800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=980, stack(0x000000000c870000,0x000000000c970000)]
  0x000000000b2bc800 JavaThread "Attach Listener" daemon [_thread_blocked, id=7984, stack(0x000000000c770000,0x000000000c870000)]
  0x000000000b2bb800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1116, stack(0x000000000c670000,0x000000000c770000)]
  0x000000000b255000 JavaThread "Finalizer" daemon [_thread_blocked, id=4120, stack(0x000000000c570000,0x000000000c670000)]
  0x000000000b24c800 JavaThread "Reference Handler" daemon [_thread_blocked, id=6724, stack(0x000000000c470000,0x000000000c570000)]

Other Threads:
  0x000000000b243000 VMThread [stack: 0x000000000c370000,0x000000000c470000] [id=6708]
  0x000000000b2e5000 WatcherThread [stack: 0x000000000cb70000,0x000000000cc70000] [id=4464]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 37376K, used 25504K [0x00000007d6400000, 0x00000007dad00000, 0x0000000800000000)
  eden space 32064K, 68% used [0x00000007d6400000,0x00000007d7991a90,0x00000007d8350000)
  from space 5312K, 64% used [0x00000007d8880000,0x00000007d8bd6610,0x00000007d8db0000)
  to   space 5312K, 0% used [0x00000007d8350000,0x00000007d8350000,0x00000007d8880000)
 ParOldGen       total 85504K, used 0K [0x0000000782c00000, 0x0000000787f80000, 0x00000007d6400000)
  object space 85504K, 0% used [0x0000000782c00000,0x0000000782c00000,0x0000000787f80000)
 PSPermGen       total 21248K, used 8260K [0x000000077da00000, 0x000000077eec0000, 0x0000000782c00000)
  object space 21248K, 38% used [0x000000077da00000,0x000000077e2113d8,0x000000077eec0000)

Card table byte_map: [0x0000000005540000,0x0000000005960000] byte_map_base: 0x0000000001953000

Polling page: 0x0000000000aa0000

Code Cache  [0x0000000002480000, 0x00000000026f0000, 0x0000000005480000)
 total_blobs=395 nmethods=14 adapters=333 free_code_cache=48613Kb largest_free_block=49726528

Compilation events (10 events):
Event: 2.242 Thread 0x000000000b2c8800   10             Gomoku::connect4 (1887 bytes)
Event: 2.258 Thread 0x000000000b2bf800 nmethod 9 0x0000000002503e50 code [0x0000000002503fe0, 0x0000000002505298]
Event: 2.271 Thread 0x000000000b2bf800   11             Gomoku::possibleMoves (186 bytes)
Event: 2.291 Thread 0x000000000b2bf800 nmethod 11 0x0000000002500b90 code [0x0000000002500d20, 0x0000000002501608]
Event: 2.291 Thread 0x000000000b2bf800   12             GomokuPosition::<init> (21 bytes)
Event: 2.295 Thread 0x000000000b2bf800 nmethod 12 0x0000000002501fd0 code [0x0000000002502100, 0x0000000002502398]
Event: 2.295 Thread 0x000000000b2bf800   13             Position::<init> (5 bytes)
Event: 2.295 Thread 0x000000000b2bf800 nmethod 13 0x0000000002502490 code [0x00000000025025c0, 0x0000000002502618]
Event: 2.378 Thread 0x000000000b2bf800   14             Gomoku::drawnPosition (59 bytes)
Event: 2.380 Thread 0x000000000b2bf800 nmethod 14 0x00000000024fe690 code [0x00000000024fe7e0, 0x00000000024fe978]

GC Heap History (4 events):
Event: 2.309 GC heap before
{Heap before GC invocations=1 (full 0):
 PSYoungGen      total 37376K, used 32064K [0x00000007d6400000, 0x00000007d8db0000, 0x0000000800000000)
  eden space 32064K, 100% used [0x00000007d6400000,0x00000007d8350000,0x00000007d8350000)
  from space 5312K, 0% used [0x00000007d8880000,0x00000007d8880000,0x00000007d8db0000)
  to   space 5312K, 0% used [0x00000007d8350000,0x00000007d8350000,0x00000007d8880000)
 ParOldGen       total 85504K, used 0K [0x0000000782c00000, 0x0000000787f80000, 0x00000007d6400000)
  object space 85504K, 0% used [0x0000000782c00000,0x0000000782c00000,0x0000000787f80000)
 PSPermGen       total 21248K, used 8258K [0x000000077da00000, 0x000000077eec0000, 0x0000000782c00000)
  object space 21248K, 38% used [0x000000077da00000,0x000000077e210b90,0x000000077eec0000)
Event: 2.313 GC heap after
Heap after GC invocations=1 (full 0):
 PSYoungGen      total 37376K, used 3385K [0x00000007d6400000, 0x00000007d8db0000, 0x0000000800000000)
  eden space 32064K, 0% used [0x00000007d6400000,0x00000007d6400000,0x00000007d8350000)
  from space 5312K, 63% used [0x00000007d8350000,0x00000007d869e610,0x00000007d8880000)
  to   space 5312K, 0% used [0x00000007d8880000,0x00000007d8880000,0x00000007d8db0000)
 ParOldGen       total 85504K, used 0K [0x0000000782c00000, 0x0000000787f80000, 0x00000007d6400000)
  object space 85504K, 0% used [0x0000000782c00000,0x0000000782c00000,0x0000000787f80000)
 PSPermGen       total 21248K, used 8258K [0x000000077da00000, 0x000000077eec0000, 0x0000000782c00000)
  object space 21248K, 38% used [0x000000077da00000,0x000000077e210b90,0x000000077eec0000)
}
Event: 2.346 GC heap before
{Heap before GC invocations=2 (full 0):
 PSYoungGen      total 37376K, used 35449K [0x00000007d6400000, 0x00000007d8db0000, 0x0000000800000000)
  eden space 32064K, 100% used [0x00000007d6400000,0x00000007d8350000,0x00000007d8350000)
  from space 5312K, 63% used [0x00000007d8350000,0x00000007d869e610,0x00000007d8880000)
  to   space 5312K, 0% used [0x00000007d8880000,0x00000007d8880000,0x00000007d8db0000)
 ParOldGen       total 85504K, used 0K [0x0000000782c00000, 0x0000000787f80000, 0x00000007d6400000)
  object space 85504K, 0% used [0x0000000782c00000,0x0000000782c00000,0x0000000787f80000)
 PSPermGen       total 21248K, used 8258K [0x000000077da00000, 0x000000077eec0000, 0x0000000782c00000)
  object space 21248K, 38% used [0x000000077da00000,0x000000077e210b90,0x000000077eec0000)
Event: 2.349 GC heap after
Heap after GC invocations=2 (full 0):
 PSYoungGen      total 37376K, used 3417K [0x00000007d6400000, 0x00000007dad00000, 0x0000000800000000)
  eden space 32064K, 0% used [0x00000007d6400000,0x00000007d6400000,0x00000007d8350000)
  from space 5312K, 64% used [0x00000007d8880000,0x00000007d8bd6610,0x00000007d8db0000)
  to   space 5312K, 0% used [0x00000007d8350000,0x00000007d8350000,0x00000007d8880000)
 ParOldGen       total 85504K, used 0K [0x0000000782c00000, 0x0000000787f80000, 0x00000007d6400000)
  object space 85504K, 0% used [0x0000000782c00000,0x0000000782c00000,0x0000000787f80000)
 PSPermGen       total 21248K, used 8258K [0x000000077da00000, 0x000000077eec0000, 0x0000000782c00000)
  object space 21248K, 38% used [0x000000077da00000,0x000000077e210b90,0x000000077eec0000)
}

Deoptimization events (0 events):
No events

Internal exceptions (10 events):
Event: 0.108 Thread 0x000000000237d800 Threw 0x00000007d6462160 at C:\jdk7u2_64p\jdk7u17\hotspot\src\share\vm\prims\jni.cpp:716
Event: 0.171 Thread 0x000000000237d800 Threw 0x00000007d646f188 at C:\jdk7u2_64p\jdk7u17\hotspot\src\share\vm\prims\jvm.cpp:1166
Event: 0.214 Thread 0x000000000237d800 Threw 0x00000007d6482b58 at C:\jdk7u2_64p\jdk7u17\hotspot\src\share\vm\prims\jni.cpp:716
Event: 0.348 Thread 0x000000000237d800 Threw 0x00000007d65a0288 at C:\jdk7u2_64p\jdk7u17\hotspot\src\share\vm\prims\jvm.cpp:1166
Event: 0.362 Thread 0x000000000237d800 Threw 0x00000007d65a2280 at C:\jdk7u2_64p\jdk7u17\hotspot\src\share\vm\prims\jvm.cpp:1166
Event: 0.369 Thread 0x000000000237d800 Threw 0x00000007d65a4190 at C:\jdk7u2_64p\jdk7u17\hotspot\src\share\vm\prims\jvm.cpp:1166
Event: 0.456 Thread 0x000000000237d800 Threw 0x00000007d668dbd0 at C:\jdk7u2_64p\jdk7u17\hotspot\src\share\vm\prims\jvm.cpp:1166
Event: 0.456 Thread 0x000000000237d800 Threw 0x00000007d668dcf8 at C:\jdk7u2_64p\jdk7u17\hotspot\src\share\vm\prims\jvm.cpp:1166
Event: 0.457 Thread 0x000000000237d800 Threw 0x00000007d6691300 at C:\jdk7u2_64p\jdk7u17\hotspot\src\share\vm\prims\jvm.cpp:1166
Event: 0.457 Thread 0x000000000237d800 Threw 0x00000007d6691428 at C:\jdk7u2_64p\jdk7u17\hotspot\src\share\vm\prims\jvm.cpp:1166

Events (10 events):
Event: 1.536 loading class 0x000000000b2fb8a0
Event: 1.536 loading class 0x000000000b2fb8a0 done
Event: 1.537 loading class 0x000000000cd25c30
Event: 1.537 loading class 0x000000000cd25c30 done
Event: 2.232 loading class 0x000000000b198d50
Event: 2.232 loading class 0x000000000b198d50 done
Event: 2.309 Executing VM operation: ParallelGCFailedAllocation
Event: 2.313 Executing VM operation: ParallelGCFailedAllocation done
Event: 2.346 Executing VM operation: ParallelGCFailedAllocation
Event: 2.349 Executing VM operation: ParallelGCFailedAllocation done


Dynamic libraries:
0x000007f796ef0000 - 0x000007f796f23000     C:\Program Files\Java\jre7\bin\javaw.exe
0x000007f8e1720000 - 0x000007f8e18de000     C:\windows\SYSTEM32\ntdll.dll
0x000007f8df280000 - 0x000007f8df3b6000     C:\windows\system32\KERNEL32.DLL
0x000007f8de6f0000 - 0x000007f8de7e3000     C:\windows\system32\KERNELBASE.dll
0x000007f8e1110000 - 0x000007f8e11ee000     C:\windows\system32\ADVAPI32.dll
0x000007f8e0fc0000 - 0x000007f8e110c000     C:\windows\system32\USER32.dll
0x000007f8dd6f0000 - 0x000007f8dd959000     C:\windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9200.16384_none_418c2a697189c07f\COMCTL32.dll
0x000007f8e07e0000 - 0x000007f8e0885000     C:\windows\system32\msvcrt.dll
0x000007f8e06a0000 - 0x000007f8e06e8000     C:\windows\SYSTEM32\sechost.dll
0x000007f8e08f0000 - 0x000007f8e0a30000     C:\windows\system32\RPCRT4.dll
0x000007f8e0c50000 - 0x000007f8e0d90000     C:\windows\system32\GDI32.dll
0x000007f8e0d90000 - 0x000007f8e0dc9000     C:\windows\system32\IMM32.DLL
0x000007f8e0ea0000 - 0x000007f8e0fb5000     C:\windows\system32\MSCTF.dll
0x000000006f1f0000 - 0x000000006f2c1000     C:\Program Files\Java\jre7\bin\msvcr100.dll
0x000000006ead0000 - 0x000000006f1ef000     C:\Program Files\Java\jre7\bin\server\jvm.dll
0x000007f8d5830000 - 0x000007f8d5839000     C:\windows\SYSTEM32\WSOCK32.dll
0x000007f8d9200000 - 0x000007f8d9220000     C:\windows\SYSTEM32\WINMM.dll
0x000007f8e06f0000 - 0x000007f8e06f7000     C:\windows\system32\PSAPI.DLL
0x000007f8e0890000 - 0x000007f8e08e8000     C:\windows\system32\WS2_32.dll
0x000007f8d91c0000 - 0x000007f8d91f2000     C:\windows\SYSTEM32\WINMMBASE.dll
0x000007f8e07d0000 - 0x000007f8e07d9000     C:\windows\system32\NSI.dll
0x000000006fef0000 - 0x000000006feff000     C:\Program Files\Java\jre7\bin\verify.dll
0x000000006eaa0000 - 0x000000006eac8000     C:\Program Files\Java\jre7\bin\java.dll
0x000000006ea80000 - 0x000000006ea95000     C:\Program Files\Java\jre7\bin\zip.dll
0x000000006e8a0000 - 0x000000006ea33000     C:\Program Files\Java\jre7\bin\awt.dll
0x000007f8e0dd0000 - 0x000007f8e0e93000     C:\windows\system32\OLEAUT32.dll
0x000007f8e0a30000 - 0x000007f8e0be0000     C:\windows\system32\combase.dll
0x000007f8d78a0000 - 0x000007f8d793f000     C:\windows\system32\apphelp.dll
0x000007f8dc390000 - 0x000007f8dc3b1000     C:\windows\system32\DWMAPI.DLL
0x000007f8dce70000 - 0x000007f8dcf56000     C:\windows\system32\uxtheme.dll
0x000007f8deb30000 - 0x000007f8decae000     C:\windows\system32\ole32.dll
0x000007f8de510000 - 0x000007f8de51a000     C:\windows\SYSTEM32\CRYPTBASE.dll
0x000007f8de4b0000 - 0x000007f8de50c000     C:\windows\SYSTEM32\bcryptPrimitives.dll
0x000007f8df3c0000 - 0x000007f8e069e000     C:\windows\system32\SHELL32.dll
0x000007f8e1530000 - 0x000007f8e1580000     C:\windows\system32\SHLWAPI.dll
0x000007f8dd240000 - 0x000007f8dd2d6000     C:\windows\SYSTEM32\shcore.dll
0x000000006e860000 - 0x000000006e894000     C:\Program Files\Java\jre7\bin\fontmanager.dll
0x000007f8c9cd0000 - 0x000007f8c9d0f000     C:\Program Files\ThinkPad\Bluetooth Software\btmmhook.dll
0x000000006ea60000 - 0x000000006ea79000     C:\Program Files\Java\jre7\bin\net.dll
0x000007f8dde40000 - 0x000007f8dde9c000     C:\windows\system32\mswsock.dll
0x000000006ea40000 - 0x000000006ea51000     C:\Program Files\Java\jre7\bin\nio.dll
0x000000006e810000 - 0x000000006e851000     C:\Program Files\Java\jre7\bin\t2k.dll

VM Arguments:
jvm_args: -Dfile.encoding=Cp1252 
java_command: Gomoku
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\ThinkPad\Bluetooth Software\;C:\Program Files\ThinkPad\Bluetooth Software\syswow64;C:\Program Files\Diskeeper Corporation\ExpressCache\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\ProgramData\Lenovo\ReadyApps;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\
USERNAME=Tian
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel



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

OS: Windows 8 , 64 bit Build 9200 

CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 58 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, ht, tsc, tscinvbit, tscinv

Memory: 4k page, physical 8203168k(5333784k free), swap 9448352k(5929728k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (23.7-b01) for windows-amd64 JRE (1.7.0_17-b02), built on Mar  1 2013 03:38:30 by "java_re" with unknown MS VC++:1600

time: Fri Apr 12 17:36:31 2013
elapsed time: 2 seconds
4

2 に答える 2

0

JavaFX コンポーネントで NetBeans プラットフォーム アプリケーションに障害が発生したときも、この問題に多くの時間を費やしました。解決策は、jfxrt.jar を ..platform/lib ディレクトリにコピーすることでした。プラットフォームがエラーメッセージでそれを言わなかったのは残念です.

于 2013-05-07T19:00:02.693 に答える
0

これは JVM のバグである可能性があります: http://java.com/en/download/help/exception_access.xml。参照: Java VM EXCEPTION_ACCESS_VIOLATION の考えられる原因? . それが役立つことを願っています。

于 2013-04-12T23:03:12.343 に答える