2011-04-27 2 views
2

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 
+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

+0

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

+0

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

Répondre

0

Ceci est supposingly fixé dans MonoTouch 4.0.2

Questions connexes