:Androidのネイティブのlibc信号11(SIGSEGV)、コード2(SEGV_ACCERR)、障害addrの
class AudioPolicyService :
public BinderService<AudioPolicyService>,
public BnAudioPolicyService,
public IBinder::DeathRecipient
{
friend class BinderService<AudioPolicyService>;
//[....]
class TestingClz : public virtual RefBase {
public:
TestingClz (String8 name, const wp<AudioPolicyService>& service){}
virtual TestingClz() {}
};
sp<TestingClz> mTestingClz;
} // End of class AudioPolicyService
//[....]
void AudioPolicyService::onFirstRef()
{
...
TestingClz = new TestingClz(String8("test"), this);
}
私がクラッシュ次しまっ:
02 -03 22:21:17.971 367 367 Fデバッグ:リビジョン: '0'
02-03 22:21:17.971 367 367 Fデバッグ:ABI:
02-03 22:21を 'アーム': 17.971 367 3 67 F DEBUG:PID:981、TID:981、名前: MediaServerの>>> /システム/ binに/ MediaServerの< < <
02-03 22:21:17.972 367 367 F DEBUG:信号11(SIGSEGV) 、コード2 (SEGV_ACCERR)、故障ADDR 0xb6e594d8
02-03 22:21:17.976 367 367 F DEBUG:R0 b6e594d8 R1 becfa970 R2 00000000 R3 b6e4d812
02-03 22:21:17.976 367 367 F DEBUG:r4 b5fd6a1c r5 becfa970 r6 becfa96c r7 b5fd69d4
02-03 22:21:17.976 367 367 F DEBUG:r8のbecfa968 R9 b6ad8e2dのSL 00000000 FP
02-03 22
becfabbc:21:17.976 367 367 F DEBUG:IP b6b0ec24 SP becfa958 LR b6b03849パソコンb6b03604 CPSR 8001003002-03 22:21:17.980 367 367 F DEBUG:
02-03 22:21:17.980 367 367 Fデバッグ:バックトレース:
02-03 22:21:17.980 367 367 F DEBUG:#00 pc 0000e604 /system/lib/libutils.so(android :: RefBase :: w eakref_type :: incWeak(無効 のconst *)+ 11)
02-03 22:21:17.980 367 367 F DEBUG:#01 PC 0000e845 /system/lib/libutils.so(アンドロイド:: RefBase :: createWeak(無効のconst *) のconst + 6)
02-03 22:21:17.980 367 367 FのDEBUG:#02 PC 000060ad
02-03 22
/system/lib/libaudiopolicyservice.so: 21:17.980 367 367 F DEBUG:#03 pc 0000620b /system/lib/libaudiopolicyservice.so02 -03 22:21:17.980 367 367 F DEBUG:#04 PC 0000232d /システム/ binに/ MediaServerの
02-03 22:21:17.980 367 367 F DEBUG: /システム/ binに00001b8f#05 PC /メディアサーバ
02-03 22:21:17.981 367 367 F DEBUG:#06 PC 00017359 /system/lib/libc.so(__libc_init + 44)
02-03 22:21:17.981 367 367 F DEBUG:#07 pc 00001e0c /system/bin/mediaserver
02-03 22:21:18。088 367 367 F DEBUG:
02-03 22:21:18.088 367 367 F DEBUG:に書き込まトゥームストーン:行へのマッピングアドレスの後に /データ/墓石/ tombstone_01
、それを指し私の変更のライン。 SEGV_ACCERR
は、マップされたオブジェクトに対する無効な権限を意味します。私はそれがアンドロイドmprotectによって引き起こされているかどうか疑問に思っていましたか?通常のクラッシュのようには見えません。 誰も同じ失敗を経験しましたか?どうもありがとう!
アップデート: システム全体をビルドしてフラッシュすると、クラッシュが起きないようです。&ブートイメージ。 アンドロイドのネイティブサービスを変更するには、常に完全なビルドが必要ですか?
デノン