When a custom profiling configuration is used and the value of "Method" is "*", this always causes issues at runtime because the apm is modifying the bytecode for the constructor and is trying to assign the local unitializedThis to java.lang.Object.
To work around this I need to add one entry for every letter in the alphabet followed by the wildcard for every class I'm interested in profiling. This is very limiting.
The following section shows part of an exception from a web app running in Wildfly 26.1 when stackify-apm.json includes:
{
"Class": "org.jboss.jca.adapters.jdbc.WrappedConnection",
"Method": "*"
}
If the java apm could be modified so that the constructor was never modified that would avoid these issues completely.
java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
org/jboss/jca/adapters/jdbc/WrappedConnection.<init>(Lorg/jboss/jca/adapters/jdbc/BaseWrapperManagedConnection;ZLjava/lang/String;ZLorg/jboss/jca/adapters/jdbc/spi/ClassLoaderPlugin;)V @60: invokestatic
Reason:
Type uninitializedThis (current frame, stack[2]) is not assignable to 'java/lang/Object'
Current Frame:
bci: @60
flags: { flagThisUninit }
locals: { uninitializedThis, 'org/jboss/jca/adapters/jdbc/BaseWrapperManagedConnection', integer, 'java/lang/String', integer, 'org/jboss/jca/adapters/jdbc/spi/ClassLoaderPlugin', 'java/lang/String', 'java/lang/String', 'java/lang/String', 'java/util/EnumMap' }
stack: { 'java/lang/String', 'java/util/EnumMap', uninitializedThis }
Bytecode:
0000000: 1303 0e3a 0613 0310 3a07 1303 123a 08bb
0000010: 0314 5913 0316 b703 193a 0919 09b2 031d
0000020: 1303 1fb9 0320 0300 5719 09b2 0323 1303
0000030: 25b9 0320 0300 5719 0619 092a b803 2b57
0000040: b803 2f01 a500 16b2 0332 1303 34bb 021b
0000050: 5913 0335 b703 36b8 033a a700 0d3a 0a19
0000060: 0ab8 0340 a700 032a b700 022a 03b5 0003
0000070: 2a03 b500 042a 01b5 0005 2a2b b600 062a
0000080: 1cb6 0007 2a2d b600 082a 1504 b500 092a
0000090: 1905 b500 0aa7 002b 3a0d 013a 0c13 030e
00000a0: 3a0e 1303 103a 0f13 0312 3a10 bb03 1459
00000b0: 1303 16b7 0319 3a11 1911 b803 4319 0dbf
00000c0: 013a 0c13 030e 3a12 1303 103a 1313 0312
00000d0: 3a14 bb03 1459 1303 16b7 0319 3a15 1915
00000e0: b803 43b1
Netreo Product Area | Prefix |