设备锁定后调用 Web 服务时出现异常

2024-01-07

我正在使用返回 XML 的 Web 服务从 Web 请求内容。 只要设备未锁定,此功能就可以正常工作。如果用户关闭设备或设备在配置的超时后被锁定,则 Web 服务将失败。我在这里附加了堆栈跟踪。 我想知道的是:我没有在我的测试应用程序中对 Web 服务的结果(通过 SOAP 调用)执行任何操作。它仍然崩溃,试图调用“mprotect”或其他东西。如果设备被锁定,问题是什么?如何让我的应用程序保持运行? 我一直认为锁定与推送到后台不同 - 应用程序应该保持活动状态。

我发现“errno 12”的意思是“内存不足”,但事实并非如此。如果设备未锁定,测试应用程序将持续运行数小时。一旦它锁定,它就会再执行一次请求并崩溃。 Instruments 还显示了 40MB 的恒定内存使用量(就像 Luke 的问题一样:MProtect Errno 12 (ENOMEM) 的说明 https://stackoverflow.com/questions/5389947/explanation-of-mprotect-errno-12-enomem )

Mprotect failed at 0x5f55000 (length 1396736) with errno 12
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>: Stacktrace:
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at (wrapper managed-to-native) string.InternalAllocateStr (int) <0xffffffff>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Text.StringBuilder.InternalEnsureCapacity (int) <0x000bc>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Text.StringBuilder.Append (char) <0x00047>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at Mono.Xml2.XmlTextReader.ReadText (bool) <0x00117>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at Mono.Xml2.XmlTextReader.ReadContent () <0x001fb>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at Mono.Xml2.XmlTextReader.Read () <0x001a3>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Xml.XmlTextReader.Read () <0x000d7>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Xml.XmlReader.ReadElementString () <0x00067>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Xml.Serialization.XmlSerializationReaderInterpreter.ReadPrimitiveValue (System.Xml.Serialization.XmlTypeMapElementInfo) <0x000b3>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Xml.Serialization.XmlSerializationReaderInterpreter.ReadObjectElement (System.Xml.Serialization.XmlTypeMapElementInfo) <0x00083>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Xml.Serialization.XmlSerializationReaderInterpreter.ReadMembers (System.Xml.Serialization.ClassMap,object,bool,bool) <0x0140f>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Xml.Serialization.XmlSerializationReaderInterpreter.ReadMessage (System.Xml.Serialization.XmlMembersMapping) <0x0037b>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Xml.Serialization.XmlSerializationReaderInterpreter.ReadRoot () <0x00153>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Xml.Serialization.XmlSerializer.Deserialize (System.Xml.Serialization.XmlSerializationReader) <0x000cb>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Xml.Serialization.XmlSerializer.Deserialize (System.Xml.XmlReader) <0x00073>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Web.Services.Protocols.WebServiceHelper.ReadSoapMessage (System.Xml.XmlTextReader,System.Xml.Serialization.XmlSerializer,System.Xml.Serialization.XmlSerializer,bool,object&,System.Web.Services.Protocols.SoapHeaderCollection&) <0x00277>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Web.Services.Protocols.WebServiceHelper.ReadSoapMessage (System.Xml.XmlTextReader,System.Web.Services.Protocols.SoapMethodStubInfo,System.Web.Services.Protocols.SoapHeaderDirection,bool,object&,System.Web.Services.Protocols.SoapHeaderCollection&) <0x0007b>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReceiveResponse (System.Net.WebResponse,System.Web.Services.Protocols.SoapClientMessage,System.Web.Services.Protocols.SoapExtension[]) <0x003fb>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (string,object[]) <0x00353>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at iBrainloop.API210.API210.DMOGetChunked (string,int,int,bool,int) <0x00157>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at iOSTest.AppDelegate/<FinishedLaunching>c__AnonStorey1.<>m__0 () <0x00217>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:   at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0x000c3>
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>: Native stacktrace:
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     0   iOSTest                             0x006ada34 iOSTest + 6998580
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     1   iOSTest                             0x006cc370 iOSTest + 7123824
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     2   libsystem_c.dylib                   0x336b472f _sigtramp + 42
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     3   libsystem_c.dylib                   0x336a93bb pthread_kill + 58
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     4   libsystem_c.dylib                   0x336a1bff abort + 78
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     5   iOSTest                             0x007ef40c iOSTest + 8315916
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     6   iOSTest                             0x007e2b34 iOSTest + 8264500
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     7   iOSTest                             0x007e281c iOSTest + 8263708
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     8   iOSTest                             0x007e9150 iOSTest + 8290640
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     9   iOSTest                             0x007e97f4 iOSTest + 8292340
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     10  iOSTest                             0x007e9ad4 iOSTest + 8293076
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     11  iOSTest                             0x00778324 iOSTest + 7828260
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     12  iOSTest                             0x00778794 iOSTest + 7829396
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     13  iOSTest                             0x00794d04 iOSTest + 7945476
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>:     14  iOSTest                             0x0037d39c iOSTest + 3654556
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>: =================================================================
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>: Got a SIGABRT while executing native code. This usually indicates
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>: a fatal error in the mono runtime or one of the native libraries 
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>: used by your application.
Apr 27 20:25:54 unknown UIKitApplication:iostest[0x9bc1][649] <Notice>: =================================================================
Apr 27 20:25:54 unknown ReportCrash[651] <Notice>: Formulating crash report for process iOSTest[649]
Apr 27 20:25:54 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:iostest[0x9bc1]) Job appears to have crashed: Abort trap: 6
Apr 27 20:25:54 unknown SpringBoard[479] <Warning>: Application 'iOSTest' exited abnormally with signal 6: Abort trap: 6
Apr 27 20:25:54 unknown ReportCrash[651] <Error>: libMobileGestalt loadBasebandMobileEquipmentInfo: CommCenter error: 1:45
Apr 27 20:25:54 unknown ReportCrash[651] <Error>: libMobileGestalt copyInternationalMobileEquipmentIdentity: Could not get mobile equipment info dictionary
Apr 27 20:25:54 unknown ReportCrash[651] <Error>: libMobileGestalt copyInternationalMobileEquipmentIdentity: Could not get mobile equipment info dictionary
Apr 27 20:25:54 unknown ReportCrash[651] <Error>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/iOSTest_2011-04-27-202554_iPad-Fuji-ID-0240.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0

这应该在 MonoTouch 4.0.2 中得到修复

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设备锁定后调用 Web 服务时出现异常 的相关文章

随机推荐