Mapbox Android SDK - 致命信号11(SIGSEGV)

问题描述:

将Android Studio更新至版本2.1.3后,尝试加载Mapbox视图时出现这种奇怪的错误(直到此时完美运行,并且未做任何更改在升级Android Studio之前或之后)。Mapbox Android SDK - 致命信号11(SIGSEGV)

我得到的唯一的日志是这样一个:

A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdeadcab1 in tid 9429() 

我已经做了一些研究,但我无法弄清楚它为什么这样做,或如何处理这个问题。每当我启动应用程序,它加载此Mapbox视图时崩溃...

任何想法或信息?

编辑:

谢谢Cammace您的评论。我会在这里回答。

实际上,我使用的SDK 4.1.1版本,和清洁+重建项目改变不了什么......

我不知道我知道堆栈跟踪到底是什么(因为我敢新到Android工作室),但这里是附加的行删除所有过滤器,当我在logcat中有:

            --------- beginning of crash 
09-19 10:26:41.858 2926-3175/flow.bricks A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdeadcab1 in tid 3175() 
09-19 10:26:41.963 1230-1230/? I/SELinux: SELinux: Loaded file_contexts contexts from /file_contexts. 
09-19 10:26:41.964 1230-1230/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
09-19 10:26:41.964 1230-1230/? A/DEBUG: Build fingerprint: 'Android/sdk_google_phone_x86_64/generic_x86_64:6.0/MASTER/3079352:userdebug/test-keys' 
09-19 10:26:41.964 1230-1230/? A/DEBUG: Revision: '0' 
09-19 10:26:41.964 1230-1230/? A/DEBUG: ABI: 'x86_64' 
09-19 10:26:41.964 1230-1230/? A/DEBUG: pid: 2926, tid: 3175, name: >>> flow.bricks <<< 
09-19 10:26:41.964 1230-1230/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xdeadcab1 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:8): avc: denied { search } for name="com.google.android.gms" dev="vdc" ino=114708 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:9): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:10): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:11): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:12): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:13): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:14): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:15): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:16): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:17): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:18): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:19): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:20): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:21): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:22): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:23): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:24): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:25): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:26): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:27): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:28): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:29): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:30): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:31): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:32): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:33): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:34): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:35): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:36): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:37): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:38): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:39): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:40): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:41): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:41.964 1230-1230/? W/debuggerd64: type=1400 audit(0.0:42): avc: denied { search } for name="flow.bricks" dev="vdc" ino=115477 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 
09-19 10:26:42.137 1230-1230/? A/DEBUG:  rax 00000000deadcab1 rbx 00007fe0222894c0 rcx 0000000000000000 rdx 00007fe022289460 
09-19 10:26:42.137 1230-1230/? A/DEBUG:  rsi 0000000000000000 rdi 00007fe021d49b60 
09-19 10:26:42.137 1230-1230/? A/DEBUG:  r8 0000000000000006 r9 00007fe043086299 r10 00007fe04309d4cc r11 00007fe042fa9000 
09-19 10:26:42.137 1230-1230/? A/DEBUG:  r12 00007fe021af7268 r13 00007fe0430aaa00 r14 00007fe02c1c1000 r15 000000000000002e 
09-19 10:26:42.137 1230-1230/? A/DEBUG:  cs 0000000000000033 ss 000000000000002b 
09-19 10:26:42.137 1230-1230/? A/DEBUG:  rip 00007fe021d49b6d rbp 00007fe021af70c0 rsp 00007fe021af70c0 eflags 0000000000010206 
09-19 10:26:42.141 1230-1230/? A/DEBUG: backtrace: 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #00 pc 0000000000251b6d /data/app/flow.bricks-2/lib/x86_64/libmapbox-gl.so 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #01 pc 0000000000251b97 /data/app/flow.bricks-2/lib/x86_64/libmapbox-gl.so 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #02 pc 0000000000251b56 /data/app/flow.bricks-2/lib/x86_64/libmapbox-gl.so (std::terminate()+22) 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #03 pc 0000000000250851 /data/app/flow.bricks-2/lib/x86_64/libmapbox-gl.so 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #04 pc 000000000025011f /data/app/flow.bricks-2/lib/x86_64/libmapbox-gl.so 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #05 pc 00000000002500b1 /data/app/flow.bricks-2/lib/x86_64/libmapbox-gl.so 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #06 pc 00000000001358ec /data/app/flow.bricks-2/lib/x86_64/libmapbox-gl.so (mbgl::OfflineDatabase::ensureSchema()+300) 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #07 pc 000000000013570c /data/app/flow.bricks-2/lib/x86_64/libmapbox-gl.so (mbgl::OfflineDatabase::OfflineDatabase(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)+204) 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #08 pc 000000000012a7de /data/app/flow.bricks-2/lib/x86_64/libmapbox-gl.so (void mbgl::util::Thread<mbgl::DefaultFileSource::Impl>::run<std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long&>, 0ul, 1ul>(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long&>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>)+94) 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #09 pc 000000000012a73c /data/app/flow.bricks-2/lib/x86_64/libmapbox-gl.so (std::__1::__thread_proxy<std::__1::tuple<mbgl::util::Thread<mbgl::DefaultFileSource::Impl>::Thread<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long&>(mbgl::util::ThreadContext const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&, unsigned long&&&)::'lambda'()> >(void*, void*)+124) 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #10 pc 0000000000084eee /system/lib64/libc.so (__pthread_start(void*)+46) 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #11 pc 00000000000296eb /system/lib64/libc.so (__start_thread+11) 
09-19 10:26:42.141 1230-1230/? A/DEBUG:  #12 pc 000000000001ce55 /system/lib64/libc.so (__bionic_clone+53) 
09-19 10:26:42.218 1230-1230/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_04 
09-19 10:26:42.218 1230-1230/? E/DEBUG: AM write failed: Broken pipe 
09-19 10:26:42.219 1561-1580/system_process I/BootReceiver: Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE) 
09-19 10:26:42.231 1561-3180/system_process W/ActivityManager: Force finishing activity flow.bricks/.MainActivity 
09-19 10:26:42.237 1561-3180/system_process W/ActivityManager: Force finishing activity flow.bricks/.FirstActivity 
09-19 10:26:42.250 1203-1609/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property 
09-19 10:26:42.253 1561-3189/system_process D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true 

