Question

My app crashes - unfortunately, it's not reproducable - this is a crash log I got, but I cannot read anything that would help me. Perhaps someone of you? Would be reeeeeeeeally great...

0   libSystem.B.dylib               0x00088c24 __kill + 8
1   libSystem.B.dylib               0x00088c12 kill + 4
2   libSystem.B.dylib               0x00088c06 raise + 10
3   libSystem.B.dylib               0x0009f902 abort + 54
4   libstdc++.6.dylib               0x00065a00 __gnu_cxx::__verbose_terminate_handler() + 588
5   libobjc.A.dylib                 0x00007f1c _objc_terminate + 160
6   libstdc++.6.dylib               0x00063100 __cxxabiv1::__terminate(void (*)()) + 76
7   libstdc++.6.dylib               0x00063178 std::terminate() + 16
8   libstdc++.6.dylib               0x000632a0 __cxa_throw + 100
9   libobjc.A.dylib                 0x00006504 objc_exception_throw + 104
10  CoreFoundation                  0x000a01c0 +[NSException raise:format:arguments:] + 64
11  CoreFoundation                  0x000a01f4 +[NSException raise:format:] + 24
12  Foundation                      0x0002cbc6 -[NSPlaceholderMutableString initWithString:] + 78
13  here_my_app                     0x0002c35e 0x1000 + 176990
14  here_my_app                     0x00029a6c 0x1000 + 166508
15  UIKit                           0x000a9248 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 644
16  UIKit                           0x000a8eac -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:] + 44
17  UIKit                           0x0006f3b8 -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] + 1100
18  UIKit                           0x0006ce40 -[UITableView layoutSubviews] + 200
19  UIKit                           0x00014ab0 -[UIView(CALayerDelegate) _layoutSublayersOfLayer:] + 32
20  CoreFoundation                  0x000285ba -[NSObject(NSObject) performSelector:withObject:] + 18
21  QuartzCore                      0x0000a61c -[CALayer layoutSublayers] + 176
22  QuartzCore                      0x0000a2a4 CALayerLayoutIfNeeded + 192
23  QuartzCore                      0x00009bb0 CA::Context::commit_transaction(CA::Transaction*) + 256
24  QuartzCore                      0x000097d8 CA::Transaction::commit() + 276
25  QuartzCore                      0x000119d8 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 80
26  CoreFoundation                  0x00074244 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 12
27  CoreFoundation                  0x00075d9e __CFRunLoopDoObservers + 494
28  CoreFoundation                  0x000772f6 __CFRunLoopRun + 934
29  CoreFoundation                  0x0001e0bc CFRunLoopRunSpecific + 220
30  CoreFoundation                  0x0001dfca CFRunLoopRunInMode + 54
31  GraphicsServices                0x00003f88 GSEventRunModal + 188
32  UIKit                           0x00007b40 -[UIApplication _run] + 564
33  UIKit                           0x00005fb8 UIApplicationMain + 964
34  here_my_app                     0x00002f52 0x1000 + 8018
35  here_my_app                     0x00002efc 0x1000 + 7932

here's the code for my "cellForRowAtIndexPath"

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"AbfahrtszeitResultTableCell";

    AbfahrtszeitResultTableCell *cell = (AbfahrtszeitResultTableCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"AbfahrtszeitResultTableCell" owner:nil options:nil];

        for (id currentObject in topLevelObjects) {
            if ([currentObject isKindOfClass:[UITableViewCell class]]) {
                cell = (AbfahrtszeitResultTableCell *) currentObject;
                break;
            }
        }

        // make cell not-selectable
        cell.selectionStyle = UITableViewCellSelectionStyleNone;

        // background color
        BOOL day = [self isDayView];

        if (day) {
            UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:ABFAHRTSZEIT_RESULT_TABLE_CELL_BACKGROUND_IMAGE_RED]];
            cell.backgroundView = imageView;
            [imageView release];
        } else {
            UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:ABFAHRTSZEIT_RESULT_TABLE_CELL_BACKGROUND_IMAGE_BLUE]];
            cell.backgroundView = imageView;
            [imageView release];
        }

        // text color
        cell.textLabel.textColor = [UIColor whiteColor];
    }

    // Set up the cell...
    AbfahrtszeitResult *result = [abfahrten objectAtIndex:indexPath.row];
    cell.linienLabel.text = [TextUtil cleanUpString:result.linie];
    cell.zielLabel.text = [TextUtil cleanUpString:result.ziel];
    cell.zeitLabel.text = [TextUtil cleanUpString:result.zeit];

    return cell;
}
Was it helpful?

Solution

You read the stack from the bottom to the top. Here's the key area:

12  Foundation                      0x0002cbc6 -[NSPlaceholderMutableString initWithString:] + 78
13  here_my_app                     0x0002c35e 0x1000 + 176990
14  here_my_app                     0x00029a6c 0x1000 + 166508
15  UIKit                           0x000a9248 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 644

It looks like 15 is UIKit trying to create cells for a UITableView. 13 and 14 are in your code, likely your tableView:cellForRowAtIndexPath: method. 12 is a Foundation method dealing with strings.

I would take a look at your tableView:cellForRowAtIndexPath: method and see what you could be doing wrong with string initialization or post your method for us to examine.

OTHER TIPS

Not enough information. You're stuck. Better not strip the symbols next time :)

Anyway, the key lines are

12  Foundation    0x0002cbc6 -[NSPlaceholderMutableString initWithString:] + 78
13  here_my_app   0x0002c35e 0x1000 + 176990
14  here_my_app   0x00029a6c 0x1000 + 166508
15  UIKit         0x000a9248 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 644

From #15 we know the error is in the -tableView:cellForRowAtIndexPath: method in one of your delegates, and from #12 we know the error is due to initializing a string. The only way -initWithString: will throw is when the input argument is nil. Check the custom function called from -tableView:cellForRowAtIndexPath: and ensure the string is not nil.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top