Announcement Announcement Module
Collapse
No announcement yet.
Using TPTP with Spring AOP crashes JVM Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Using TPTP with Spring AOP crashes JVM

    Hi all

    I need to profile a Spring-based unit test (AbstractTransactionalSpringContextTests). I've installed TPTP 4.4 on Eclipse 3.4 and now want to profile execution time. However, profiling seems to interfere with the Spring AOP. In the Spring context the bean

    org.springframework.beans.factory.aspectj.Annotati onBeanConfigurerAspect

    is loaded, the project uses the @Configurable and the @Transactional annotation. I can profile a simple junit TestCase, but profiling the Spring unit test results in a JVM crash

    Code:
    EXCEPTION_ACCESS_VIOLATION
    
    Problematic frame:
    # C  [JIE.dll+0x2c399]
    
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  java.lang.ClassLoader.defineClass1(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;+0
    j  java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;+34
    j  java.security.SecureClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;+27
    j  java.net.URLClassLoader.defineClass(Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class;+253
    J  java.net.URLClassLoader$1.run()Ljava/lang/Object;
    v  ~StubRoutines::call_stub
    J  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
    J  java.net.URLClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;
    J  java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;
    J  sun.misc.Launcher$AppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;
    j  java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;+3
    j  org.springframework.util.ClassUtils.forName(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;+157
    j  org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(Ljava/lang/ClassLoader;)Ljava/lang/Class;+14
    j  org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;)Ljava/lang/Class;+17
    j  org.springframework.beans.factory.support.AbstractBeanFactory.isBeanClassMatch(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Class;)Z+3
    j  org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(Ljava/lang/Class;ZZ)[Ljava/lang/String;+121
    j  org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)V+63
    j  org.springframework.context.support.AbstractApplicationContext.refresh()V+28
    j  org.springframework.test.AbstractSingleSpringContextTests.createApplicationContext([Ljava/lang/String;)Lorg/springframework/context/ConfigurableApplicationContext;+30
    j  org.springframework.test.AbstractSingleSpringContextTests.loadContextLocations([Ljava/lang/String;)Lorg/springframework/context/ConfigurableApplicationContext;+55
    j  org.springframework.test.AbstractSingleSpringContextTests.loadContext(Ljava/lang/Object;)Lorg/springframework/context/ConfigurableApplicationContext;+8
    j  org.springframework.test.AbstractSpringContextTests.getContext(Ljava/lang/Object;)Lorg/springframework/context/ConfigurableApplicationContext;+25
    j  org.springframework.test.AbstractSingleSpringContextTests.setUp()V+6
    j  junit.framework.TestCase.runBare()V+20
    My guess is that the AspectJ capability of my project does go well with the bytecode instrumentation of the profiler.

    Has anyone had a similar experience? Can anyone confirm that the bytecode weaving is the issue?

    Thanks
    Simon

  • #2
    did you get answer to your question?

    i am facing similar problem

    Comment

    Working...
    X