2

I'm requesting stuff from the web using web services that return XML. This works fine as long as the device is not locked. If the user turns the device off or if it gets locked after the configured timeout, the webservice fails. I appended the stacktrace here. What I'm wondering: I'm not doing anything in my test application with the result of the webservice (called via SOAP). Still it crashes, trying to call "mprotect" or something. What is the issue and how can I keep my app running if the device gets locked? I always thought locking is different from pushing to background - the app should remain active.

I found out that "errno 12" means "out of memory" but that is not true. If the device does not lock, the test app goes on for hours. As soon as it locks, it does one more request and crashes. Also Instruments shows a constant memory usage of 40MB (Like in Luke's question: 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
Community
  • 1
  • 1
Krumelur
  • 32,180
  • 27
  • 124
  • 263
  • What version of Monotouch + Xcode are you running? I've got the next few days at work set aside to really tackle this problem ! – Luke Apr 28 '11 at 07:57
  • I was using MT 4.0.1, Xcode 3, SDK 4.3. If you find a solution, please let me know. But as it is a MT internal I don't have too much hope. – Krumelur Apr 28 '11 at 13:49
  • Another question has popped up - http://stackoverflow.com/questions/5819700/why-is-our-monotouch-app-breaking-in-the-garbage-collector-it-is-not-out-of-memo He seems really switched on and willing to pass on a working test case so hopefully there is a light at the end of the tunnel! – Luke Apr 28 '11 at 14:14
  • I see. Hopefully someone will solve it.I'm not sure if my issue relates to it b/c my app fails whenver the device gets locked. It should just keep on running. Be sure to keep me posted (will be on holiday for the next 5 weeks though), best would be to send me a mail to rene.ruppert at gmail.com. Thank You in advance! – Krumelur Apr 28 '11 at 14:39
  • I'll be sure to let you know if anything does come of this / I find anything out myself. Enjoy your holiday! – Luke Apr 28 '11 at 15:00
  • We have found a possible cause of this and are working on a solution – Geoff Norton Apr 29 '11 at 18:35

1 Answers1

0

This is supposingly fixed in MonoTouch 4.0.2

Krumelur
  • 32,180
  • 27
  • 124
  • 263