ios - Need help interpreting a crash log from QuincyKit -
i added quincykit (a crash log reporter sits on top of plcrashreporter) app , received crash log i'm having trouble interpreting.
the crash log seems inconsistent - says thread 0 crashed, "last exception backtrace" doesn't match thread 0 callstack. last exception points table method, thread 0 callstack indicates abort occurred during quincy manager initialization.
moreover, "last exception backtrace" doesn't seem make sense taken on it's own - "caneditrowatindexpath" method doesn't include call "removeobjectatindex" @ (see below method).
can shed light onto whether or not should paying attention "last exception backtrace" or red herring, , should looking why plcrashreporter aborted during start up?
many thanks
crash log excerpt:
exception type: sigabrt exception codes: #0 @ 0x38362df0 crashed thread: 0 application specific information: *** terminating app due uncaught exception 'nsrangeexception', reason: '*** -[__nsarraym objectatindex:]: index 7 beyond bounds [0 .. 6]' last exception backtrace: 0 corefoundation 0x29920fef <redacted> + 126 1 libobjc.a.dylib 0x37d0cc8b objc_exception_throw + 38 2 corefoundation 0x29833821 -[__nsarraym removeobjectatindex:] + 0 3 dart 0x000906b3 -[deliverycomplete tableview:caneditrowatindexpath:] + 262 4 uikit 0x2d0a3c25 -[uitableview _caneditrowatindexpath:] + 60 5 uikit 0x2d0a3a7f -[uitableview _setupcell:forediting:atindexpath:animated:updateseparators:] + 130 6 uikit 0x2d0a1179 <redacted> + 2320 7 uikit 0x2cf82a31 +[uiview performwithoutanimation:] + 72 8 uikit 0x2d0a0861 -[uitableview _configurecellfordisplay:forindexpath:] + 336 9 uikit 0x2d246383 -[uitableview _createpreparedcellforglobalrow:withindexpath:willdisplay:] + 498 10 uikit 0x2d24642f -[uitableview _createpreparedcellforglobalrow:willdisplay:] + 54 11 uikit 0x2d23b013 -[uitableview _updatevisiblecellsnow:isrecursive:] + 2258 12 uikit 0x2d049657 -[uitableview layoutsubviews] + 186 13 uikit 0x2cf73023 -[uiview layoutsublayersoflayer:] + 546 14 quartzcore 0x2c993d99 -[calayer layoutsublayers] + 128 15 quartzcore 0x2c98f5cd <redacted> + 360 16 quartzcore 0x2c98f455 <redacted> + 16 17 quartzcore 0x2c98edf1 <redacted> + 224 18 quartzcore 0x2c98ebdf <redacted> + 434 19 uikit 0x2cf6b23b <redacted> + 126 20 corefoundation 0x298e6fed <redacted> + 20 21 corefoundation 0x298e46ab <redacted> + 278 22 corefoundation 0x298e4ab3 <redacted> + 914 23 corefoundation 0x29831201 cfrunlooprunspecific + 476 24 corefoundation 0x29831013 cfrunloopruninmode + 106 25 graphicsservices 0x3100d201 gseventrunmodal + 136 26 uikit 0x2cfd5a59 uiapplicationmain + 1440 27 dart 0x00015491 _mh_execute_header + 25745 28 libdyld.dylib 0x38298aaf <redacted> + 2 thread 0 crashed: 0 libsystem_kernel.dylib 0x38362df0 __pthread_kill + 8 1 libsystem_c.dylib 0x382fe909 abort + 76 2 dart 0x00122dd7 -[plcrashreporter enablecrashreporterandreturnerror:] + 1294 3 corefoundation 0x2992131f <redacted> + 630 4 libobjc.a.dylib 0x37d0cf13 <redacted> + 174 5 libc++abi.dylib 0x37643de3 <redacted> + 78 6 libc++abi.dylib 0x376438af __cxa_rethrow + 102 7 libobjc.a.dylib 0x37d0cdd3 objc_exception_rethrow + 42 8 corefoundation 0x2983129d cfrunlooprunspecific + 632 9 corefoundation 0x29831013 cfrunloopruninmode + 106 10 graphicsservices 0x3100d201 gseventrunmodal + 136 11 uikit 0x2cfd5a59 uiapplicationmain + 1440 12 dart 0x00015491 _mh_execute_header + 25745 13 libdyld.dylib 0x38298aaf <redacted> + 2
"caneditrowatindexpath" method:
-(bool) tableview:(uitableview *)tableview caneditrowatindexpath:(nsindexpath *)indexpath { if (tableview.tag == signer_table_tag_value) { routestopdata *currentstop = [currentroute singleton].selectedstop; nsarray *signers = [currentstop signernamesforstop]; if (indexpath.row >= [signers count]) { return no; } if ([[signers objectatindex:indexpath.row] isequaltostring:dark_drop_signer_string] || [[signers objectatindex:indexpath.row] isequaltostring:paper_invoice_signer_string] || [[signers objectatindex:indexpath.row] isequaltostring:add_new_signer_string] ) { return no; } return yes; } return no; }
if using ios7, it's maybe uikit's fault.
tableview call delegate method before dealloc.
can add code in custom class:
- (void )dealloc{ self.tableview.datasource = nil; self.tableview.delegate = nil; }
see more in ios 7 bug or bug in uialertview
Comments
Post a Comment