Windows Phone 的 Linphone 崩溃 - System.Exception:RPC 服务器不可用。 (HRESULT 异常:0x800706BA)
Linphone for Windows Phone Crash - System.Exception: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
我得到了 Windows Phone 的 git 源代码 (linphone-wp)。我通过了自述文件中的所有步骤并成功编译了该项目。我正在使用 Visual Studio 2013。我部署了应用程序。我可以访问任何屏幕,但在我输入真实 SIP 帐户的有效连接数据并成功注册 SIP 帐户后,我收到此错误和应用程序崩溃:
{System.Exception: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
at Linphone.Core.OutOfProcess.Server.get_LinphoneCore()
at Linphone.Model.LinphoneManager.get_LinphoneCore()
at Linphone.Dialer.IsAccountConfigured()
at Linphone.Dialer.BuildLocalizedApplicationBar()
at Linphone.Dialer.OnNavigatedTo(NavigationEventArgs e)
at Microsoft.Phone.Controls.PhoneApplicationPage.InternalOnNavigatedTo(NavigationEventArgs e)
at Microsoft.Phone.Controls.PhoneApplicationPage.Microsoft.Phone.Controls.IPhoneApplicationPage.InternalOnNavigatedToX(NavigationEventArgs e)
at System.Windows.Navigation.NavigationService.RaiseNavigated(Object content, Uri uri, NavigationMode mode, Boolean isNavigationInitiator, IPhoneApplicationPage existingContentPage, IPhoneApplicationPage newContentPage)
at System.Windows.Navigation.NavigationService.CompleteNavigation(DependencyObject content, NavigationMode mode)
at System.Windows.Navigation.NavigationService.<>c__DisplayClass7.<NavigateCore_StartNavigation>b__4()}
启用本机代码调试模式后:
First-chance exception at 0x6B319D91 (libantlr3c.dll) in HeadlessHost.exe: 0xC0000005: Access violation reading location 0x00000034.
Unhandled exception at 0x6B319D91 (libantlr3c.dll) in HeadlessHost.exe: 0xC0000005: Access violation reading location 0x00000034.
调用堆栈:
libantlr3c.dll!toStringSS(ANTLR3_TOKEN_STREAM_struct * ts, unsigned int start, unsigned int stop) Line 569 C
libantlr3c.dll!toStringTT(ANTLR3_TOKEN_STREAM_struct * ts, ANTLR3_COMMON_TOKEN_struct * start, ANTLR3_COMMON_TOKEN_struct * stop) Line 584 C
belle-sip_no_tunnel.dll!synpred1_belle_sip_message_fragment(belle_sip_messageParser_Ctx_struct * ctx) Line 202429 C
belle-sip_no_tunnel.dll!synpred1_belle_sip_message(belle_sip_messageParser_Ctx_struct * ctx) Line 203391 C
belle-sip_no_tunnel.dll!dfa2_sst(belle_sip_messageParser_Ctx_struct * ctx, ANTLR3_BASE_RECOGNIZER_struct * recognizer, ANTLR3_INT_STREAM_struct * is, ANTLR3_CYCLIC_DFA_struct * dfa, int s) Line 58555 C
libantlr3c.dll!antlr3dfapredict(void * ctx, ANTLR3_BASE_RECOGNIZER_struct * rec, ANTLR3_INT_STREAM_struct * is, ANTLR3_CYCLIC_DFA_struct * cdfa) Line 99 C
belle-sip_no_tunnel.dll!common_request(belle_sip_messageParser_Ctx_struct * ctx) Line 165724 C
belle-sip_no_tunnel.dll!message_raw(belle_sip_messageParser_Ctx_struct * ctx, unsigned int * length) Line 165540 C
belle-sip_no_tunnel.dll!belle_sip_message_parse_raw(const char * buff, unsigned int buff_length, unsigned int * message_length) Line 133 C
belle-sip_no_tunnel.dll!belle_sip_channel_parse_stream(belle_sip_channel * obj, int end_of_stream) Line 509 C
belle-sip_no_tunnel.dll!belle_sip_channel_process_stream(belle_sip_channel * obj, int eos) Line 543 C
belle-sip_no_tunnel.dll!belle_sip_channel_process_read_data(belle_sip_channel * obj) Line 576 C
belle-sip_no_tunnel.dll!belle_sip_channel_process_data(belle_sip_channel * obj, unsigned int revents) Line 598 C
belle-sip_no_tunnel.dll!on_udp_data(belle_sip_udp_listening_point * lp, unsigned int events) Line 190 C
belle-sip_no_tunnel.dll!belle_sip_main_loop_iterate(belle_sip_main_loop * ml) Line 448 C
belle-sip_no_tunnel.dll!belle_sip_main_loop_run(belle_sip_main_loop * ml) Line 478 C
belle-sip_no_tunnel.dll!belle_sip_main_loop_sleep(belle_sip_main_loop * ml, int milliseconds) Line 490 C
belle-sip_no_tunnel.dll!belle_sip_stack_sleep(belle_sip_stack * stack, unsigned int milliseconds) Line 200 C
LibLinphone_no_tunnel.dll!sal_iterate(Sal * sal) Line 745 C
LibLinphone_no_tunnel.dll!linphone_core_iterate(_LinphoneCore * lc) Line 2608 C
Linphone.Core.dll!Linphone::Core::LinphoneCore::IterateEnabled::set::__l12::<lambda>(Windows::Foundation::IAsyncAction ^ action) Line 1533 C++
Linphone.Core.dll!Platform::Details::__abi_FunctorCapture1<void <lambda>(Windows::Foundation::IAsyncAction ^),void,Windows::Foundation::IAsyncAction ^>::Invoke(Windows::Foundation::IAsyncAction ^ __arg0) Line 857 C++
[External Code]
[Frames below may be incorrect and/or missing, no symbols loaded for THREADPOOLWINRT.DLL]
我在模拟器和真实设备 (Lumia 640 XL WP8.1 Update 2) 上都试过了,但我得到了同样的错误。
phone 上的日志不包含任何错误消息。
如果我输入密码错误,则会收到 "bad credentials" 消息。只有在 SIP 服务器上注册成功后才会发生崩溃。
请帮我解决这个问题。欢迎任何建议。
经过长时间的调试,我找到了问题的原因。该问题与
中配置的推送通知功能有关
linphone-wp\Linphone\App.xaml.cs
// Initialize the push channel
InitPushChannel();
// Initialize the task to listen to incoming call notifications on the push channel
InitHttpNotificationTask();
我没有使用推送通知服务,所以我评论了上面的代码并解决了问题。
我得到了 Windows Phone 的 git 源代码 (linphone-wp)。我通过了自述文件中的所有步骤并成功编译了该项目。我正在使用 Visual Studio 2013。我部署了应用程序。我可以访问任何屏幕,但在我输入真实 SIP 帐户的有效连接数据并成功注册 SIP 帐户后,我收到此错误和应用程序崩溃:
{System.Exception: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
at Linphone.Core.OutOfProcess.Server.get_LinphoneCore()
at Linphone.Model.LinphoneManager.get_LinphoneCore()
at Linphone.Dialer.IsAccountConfigured()
at Linphone.Dialer.BuildLocalizedApplicationBar()
at Linphone.Dialer.OnNavigatedTo(NavigationEventArgs e)
at Microsoft.Phone.Controls.PhoneApplicationPage.InternalOnNavigatedTo(NavigationEventArgs e)
at Microsoft.Phone.Controls.PhoneApplicationPage.Microsoft.Phone.Controls.IPhoneApplicationPage.InternalOnNavigatedToX(NavigationEventArgs e)
at System.Windows.Navigation.NavigationService.RaiseNavigated(Object content, Uri uri, NavigationMode mode, Boolean isNavigationInitiator, IPhoneApplicationPage existingContentPage, IPhoneApplicationPage newContentPage)
at System.Windows.Navigation.NavigationService.CompleteNavigation(DependencyObject content, NavigationMode mode)
at System.Windows.Navigation.NavigationService.<>c__DisplayClass7.<NavigateCore_StartNavigation>b__4()}
启用本机代码调试模式后:
First-chance exception at 0x6B319D91 (libantlr3c.dll) in HeadlessHost.exe: 0xC0000005: Access violation reading location 0x00000034.
Unhandled exception at 0x6B319D91 (libantlr3c.dll) in HeadlessHost.exe: 0xC0000005: Access violation reading location 0x00000034.
调用堆栈:
libantlr3c.dll!toStringSS(ANTLR3_TOKEN_STREAM_struct * ts, unsigned int start, unsigned int stop) Line 569 C
libantlr3c.dll!toStringTT(ANTLR3_TOKEN_STREAM_struct * ts, ANTLR3_COMMON_TOKEN_struct * start, ANTLR3_COMMON_TOKEN_struct * stop) Line 584 C
belle-sip_no_tunnel.dll!synpred1_belle_sip_message_fragment(belle_sip_messageParser_Ctx_struct * ctx) Line 202429 C
belle-sip_no_tunnel.dll!synpred1_belle_sip_message(belle_sip_messageParser_Ctx_struct * ctx) Line 203391 C
belle-sip_no_tunnel.dll!dfa2_sst(belle_sip_messageParser_Ctx_struct * ctx, ANTLR3_BASE_RECOGNIZER_struct * recognizer, ANTLR3_INT_STREAM_struct * is, ANTLR3_CYCLIC_DFA_struct * dfa, int s) Line 58555 C
libantlr3c.dll!antlr3dfapredict(void * ctx, ANTLR3_BASE_RECOGNIZER_struct * rec, ANTLR3_INT_STREAM_struct * is, ANTLR3_CYCLIC_DFA_struct * cdfa) Line 99 C
belle-sip_no_tunnel.dll!common_request(belle_sip_messageParser_Ctx_struct * ctx) Line 165724 C
belle-sip_no_tunnel.dll!message_raw(belle_sip_messageParser_Ctx_struct * ctx, unsigned int * length) Line 165540 C
belle-sip_no_tunnel.dll!belle_sip_message_parse_raw(const char * buff, unsigned int buff_length, unsigned int * message_length) Line 133 C
belle-sip_no_tunnel.dll!belle_sip_channel_parse_stream(belle_sip_channel * obj, int end_of_stream) Line 509 C
belle-sip_no_tunnel.dll!belle_sip_channel_process_stream(belle_sip_channel * obj, int eos) Line 543 C
belle-sip_no_tunnel.dll!belle_sip_channel_process_read_data(belle_sip_channel * obj) Line 576 C
belle-sip_no_tunnel.dll!belle_sip_channel_process_data(belle_sip_channel * obj, unsigned int revents) Line 598 C
belle-sip_no_tunnel.dll!on_udp_data(belle_sip_udp_listening_point * lp, unsigned int events) Line 190 C
belle-sip_no_tunnel.dll!belle_sip_main_loop_iterate(belle_sip_main_loop * ml) Line 448 C
belle-sip_no_tunnel.dll!belle_sip_main_loop_run(belle_sip_main_loop * ml) Line 478 C
belle-sip_no_tunnel.dll!belle_sip_main_loop_sleep(belle_sip_main_loop * ml, int milliseconds) Line 490 C
belle-sip_no_tunnel.dll!belle_sip_stack_sleep(belle_sip_stack * stack, unsigned int milliseconds) Line 200 C
LibLinphone_no_tunnel.dll!sal_iterate(Sal * sal) Line 745 C
LibLinphone_no_tunnel.dll!linphone_core_iterate(_LinphoneCore * lc) Line 2608 C
Linphone.Core.dll!Linphone::Core::LinphoneCore::IterateEnabled::set::__l12::<lambda>(Windows::Foundation::IAsyncAction ^ action) Line 1533 C++
Linphone.Core.dll!Platform::Details::__abi_FunctorCapture1<void <lambda>(Windows::Foundation::IAsyncAction ^),void,Windows::Foundation::IAsyncAction ^>::Invoke(Windows::Foundation::IAsyncAction ^ __arg0) Line 857 C++
[External Code]
[Frames below may be incorrect and/or missing, no symbols loaded for THREADPOOLWINRT.DLL]
我在模拟器和真实设备 (Lumia 640 XL WP8.1 Update 2) 上都试过了,但我得到了同样的错误。
phone 上的日志不包含任何错误消息。
如果我输入密码错误,则会收到 "bad credentials" 消息。只有在 SIP 服务器上注册成功后才会发生崩溃。
请帮我解决这个问题。欢迎任何建议。
经过长时间的调试,我找到了问题的原因。该问题与
中配置的推送通知功能有关linphone-wp\Linphone\App.xaml.cs
// Initialize the push channel
InitPushChannel();
// Initialize the task to listen to incoming call notifications on the push channel
InitHttpNotificationTask();
我没有使用推送通知服务,所以我评论了上面的代码并解决了问题。