spring-projects / spring-loaded

Java agent that enables class reloading in a running JVM
Apache License 2.0
2.72k stars 515 forks source link

EXCEPTION_ACCESS_VIOLATION #104

Open ruria opened 9 years ago

ruria commented 9 years ago

Hi, trying spring loaded with java 1.8.0_20 I get EXCEPTION_ACCESS_VIOLATION. As aside note, everything works fine with java 1.7.0_67 in my Windows 8.1 64 bits.

If you think error reports are userful, please drop me a line.

A fatal error has been detected by the Java Runtime Environment:

#

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000760d954d, pid=5672, tid=9644

#

JRE version: Java(TM) SE Runtime Environment (8.0_20-b26) (build 1.8.0_20-b26)

Java VM: Java HotSpot(TM) 64-Bit Server VM (25.20-b23 mixed mode windows-amd64 compressed oops)

Problematic frame:

V [jvm.dll+0x3e954d]

#

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\ruria\workspace\AsesorPlus\share-asesorPlus\hs_err_pid5672.log

#

Compiler replay data is saved as:

C:\Users\ruria\workspace\AsesorPlus\share-asesorPlus\replay_pid5672.log

#

If you would like to submit a bug report, please visit:

http://bugreport.sun.com/bugreport/crash.jsp

# Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

jeanphiv commented 9 years ago

Hi

I have the same error on windows 7 or 10 with the jdk 8.31 or 8.40 and the spring reload version 1.2.1 and 1.2.3 I succeed in reducing the scope of the cause of the error to the following call to the atZone() methode of the class DateLocalTime

LocalDateTime date = ... date.atZone(ZoneId.systemDefault());

Maybe it could help to solve this problem.

JP

tednology commented 9 years ago

I have the same trouble, JDK 1.8.0_u20, 31, 40. Windows 7 (32-bit) - in either springloaded 1.2.1 or 1.2.3. The error occurs usually during a couple of my Spring Boot project's start-up phases:

Head scratcher...

UPDATE: same trouble on those projects on Mac OS X 10.10.2, same JDK versions.

shmosel commented 9 years ago

Same error. Windows 7 64 bit, jdk 1.8.0_45.

anthavio commented 9 years ago

Tried with latest Java 1.8.0_45-b14 and spring-loaded 1.2.3 On Mac OSX 10.10.4 (14E46) and pretty much every version of Java 8 crashes when using spring-loaded is employed.

aclement commented 9 years ago

This error indicates bad byte code being generated which is tripping up the JVM because the verifier is turned off. Everyone hitting it could be having a different cause, or they might all be the same thing. Turning the verifier back on may reveal better diagnostics (or maybe not if some earlier byte code that isn't to blame for the crash trips up the verifier). The first step to fix it is recreate, and I haven't had time. I would probably try to create a test program containing the snippet LocalDateTime date = ... date.atZone(ZoneId.systemDefault()); mentioned above.

aclement commented 9 years ago

I created a testcase based on reloading a simple class containing LocalDateTime

public class Issue104 {
public static void main(String[] args) {
    System.out.println(run());
}

public static String run() {
    LocalDateTime time = LocalDateTime.now();
    ZonedDateTime zdt = time.atZone(ZoneId.systemDefault());
    return zdt.toString();
}   
}

Unfortunately it runs perfectly. I tried on Mac and on Windows 7 with a JDK8.

michielproce commented 9 years ago

I have the same problem. My JVM crashes when saving a hibernate entity

springloaded-1.2.4 jdk8u31 and jdk8u45 64-bit on Windows 7

2015-08-19 10:39:13.133  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/jadira/usertype/spi/shared/descriptor/sql/DstSafeTimestampTypeDescriptor$1 classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.134  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/type/descriptor/sql/BigIntTypeDescriptor$1 classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.134  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/jadira/usertype/spi/shared/descriptor/sql/DstSafeDateTypeDescriptor$1 classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.136  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/event/spi/PostUpdateEvent classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.137  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/AuditProcess classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.138  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/action/spi/BeforeTransactionCompletionProcess classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.138  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/EntityChangeNotifier classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.139  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/AuditProcessManager$1 classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.139  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/AuditProcessManager$2 classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.140  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/work/ModWorkUnit classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.140  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/work/AuditWorkUnit classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.140  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/work/WorkUnitMergeVisitor classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.141  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/work/WorkUnitMergeDispatcher classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.141  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/work/AbstractAuditWorkUnit classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.142  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/tools/EntityTools classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.143  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/event/spi/PreCollectionUpdateEvent classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.143  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/work/PersistentCollectionChangeWorkUnit classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.144  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=org/hibernate/envers/internal/synchronization/work/PersistentCollectionChangeWorkUnit$PersistentCollectionChangeWorkUnitId classloader=Launcher$AppClassLoader typeRegistry=TypeRegistry(id=1073502961,loader=sun.misc.Launcher$AppClassLoader)
2015-08-19 10:39:13.149  INFO 8728 --- [nio-8080-exec-7] o.s.l.agent.SpringLoadedPreProcessor     : SpringLoaded preprocessing: classname=java/lang/AbstractMethodError classloader=null typeRegistry=null
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=8728, tid=7560
#
# JRE version: Java(TM) SE Runtime Environment (8.0_45-b15) (build 1.8.0_45-b15)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  0x0000000000000000
Katharsas commented 8 years ago

Same problem with:

springloaded-1.2.5, jdk 8u51, Win 10 using Eclipse, Maven, tomcat7-maven-plugin, Spring MVC using maven/tomcat configuration from here: https://github.com/spring-projects/spring-loaded/issues/97 (from miixel2)

on startup of tomcat7 embedded server with command: "mvn clean integration-test" VM args: "-javaagent:"./tomcat/springloaded-1.2.5.RELEASE.jar" -noverify" this error occurs:

# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000571a355d, pid=2824, tid=6788
#
# JRE version: Java(TM) SE Runtime Environment (8.0_51-b16) (build 1.8.0_51-b16)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.51-b03 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V  [jvm.dll+0x40355d]
# ...
NareshGKadam commented 8 years ago

use jdk 7 issue solved

Katharsas commented 7 years ago

Tried again, same problem with springloaded-1.2.7, jdk 8u144