Unknown Crash


#1

Hi,

I am getting an unknown crash that I can’t seem to replicate so I only have live crash reports. Any way I can see whats being logged in 

“handleFatalErrorWithMessage:fromSource”

Here is a full crash log. 

Exception Type: SIGABRT
Exception Codes: #0 at 0x384861f0
Crashed Thread: 0

Thread 0 Crashed:
0 libsystem_kernel.dylib 0x384861f0 __pthread_kill + 8
1 libsystem_pthread.dylib 0x384ee7b7 pthread_kill + 56
2 libsystem_c.dylib 0x38436ff9 abort + 74
3 Fisica Fitness 0x0035e25b +[ShinobiChartLog fatalLogMessage:fromSource:] + 52
4 Fisica Fitness 0x0035e363 -[ShinobiChartLog handleFatalErrorWithMessage:fromSource:] + 60
5 Fisica Fitness 0x00377163 -[SChartDataLoader internalDataPointFromExternalDataPoint:chartSeries:withIndex:atDataIndex:xAxis:yAxis:] + 1864
6 Fisica Fitness 0x00377aaf -[SChartDataLoader addChartDataPoint:toChartSeries:withIndex:atDataIndex:xAxis:yAxis:] + 304
7 Fisica Fitness 0x003752ff -[SChartDataLoader populateChartSeries:atIndex:xAxis:yAxis:] + 1236
8 Fisica Fitness 0x00332c5d -[ShinobiChart loadNewChartSeriesEntries] + 3078
9 Fisica Fitness 0x0033853b -[ShinobiChart layoutSubviews] + 1092
10 UIKit 0x2ff6a305 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 378
11 QuartzCore 0x2fbe631b -[CALayer layoutSublayers] + 140
12 QuartzCore 0x2fbe1b3f CA::Layer::layout_if_needed(CA::Transaction*) + 348
13 QuartzCore 0x2fbe19d1 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 14
14 QuartzCore 0x2fbe13e5 CA::Context::commit_transaction(CA::Transaction*) + 226
15 QuartzCore 0x2fbe11f7 CA::Transaction::commit() + 312
16 QuartzCore 0x2fc34d45 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 514
17 IOMobileFramebuffer 0x32a0475d IOMobileFramebufferVsyncNotifyFunc + 102
18 IOKit 0x2e4255c9 IODispatchCalloutFromCFMessage + 246
19 CoreFoundation 0x2d6fac55 __CFMachPortPerform + 134
20 CoreFoundation 0x2d705847 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
21 CoreFoundation 0x2d7057e3 __CFRunLoopDoSource1 + 344
22 CoreFoundation 0x2d703faf __CFRunLoopRun + 1404
23 CoreFoundation 0x2d66e769 CFRunLoopRunSpecific + 522
24 CoreFoundation 0x2d66e54b CFRunLoopRunInMode + 104
25 GraphicsServices 0x325db6d3 GSEventRunModal + 136
26 UIKit 0x2ffcd891 UIApplicationMain + 1134
27 Fisica Fitness 0x000af94f main (main.m:15)
28 libdyld.dylib 0x383cfab7 start + 0

#2

Hi Murray,

Was there any error message logged out when you experienced this crash? The chart killed the application intentionally, as you can see from the call to ShinobiChartLog’s fatalLogMessage:fromSource: method. This fatal was triggered from the method internalDataPointFromExternalDataPoint:chartSeries:withIndex:atDataIndex:xAxis:yAxis:. I had a quick look in our source and the only potential error messages that could be logged from there are errors regarding nil X & Y values assigned to datapoints that have been provided to the chart.

My best suggestion would be that you check the datapoints you are providing to your chart all have valid X & Y values.

Thanks,
Jan Akerman


#3

Hi Jan,

I haven’t seen it with any logging enabled, we turn off all logging on our release builds. I’ve added some special logging for our next release so hopefully I might catch that. Would be nice if Shinobi had a option to pipe those log messages out via a delegate and not just the NSLog.

The nil XY values gives me a great place to start reviewing the code, at least I should be able to put some protection so I don’t crash the app.

I will post back my results, thanks.


#4

Hi Murray,

We’ve got some work planned to improve our logging system and make it more publicly available, hopefully making the type of thing you are describing possible.  :grin:

Jan


#5

Thanks,

We also did find a code path that could result in a nil Y value, so hopefully thats what people are getting. 

Cheers for the help.


#6

No problem Murray!