linkedin / dexmaker

A utility for doing compile or runtime code generation targeting Android's Dalvik VM
Apache License 2.0
1.86k stars 248 forks source link

dexmaker gson crash #177

Open jasonross opened 3 years ago

jasonross commented 3 years ago

libc.so  abort

  | libart.so  Abort   | libbase.so  LogMessage   | libart.so  GetArtField   | libart.so  Field_set   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  ArtInterpreterToCompiledCodeBridge   | libart.so  Execute   | libart.so  artQuickToInterpreterBridge   | libart.so  art_quick_to_interpreter_bridge   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  ArtInterpreterToCompiledCodeBridge   | libart.so  Execute   | libart.so  artQuickToInterpreterBridge   | libart.so  art_quick_to_interpreter_bridge   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  ArtInterpreterToCompiledCodeBridge   | libart.so  Execute   | libart.so  artQuickToInterpreterBridge   | libart.so  art_quick_to_interpreter_bridge   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  ArtInterpreterToCompiledCodeBridge   | libart.so  Execute   | libart.so  ArtInterpreterToInterpreterBridge   | libart.so   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  Execute   | libart.so  artQuickToInterpreterBridge   | libart.so  art_quick_to_interpreter_bridge   | libart.so  art_quick_invoke_static_stub   | libart.so  Invoke   | libart.so  InvokeWithArgArray   | libart.so  InvokeMethod   | libart.so  Method_invoke   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  ArtInterpreterToCompiledCodeBridge   | libart.so   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeStatic   | libart.so  mterp_op_invoke_static   | libart.so  MterpInvokeStatic   | libart.so  mterp_op_invoke_static   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  Execute   | libart.so  artQuickToInterpreterBridge   | libart.so  art_quick_to_interpreter_bridge   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  InvokeWithArgArray   | libart.so  InvokeMethod   | libart.so  Method_invoke   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  ArtInterpreterToCompiledCodeBridge   | libart.so   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeStatic   | libart.so  mterp_op_invoke_static   | libart.so  Execute   | libart.so  artQuickToInterpreterBridge   | libart.so  art_quick_to_interpreter_bridge   | libart.so  art_quick_invoke_static_stub   | libart.so  Invoke   | libart.so  InvokeWithArgArray   | libart.so  InvokeMethod   | libart.so  Method_invoke   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  ArtInterpreterToCompiledCodeBridge   | libart.so   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeStatic   | libart.so  mterp_op_invoke_static   | libart.so  MterpInvokeStatic   | libart.so  mterp_op_invoke_static   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  Execute   | libart.so  artQuickToInterpreterBridge   | libart.so  art_quick_to_interpreter_bridge   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  InvokeWithArgArray   | libart.so  InvokeMethod   | libart.so  Method_invoke   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  ArtInterpreterToCompiledCodeBridge   | libart.so   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeStatic   | libart.so  mterp_op_invoke_static   | libart.so  Execute   | libart.so  artQuickToInterpreterBridge   | libart.so  art_quick_to_interpreter_bridge   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  InvokeWithArgArray   | libart.so  InvokeMethod   | libart.so  Method_invoke   | libart.so  art_quick_invoke_stub   | libart.so  Invoke   | libart.so  ArtInterpreterToCompiledCodeBridge   | libart.so   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeInterface   | libart.so  mterp_op_invoke_interface   | libart.so  MterpInvokeDirect   | libart.so  mterp_op_invoke_direct   | libart.so  MterpInvokeStatic   | libart.so  mterp_op_invoke_static   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | libart.so  mterp_op_invoke_virtual   | libart.so  MterpInvokeVirtual   | java.lang.reflect.Field.set(:0)   | com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:133)   | com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222)   | com.google.gson.Gson.fromJson(Gson.java:932)   | com.google.gson.Gson.fromJson(Gson.java:897)   | com.google.gson.Gson.fromJson(Gson.java:846)

It was happened when I was mocking some static method. Any idea?

jasonross commented 3 years ago

@kkoser