Je demande des informations sur le Web à l'aide de services Web renvoyant XML. Cela fonctionne très bien tant que l'appareil n'est pas verrouillé. Si l'utilisateur éteint l'appareil ou s'il se verrouille après le délai d'attente configuré, le service Web échoue. J'ai ajouté le stacktrace ici. Ce que je me demande: Je ne fais rien dans mon application de test avec le résultat du webservice (appelé via SOAP). Encore il se bloque, en essayant d'appeler "mprotect" ou quelque chose. Quel est le problème et comment puis-je continuer à utiliser mon application si l'appareil est verrouillé? J'ai toujours pensé que le verrouillage est différent de la mise en arrière-plan - l'application doit rester active.Exception lorsque webservice est appelé après que le périphérique a été verrouillé
J'ai découvert que "errno 12" signifie "mémoire insuffisante" mais ce n'est pas vrai. Si l'appareil ne se verrouille pas, l'application de test dure plusieurs heures. Dès qu'il se verrouille, il fait une requête de plus et se bloque. Aussi Instruments montre une utilisation de la mémoire constante de 40Mo (comme dans la question de Luc: 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
Quelle version de MonoTouch + Xcode vous utilisez? J'ai les quelques jours à venir au travail mis de côté pour vraiment s'attaquer à ce problème! – Luke
J'utilisais MT 4.0.1, Xcode 3, SDK 4.3. Si vous trouvez une solution, s'il vous plaît faites le moi savoir. Mais comme c'est un MT interne je n'ai pas trop d'espoir. – Krumelur
Une autre question a surgi - http://stackoverflow.com/questions/5819700/why-is-our-monotouch-app-breaking-in-the-garbage-collector-it-is-not-out-of-memo Il semble vraiment allumé et prêt à passer un test de travail alors j'espère qu'il y a une lumière au bout du tunnel! – Luke