Отчет о сбое iPhone - PullRequest
       20

Отчет о сбое iPhone

2 голосов
/ 07 апреля 2010

Приложение для iPhone на некоторых пользователей в Великобритании рушится. Я попытался использовать часовой пояс Великобритании и формат их региона, но не смог воспроизвести сбой на моем iPhone или эмуляторе. В конце концов получил отчет о сбое, и я смог его символизировать. Однако мне трудно понять результаты. Похоже, что поток 0 потерпел крах в системной библиотеке. Единственный звонок из моего приложения - main.m.

В теме 4 есть что-то знакомое. Это было в:

My App 0x00004cca -[TocTableController parser:didEndElement:namespaceURI:qualifiedName:] (TocTableController.m:1369)

Код:

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];

Сбой при выполнении alloc / init? Недостаточно памяти, только в Великобритании? У любого есть идея, что может быть причиной? Заранее спасибо!

Date/Time:       2010-04-06 21:41:17.629 +0100
OS Version:      iPhone OS 3.1.3 (7E18)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Thread 0 Crashed:
0   libSystem.B.dylib              0x00090b2c __kill + 8
1   libSystem.B.dylib              0x00090b1a kill + 4
2   libSystem.B.dylib              0x00090b0e raise + 10
3   libSystem.B.dylib              0x000a7e34 abort + 36
4   libstdc++.6.dylib              0x00066390 __gnu_cxx::__verbose_terminate_handler() + 588
5   libobjc.A.dylib                0x00008898 _objc_terminate + 160
6   libstdc++.6.dylib              0x00063a84 __cxxabiv1::__terminate(void (*)()) + 76
7   libstdc++.6.dylib              0x00063afc std::terminate() + 16
8   libstdc++.6.dylib              0x00063c24 __cxa_throw + 100
9   libobjc.A.dylib                0x00006e54 objc_exception_throw + 104
10  Foundation                     0x0000202a __NSThreadPerformPerform + 574
11  CoreFoundation                 0x000573a0 CFRunLoopRunSpecific + 1908
12  CoreFoundation                 0x00056c18 CFRunLoopRunInMode + 44
13  GraphicsServices               0x000041c0 GSEventRunModal + 188
14  UIKit                          0x00003c28 -[UIApplication _run] + 552
15  UIKit                          0x00002228 UIApplicationMain + 960
16  My App                             0x00002414 main (main.m:14)
17  My App                             0x000023e4 start + 32

Thread 1:
0   libSystem.B.dylib              0x00001488 mach_msg_trap + 20
1   libSystem.B.dylib              0x00004064 mach_msg + 60
2   CoreFoundation                 0x00057002 CFRunLoopRunSpecific + 982
3   CoreFoundation                 0x00056c18 CFRunLoopRunInMode + 44
4   WebCore                        0x000841d4 RunWebThread(void*) + 412
5   libSystem.B.dylib              0x0002b780 _pthread_body + 20

Thread 2:
0   libSystem.B.dylib              0x00001488 mach_msg_trap + 20
1   libSystem.B.dylib              0x00004064 mach_msg + 60
2   CoreFoundation                 0x00057002 CFRunLoopRunSpecific + 982
3   CoreFoundation                 0x00056c18 CFRunLoopRunInMode + 44
4   Foundation                     0x0005a998 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 172
5   Foundation                     0x00053ac6 -[NSThread main] + 42
6   Foundation                     0x00001d0e __NSThread__main__ + 852
7   libSystem.B.dylib              0x0002b780 _pthread_body + 20

Thread 3:
0   libSystem.B.dylib              0x000262c0 select$DARWIN_EXTSN + 20
1   CoreFoundation                 0x000207e2 __CFSocketManager + 342
2   libSystem.B.dylib              0x0002b780 _pthread_body + 20

