Retrofit - A / libc:致命信号11(SIGSEGV),代码1

时间:2016-07-31 19:04:30

标签: android retrofit retrofit2 sigsegv

我正在接收A / libc:致命信号11(SIGSEGV),使用改造类生成我的服务接口的实现时的代码1。

我认为这是由于本机库中的空指针段错误。没有任何东西被抛出,所以我无法追踪它。最奇怪的部分是它不会发生在我的任何仿真器或物理设备上(均为6.0),除了我的HTC恰好是6.0.1。

这是我的界面:

public interface RestApiPerson {
    @GET(QUERY_PERSON)
    Call<PersonSearchResults> getPersonSearchResult(@Query("query") String q);
}

这是实施。崩溃发生在(Call&lt; PersonSearchResults&gt; call = restApi.getPersonSearchResult(query);)

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(END_POINT_PERSON)
        .addConverterFactory(GsonConverterFactory.create())
        .build();

RestApiPerson restApi = retrofit.create(RestApiPerson.class);
Call<PersonSearchResults> call = restApi.getPersonSearchResult(query);

这是堆栈:

07-31 12:58:08.492 18310-18310/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x3ad75934
07-31 12:58:08.522 18310-18310/? A/DEBUG:     r0 70fc5774  r1 12d78a00  r2 0025af14  r3 b276c070
07-31 12:58:08.522 18310-18310/? A/DEBUG:     r4 0025af14  r5 12d78a00  r6 70fc4dc4  r7 715c4a80
07-31 12:58:08.522 18310-18310/? A/DEBUG:     r8 12c5d190  r9 b8cbad20  sl 71866e80  fp be9a3a9c
07-31 12:58:08.522 18310-18310/? A/DEBUG:     ip b276c070  sp be9a3a20  lr 73d5b6e5  pc b49ffa68  cpsr 000e0030
07-31 12:58:08.522 18310-18310/? A/DEBUG: backtrace:
07-31 12:58:08.522 18310-18310/? A/DEBUG:     #00 pc 000eaa68  /system/lib/libart.so (art_quick_imt_conflict_trampoline+7)
07-31 12:58:08.522 18310-18310/? A/DEBUG:     #01 pc 022b46e3  /system/framework/arm/boot.oat (offset 0x2286000)
07-31 12:58:09.812 18310-18310/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_05

关于什么可能导致麻烦的任何想法,或者我如何为自己确定它?

1 个答案:

答案 0 :(得分:-3)

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

我将此权限添加到Manifest并且它不再崩溃。