2017-01-17 1 views
0

Ich kann nicht herausfinden, warum meine Integrationen mit Objectify testen, die abstürzen. Es gibt kein Problem, wenn es nacheinander oder beim Debuggen ausgeführt wird.Ein fataler Fehler in Junit mit objektivieren

Das ist der Objektivierungscode.

protected void before() throws Throwable { 
    original = ObjectifyService.factory(); 
    ObjectifyFactory factory = newObjectifyFactory(); 
    for (Class<?> type : register) { 
     factory.register(type); 
    } 
    ObjectifyService.setFactory(factory); 
    closeable = ObjectifyService.begin(); 
} 

protected void after() { 
    ObjectifyService.setFactory(original); 
    closeable.close(); 
} 

Nach einigen Tests stoppt der Läufer und ich bekomme diese Nachricht.

# 
# A fatal error has been detected by the Java Runtime Environment: 
# 
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000003, pid=15104, tid=9848 
# 
# JRE version: Java(TM) SE Runtime Environment (7.0_80-b15) (build 1.7.0_80-b15) 
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.80-b11 mixed mode windows-amd64 compressed oops) 
# Problematic frame: 
# C 0x0000000000000003 
# 
# 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: Compiled method (nm) 7403 625  n  java.lang.Class::isInstance (native) total in heap [0x0000000002b4bf10,0x0000000002b4c2b8] = 936 relocation  [0x0000000002b4c030,0x0000000002b4c088] = 88 main code [0x0000000002b4c0a0,0x0000000002b4c2b8] = 536 Compiled method (c2) 7404 752    java.lang.invoke.LambdaForm$NamedFunction::invoke_L_L (28 bytes) total in heap [0x0000000002c38490,0x0000000002c38778] = 744 relocation  [enter image description here][1][0x0000000002c385b0,0x0000000002c385d0] = 32 main code [0x0000000002c385e0,0x0000000002c38660] = 128 stub code  [0x0000000002c38660,0x0000000002c38698] = 56 oops   [0x0000000002c38698,0x0000000002c386a0] = 8 scopes data [0x0000000002c386a0,0x0000000002c386e8] = 72 scopes pcs  [0x0000000002c386e8,0x0000000002c38748] = 96 dependencies [0x0000000002c38748,0x0000000002c38750] = 8 handler table [0x0000000002c38750,0x0000000002c38768] = 24 nul chk table [0x0000000002c38768,0x0000000002c38778] = 16 
+0

Können Sie auch Code für 'newObjectifyFactory()' hinzufügen? Warum? ? Sie sind neue Fabrik zu schaffen und was ist die Begründung Fabrik original –

+0

hier zum Zurücksetzen ist der Code: \t geschützt ObjectifyFactory newObjectifyFactory() { \t \t Rückkehr neue ObjectifyFactory(); \t} \t Aber dies ist ein Beispiel dafür, dass ich fand in einer Forschung, um zu versuchen, das Problem zu lösen Bevor ich nur O benutzte bjectifyService.register(); 'und' ObjectifyService.begin(); '. Es ist genug, aber der Fehler ist der gleiche. –

Antwort

0

Was auch immer Sie hier sehen, ist ein JVM-Fehler. Dies soll nicht möglich sein. Stellen Sie sicher, dass Sie die aktuellste Version des JDK installiert haben, und falls ja, ist der einzige Ort, an dem Sie wirklich ein Problem mit Oracle beheben können :-(

+0

Ok, danke, ich werde versuchen zu verstehen. Für jetzt gab ich den Speicher auf und legte den LocalDatastoreServiceTestConfig auf Speicher in Datei. Dies hat das Problem gelöst. –