staticanalysis / data-race-test

Automatically exported from code.google.com/p/data-race-test
0 stars 0 forks source link

jtsan: Multiple exceptions when running DaCapo benchmarks #32

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
1. Download dacapo-9.12-bach.jar from http://dacapobench.org/
2. Run jtsan.sh -jar dacapo-9.12-bach.jar eclipse 

java.lang.NullPointerException
        at org.objectweb.asm.commons.AnalyzerAdapter.pop(Unknown Source)
        at org.objectweb.asm.commons.AnalyzerAdapter.pop(Unknown Source)
        at org.objectweb.asm.commons.AnalyzerAdapter.visitMethodInsn(Unknown Source)
        at org.objectweb.asm.ClassReader.accept(Unknown Source)
        at org.objectweb.asm.ClassReader.accept(Unknown Source)
        at org.jtsan.Agent.transform(Unknown Source)
        at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
        at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:385)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:637)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
        at Harness.main(Unknown Source)
java.lang.NullPointerException
        at org.jtsan.MethodTransformer.visitObjectFieldAccess(Unknown Source)
        at org.jtsan.MethodTransformer.visitFieldInsn(Unknown Source)
        at org.objectweb.asm.commons.AnalyzerAdapter.visitFieldInsn(Unknown Source)
        at org.objectweb.asm.ClassReader.accept(Unknown Source)
        at org.objectweb.asm.ClassReader.accept(Unknown Source)
        at org.jtsan.Agent.transform(Unknown Source)
        at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
        at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:385)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:637)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
        at org.dacapo.harness.TestHarness.main(TestHarness.java:106)
        at Harness.main(Unknown Source)

Original issue reported on code.google.com by konstant...@gmail.com on 12 Mar 2010 at 7:59

GoogleCodeExporter commented 9 years ago
the reported exceptions are now all fixed. I'm still having some exceptions on 
DaCapo
like this:
Exception occured during transformation of class
com/sun/org/apache/xerces/internal/impl/dv/DTDDVFactory. Transformed bytes are 
discarded.
java.lang.IllegalStateException: no 'this' pointer within static method
        at org.objectweb.asm.commons.GeneratorAdapter.loadThis(Unknown Source)
        at org.jtsan.MethodTransformer.onMethodEnter(Unknown Source)
        at org.objectweb.asm.commons.AdviceAdapter.visitCode(Unknown Source)
        at org.jtsan.MethodTransformer.visitCode(Unknown Source)
        at org.objectweb.asm.ClassReader.accept(Unknown Source)
        at org.objectweb.asm.ClassReader.accept(Unknown Source)
        at org.jtsan.Agent.transform(Unknown Source)

Original comment by egor.pasko@gmail.com on 5 Apr 2010 at 7:48

GoogleCodeExporter commented 9 years ago
The last instrumentation-time exception is fixed now. I was able to run DaCapo
eclipse benchmark. It runs throughout the whole benchmark, but fails 
occasionally in
internal logic (not investigated, maybe a timeout). The performance hit is 30x
_without_ string formatting operations in the EventListener, they are way too 
slow
right now.

current output is:
Unzip workspace
===== DaCapo 9.12 eclipse starting =====
Initialize workspace ...................
Index workspace .....................
Build workspace Unexpected ERROR marker(s):
org.junit:
        The project cannot be built until build path errors are resolved
org.eclipse.update.configurator:
        The project cannot be built until build path errors are resolved
org.eclipse.text:
        The project cannot be built until build path errors are resolved
org.eclipse.team.core:
        The project cannot be built until build path errors are resolved
org.eclipse.osgi.util:
        The project cannot be built until build path errors are resolved
org.eclipse.osgi.services:
        The project cannot be built until build path errors are resolved
org.eclipse.osgi:
        The project cannot be built until build path errors are resolved
org.eclipse.ltk.core.refactoring:
        The project cannot be built until build path errors are resolved
org.eclipse.jdt.core:
        The project cannot be built until build path errors are resolved
org.eclipse.core.variables:
        The project cannot be built until build path errors are resolved
org.eclipse.core.runtime.compatibility:
        The project cannot be built until build path errors are resolved
org.eclipse.core.runtime:
        The project cannot be built until build path errors are resolved
org.eclipse.core.resources:
        The project cannot be built until build path errors are resolved
org.eclipse.core.filebuffers:
        The project cannot be built until build path errors are resolved
org.eclipse.core.expressions:
        The project cannot be built until build path errors are resolved
org.eclipse.core.boot:
        The project cannot be built until build path errors are resolved
org.eclipse.ant.core:
        The project cannot be built until build path errors are resolved
org.apache.lucene:
        The project cannot be built until build path errors are resolved
org.apache.ant:
        The project cannot be built until build path errors are resolved

--------------------

Search .. 4,207 references for default constructor in workspace
       .. 1,957 references for method 'equals' in workspace
Type hierarchy tests java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.dacapo.harness.Eclipse.iterate(Unknown Source)
        at org.dacapo.harness.Benchmark.run(Unknown Source)
        at org.dacapo.harness.TestHarness.runBenchmark(Unknown Source)
        at org.dacapo.harness.TestHarness.main(Unknown Source)
        at Harness.main(Unknown Source)
Caused by: java.lang.VerifyError: (class:
org/eclipse/jdt/internal/core/hierarchy/TypeHierarchy, method: readUntil 
signature:
(Ljava/io/InputStream;BI)[B) Accessing value from uninitialized register 14
        at org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.<init>(Unknown
Source)
        at org.eclipse.jdt.internal.core.SourceType.newTypeHierarchy(Unknown Source)
        at org.eclipse.jdt.internal.core.SourceType.newTypeHierarchy(Unknown Source)
        at
org.eclipse.jdt.core.tests.performance.FullSourceWorkspaceTypeHierarchyTests.tes
tPerfAllTypes(Unknown
Source)
        at
org.eclipse.jdt.core.tests.performance.FullSourceWorkspaceTypeHierarchyTests.run
DaCapoTests(Unknown
Source)
        at org.dacapo.eclipse.BenchmarkRunner.start(Unknown Source)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
        at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unkn
own
Source)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown
Source)
        at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.reStart(Unknown 
Source)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
        ... 9 more
Digest validation failed for stdout.log, expecting
0x883c142aebf68c13c630dae7dcc488b32d565e3d found
0x38c45f085add024975a98b84cf683879cb584c4b
Digest validation failed for stderr.log, expecting
0xda39a3ee5e6b4b0d3255bfef95601890afd80709 found
0x7603296081697ec031acfb78342033ac988a4bd2
===== DaCapo 9.12 eclipse FAILED =====
Delete workspace
Validation FAILED for eclipse default

Original comment by egor.pasko@gmail.com on 16 Apr 2010 at 9:19

GoogleCodeExporter commented 9 years ago
heh, and now I notice this VerifyError from the output, which is incorrect 
bytecode
after instrumentation.

Original comment by egor.pasko@gmail.com on 16 Apr 2010 at 9:22