我希望它可以为您的帮助......请告诉我,如果我错了这里。

我没有任何具体的代码片段提供,我只是想通了,就是被撞毁试图夸大包含Mapbox查看层时:

// Inflate the layout resource file 
    View view = getActivity().getLayoutInflater().inflate(layoutResId, container, false); 

谢谢您的帮助!

+0

您使用的是什么版本的SDK?最新的是'4.1.1'。您还可以提供其他信息,任何代码片段和完整的堆栈跟踪(在logcat中关闭所有过滤器)。也尝试清理项目和重建,我一直在使用2.1.3与Mapbox一段时间,没有麻烦。 – cammace

您可以检查以确保您的活动中添加了所有mapview lifecycles。这将包括:

onCreate(); 
onResume(); 
onPause(); 
onSaveInstanceState(); 
onLowMemory(); 
onDestroy(); 

Here's an example你可以关闭的工作,以确保正确拥有的一切设置。如果这不能解决问题,我需要查看更多代码来解决问题。

+0

我认为这就是为什么我不明白这个问题,我可能应该先告诉你:我已经下载了这个例子,并且我有同样的错误...我检查了,是的,我有所有这些方法我的活动。 – Keysaw

+0

您在测试设备上使用的是哪个版本的Android,或者您使用的是模拟器?你可能会碰到[这个问题](https://github.com/mapbox/mapbox-gl-native/issues/6317)。 – cammace

+0

目前我正在使用Android Studio中的内置模拟器,API 23(棉花糖)。我现在无法在真实的设备上测试它。这个问题是否可能只发生在模拟器上? – Keysaw