SIGSEGV SEGV_MAPERR at 0x00000008
0 libpjsua2.so 0x56585a88 pj::Call::getInfo() const
1 libpjsua2.so 0x56546b44 std::allocator<pj::CallMediaInfo>::allocator()
我使用pjsip作爲我的一個愛好項目(符合GPL)。在上面你可以看到crashlytics收到的stacktrace。我爲pjsip使用Java包裝器。如何調查和修復libpjsua2.so崩潰
有很多用戶(50%)受此錯誤影響,但是我無法在本地設備上重現它。
不知道但我懷疑下面的java調用導致錯誤。哪個通過JNI調用C++
public void notifyCallState(MyCall call) {
if (currentCall == null || call.getId() != currentCall.getId())
return;
CallInfo ci;
try {
ci = call.getInfo();
} catch (Exception e) {
ci = null;
}
Message m = Message.obtain(handler, MSG_TYPE.CALL_STATE, ci);
m.sendToTarget();
if (ci != null && ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) {
currentCall = null;
}
}
代碼片段摘自來自psjua下載的例子。 Link to http repo。我的代碼是一樣的。任何幫助高度讚賞
請將標記從c改爲C++或任何其他語言。它不是C. –
您的SIGSEGV跟蹤是C++。 C沒有std :: allocator。 –
固定。確實pjsua2寫在C++ – user12384512