Thread 4:
0   libSystem.B.dylib              0x00015764 fegetenv + 0
1   libSystem.B.dylib              0x0002a160 time + 8
2   libicucore.A.dylib             0x00009280 uprv_getUTCtime + 6
3   libicucore.A.dylib             0x0000a492 icu::Calendar::getNow() + 2
4   libicucore.A.dylib             0x0000a2a0 icu::GregorianCalendar::GregorianCalendar(icu::Locale const&, UErrorCode&) + 86
5   libicucore.A.dylib             0x0000a242 icu::GregorianCalendar::GregorianCalendar(icu::Locale const&, UErrorCode&) + 2
6   libicucore.A.dylib             0x000098ec icu::Calendar::createInstance(icu::TimeZone*, icu::Locale const&, UErrorCode&) + 160
7   libicucore.A.dylib             0x00008762 icu::SimpleDateFormat::initializeCalendar(icu::TimeZone*, icu::Locale const&, UErrorCode&) + 28
8   libicucore.A.dylib             0x0000bd2c icu::SimpleDateFormat::SimpleDateFormat(icu::Locale const&, UErrorCode&) + 82
9   libicucore.A.dylib             0x0000bcd2 icu::SimpleDateFormat::SimpleDateFormat(icu::Locale const&, UErrorCode&) + 2
10  libicucore.A.dylib             0x000084aa icu::DateFormat::create(icu::DateFormat::EStyle, icu::DateFormat::EStyle, icu::Locale const&) + 148
11  libicucore.A.dylib             0x0000840e icu::DateFormat::createDateTimeInstance(icu::DateFormat::EStyle, icu::DateFormat::EStyle, icu::Locale const&) + 14
12  libicucore.A.dylib             0x00008336 udat_open + 70
13  CoreFoundation                 0x0006c2e0 CFDateFormatterCreate + 252
14  Foundation                     0x00019fd2 -[NSDateFormatter _regenerateFormatter] + 198
15  Foundation                     0x00019ebe -[NSDateFormatter init] + 150
16  My App                             0x00004cca -[TocTableController parser:didEndElement:namespaceURI:qualifiedName:] (TocTableController.m:1369)
17  Foundation                     0x000380e6 _endElementNs + 442
18  libxml2.2.dylib                0x00011d2c xmlParseXMLDecl + 1808
19  libxml2.2.dylib                0x0001ef08 xmlParseChunk + 3300
20  Foundation                     0x0003772a -[NSXMLParser parse] + 178
21  My App                             0x000055e2 -[TocTableController parseTocData:] (TocTableController.m:1120)
22  Foundation                     0x00053ac6 -[NSThread main] + 42
23  Foundation                     0x00001d0e __NSThread__main__ + 852
24  libSystem.B.dylib              0x0002b780 _pthread_body + 20

Thread 0 crashed with ARM Thread State:
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000001      r3: 0x384e83cc
    r4: 0x00000006    r5: 0x001d813c      r6: 0x2ffff2b8      r7: 0x2ffff2c8
    r8: 0x38385cac    r9: 0x0000000a     r10: 0x0002c528     r11: 0x0012be50
    ip: 0x00000025    sp: 0x2ffff2c8      lr: 0x33b3db21      pc: 0x33b3db2c
  cpsr: 0x00070010

Ответы [ 2 ]

1 голос
/ 07 апреля 2010

Поток, в котором произошел сбой, выполняет основной цикл событий.Одна из вещей, которая здесь происходит, заключается в том, что пул авто-релиза истощается, поэтому это может быть проблемой чрезмерного освобождения объекта.

Если бы вы могли воспроизвести проблему, включение NSZombieEnabled было бы хорошим способом отследить любые ошибки избыточного выпуска, но это не то, что вы можете включить в приложении доставки.

0 голосов
/ 09 августа 2011

Поверьте мне, это все еще так. У вас есть объект перевыпуска. Просто используйте NSZombies, чтобы найти точный объект, который управлялся ненадлежащим образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...