class org.apache.cassandra.service.CassandraDaemon$2 implements java.lang.Thread$UncaughtExceptionHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.service.CassandraDaemon$2
super_class: java.lang.Object
{
final org.apache.cassandra.service.CassandraDaemon this$0;
descriptor: Lorg/apache/cassandra/service/CassandraDaemon;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.apache.cassandra.service.CassandraDaemon);
descriptor: (Lorg/apache/cassandra/service/CassandraDaemon;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // org.apache.cassandra.service.CassandraDaemon$2 this
0: .line 223
aload 0 /* this */
aload 1
putfield org.apache.cassandra.service.CassandraDaemon$2.this$0:Lorg/apache/cassandra/service/CassandraDaemon;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.apache.cassandra.service.CassandraDaemon$2 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/CassandraDaemon$2;
MethodParameters:
Name Flags
this$0 final
public void uncaughtException(java.lang.Thread, java.lang.Throwable);
descriptor: (Ljava/lang/Thread;Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 // org.apache.cassandra.service.CassandraDaemon$2 this
start local 1 // java.lang.Thread t
start local 2 // java.lang.Throwable e
0: .line 227
getstatic org.apache.cassandra.metrics.StorageMetrics.exceptions:Lcom/codahale/metrics/Counter;
invokevirtual com.codahale.metrics.Counter.inc:()V
1: .line 228
getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Exception in thread "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* t */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2 /* e */
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
2: .line 229
ldc "Exception in thread {}"
aload 1 /* t */
aload 2 /* e */
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
3: .line 230
aload 2 /* e */
astore 3 /* e2 */
start local 3 // java.lang.Throwable e2
4: goto 15
5: .line 232
StackMap locals: java.lang.Throwable
StackMap stack:
aload 3 /* e2 */
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
6: .line 234
aload 3 /* e2 */
instanceof org.apache.cassandra.io.FSError
ifeq 10
7: .line 236
aload 3 /* e2 */
aload 2 /* e */
if_acmpeq 9
8: .line 237
getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Exception in thread "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* t */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3 /* e2 */
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
9: .line 238
StackMap locals:
StackMap stack:
aload 3 /* e2 */
checkcast org.apache.cassandra.io.FSError
invokestatic org.apache.cassandra.io.util.FileUtils.handleFSError:(Lorg/apache/cassandra/io/FSError;)V
10: .line 241
StackMap locals:
StackMap stack:
aload 3 /* e2 */
instanceof org.apache.cassandra.io.sstable.CorruptSSTableException
ifeq 14
11: .line 243
aload 3 /* e2 */
aload 2 /* e */
if_acmpeq 13
12: .line 244
getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Exception in thread "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* t */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3 /* e2 */
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
13: .line 245
StackMap locals:
StackMap stack:
aload 3 /* e2 */
checkcast org.apache.cassandra.io.sstable.CorruptSSTableException
invokestatic org.apache.cassandra.io.util.FileUtils.handleCorruptSSTable:(Lorg/apache/cassandra/io/sstable/CorruptSSTableException;)V
14: .line 230
StackMap locals:
StackMap stack:
aload 3 /* e2 */
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 3 /* e2 */
StackMap locals:
StackMap stack:
15: aload 3 /* e2 */
ifnonnull 5
end local 3 // java.lang.Throwable e2
16: .line 248
return
end local 2 // java.lang.Throwable e
end local 1 // java.lang.Thread t
end local 0 // org.apache.cassandra.service.CassandraDaemon$2 this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/cassandra/service/CassandraDaemon$2;
0 17 1 t Ljava/lang/Thread;
0 17 2 e Ljava/lang/Throwable;
4 16 3 e2 Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
e
}
SourceFile: "CassandraDaemon.java"
EnclosingMethod: org.apache.cassandra.service.CassandraDaemon.setup:()V
NestHost: org.apache.cassandra.service.CassandraDaemon
InnerClasses:
public abstract UncaughtExceptionHandler = java.lang.Thread$UncaughtExceptionHandler of java.lang.Thread
org.apache.cassandra.service.CassandraDaemon$2