-
Notifications
You must be signed in to change notification settings - Fork 0
/
recon.py
125 lines (107 loc) · 4.49 KB
/
recon.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
baseline = ('Java', "-inst=NOINST")
configs = [
('RR', ''),
('FR.FW.RACY', "-tool=BBF"),
('FR.FW.NONRACY', "-tool=BB -readMissesOnly -writeMissesOnly"),
('FR.NOFW.NONRACY', "-tool=BB -readMissesOnly"),
('NOFR.NOFW.NONRACY', "-tool=BB")
]
all_configs = [baseline] + configs
nthreads = 8
# Each entry is of the form ('name and args', 'jvm args', 'rr args')
benchmarks = [
('avrora', '-noverify', ''),
# without -noverify: dacapo's validation of the output fails, but
# the program itself doesn't crash.
# BROKEN ('batik', '', ''),
# InvocationTargetException from ClassFormatError: Invalid method
# Code length 614880 in class file
# org/apache/batik/xml/XMLCharacters
#
# -noverify turns this into a JVM segfault.
# BROKEN ('eclipse', '-noverify', ''),
# Even with -inst=NOINST, non-instrumentation failure:
# Initialize workspace ...................Error creating workspace!
# Java Model Exception: Java Model Status [Cannot nest
# 'sampa/home/bpw/rr/RoadRunner/classes/rr/simple' inside library
# 'sampa/home/bpw/rr/RoadRunner/classes']
#
# Later, we get a NullPointerException.
#
# With instrumentation and without -noverify
# java.lang.VerifyError: (class:
# org/eclipse/osgi/framework/internal/core/FrameworkProperties,
# method: __$rr_inUse__$rr__Sync_ signature: ()Z) Illegal type in
# constant pool
#
# With -noverify this turns into (regardless of -nojoin)
#
# java.lang.IllegalStateException: Unable to acquire application
# service. Ensure that the org.eclipse.core.runtime bundle is
# resolved and started (see config.ini).
#
# But it does not crash RR.
# BROKEN ('h2', '', ''),
# Even with -inst=NOINST (and regardless of -noverify, -multiLoader)
# java.lang.NoSuchMethodException:
# org.dacapo.h2.TPCC.make(org.dacapo.parser.Config, java.io.File,
# java.lang.Boolean, java.lang.Boolean)
# BROKEN ('jython', '', '') ,
# many warnings about failing to load classes, find methods
#
# java.lang.ClassFormatError: org/python/antlr/PythonParser
('luindex', '-noverify', ''),
# without -noverify
#
# java.lang.VerifyError: (class:
# org/apache/lucene/store/IndexInput, method:
# __$rr___$rr_length__$rr__Original___$rr__with_ThreadState_
# signature: (Lrr/state/ShadowThread;)J) Stack size too large
('lusearch', '-noverify', ''),
# without -noverify
#
# java.lang.VerifyError: (class:
# org/apache/lucene/store/IndexInput, method:
# __$rr___$rr_length__$rr__Original___$rr__with_ThreadState_
# signature: (Lrr/state/ShadowThread;)J) Stack size too large
('pmd', '-noverify', ''),
# without -noverify
#
# java.lang.VerifyError: (class:
# org/apache/xerces/impl/XMLEntityManager, method:
# __$rr_getUserDir__$rr__Sync_ signature:
# ()Lorg/apache/xerces/util/URI;) Illegal type in constant pool
# BROKEN ('sunflow', '', ''),
# without -noverify
#
# ClassFormatError: Invalid method Code length 94073 in class file
# org/sunflow/core/tesselatable/Teapot
#
# JVM segfault with -noverify
('tomcat', '', '-multiLoader -shadowThread=-.* -maxTid=64'),
# without -multiLoader
### PANIC Bad update cast: from: class
# org.apache.juli.logging.LogFactory [0x56D73C7A (class
# org.apache.catalina.loader.StandardClassLoader) -> 0x1F7182C1
# (class sun.misc.Launcher$AppClassLoader) -> 0x553F5D07 (class
# sun.misc.Launcher$ExtClassLoader) -> <System>] to class
# __$rr_org_apache_juli_logging_LogFactory__$rr__Update_logConfig
# [0x2FB3F8F6 (class org.dacapo.harness.DacapoClassLoader) ->
# 0x1F7182C1 (class sun.misc.Launcher$AppClassLoader) ->
# 0x553F5D07 (class sun.misc.Launcher$ExtClassLoader) ->
# <System>].
### Fix by alpha-renaming one of the classes to be unique.
# BROKEN ('tradebeans', '', '-multiLoader -shadowThread=-.*'),
# ExceptionInInitializerError ... caused by
# java.lang.RuntimeException: Could not create jaxb contexts for
# plugin types
# java.lang.NoClassDefFoundError: Could not initialize class
# org.apache.geronimo.system.configuration.AttributesXmlUtil
# BROKEN ('tradesoap', '', ''),
# Same as tradebeans
('xalan', '-noverify', '')
# without -noverify: java.lang.VerifyError: (class:
# org/apache/xerces/impl/XMLEntityManager, method:
# __$rr_getUserDir__$rr__Sync_ signature:
# ()Lorg/apache/xerces/util/URI;) Illegal type in constant pool
]