Shinobi Charts release 2.3 broke my crosshairs :( AND CROSS HAIR LABELS


#1

Some of my cross hairs are broke which weren’t in previous releases. It seems like its happening when I use numbers for data or dates (even though I convert them to strings first)

For instance when I go to enable a cross hair I get this exception:

*** Terminating app due to uncaught exception ‘NSRangeException’, reason: '*** -[__NSArrayM objectAtIndex:]: index 2012 beyond bounds [0 … 2]'

Library thinks I’m indexing with 2012 even though its really position 1. THIS NEVER HAPPENED BEFORE  :confused:

 

Part 2, on the cross hairs that DO work, the label after the value is messed up. For instance lets say I have A B C and values 1 2 3 accordingly. If I put the cross hair on B it’ll say (C, 2) but really it should say (B, 2). So the value is correct but the label is messed up 


#2

Hi Ryan,

This is a known issue and we are currently working on a fix which should be released our next minor release.

Would it be possible if you could provide me with your datasource / view controller code that is relevant to the charts? This would really help us.

Thanks,
Jan


#3

Hi,

We are still facing the issue in version 2.5.5 we are using Age as X axis, the app crashes saying: 

013-10-22 12:09:31.386 nu62 Test[3788:70b] 2013-10-22 06:39:31 +0000 EmbeddedAgent.m::254 (crash) - Uncaught Exception, application Crashed
 2013-10-22 12:09:31.386 nu62 Test[3788:70b] Exception::NSRangeException - *** -[__NSArrayM objectAtIndex:]: index 75 beyond bounds [0 .. 19]
 #0  CoreFoundation                      0002CC25C8 __exceptionPreprocess()
 #1  libobjc.A.dylib                     00023818B6 objc_exception_throw()
 #2  CoreFoundation                      0002C63556 -[__NSArrayM objectAtIndex:]
 #3  nu62 Test                           000010779F -[SChartCategoryAxis doubleToData:]
 #4  nu62 Test                           000013D752 -[SChartCanvasOverlay positionCrosshairAtPosition:onSeries:onDatapoint:]
 #5  nu62 Test                           000013DBE0 -[SChartCanvasOverlay positionCrosshairFromGesture:gestureJustStarted:]
 #6  nu62 Test                           0000141F1E -[SChartCanvasOverlay handleLongPressGesture:]
 #7  UIKit                               000125EF8C _UIGestureRecognizerSendActions()
 #8  UIKit                               000125DC00 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:]
 #9  UIKit                               000125F66D -[UIGestureRecognizer _delayedUpdateGesture]
 #10 UIKit                               0001262BCD ___UIGestureRecognizerUpdate_block_invoke()
 #11 UIKit                               0001262B4E _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks()
 #12 UIKit                               0001259248 _UIGestureRecognizerUpdate()
 #13 CoreFoundation                      0002C8A53E __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ ()
 #14 CoreFoundation                      0002C8A48F __CFRunLoopDoObservers()
 #15 CoreFoundation                      0002C683B4 __CFRunLoopRun()
 #16 CoreFoundation                      0002C67B33 CFRunLoopRunSpecific()
 #17 CoreFoundation                      0002C6794B CFRunLoopRunInMode()
 #18 GraphicsServices                    000316F9D7 GSEventRunModal()
 #19 GraphicsServices                    000316F7FE GSEventRun()
 #20 UIKit                               0000EE794B UIApplicationMain()
 #21 nu62 Test                           0000002D8D main()
 #22 libdyld.dylib                       000289870D start()
 #23 ??                                  0000000001 ???()
 2013-10-22 12:09:31.388 nu62 Test[3788:70b] ***Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 75 beyond bounds [0 .. 19]'
 *** First throw call stack:
 (
 0   CoreFoundation                      0x02cc25e4 __exceptionPreprocess + 180
 1   libobjc.A.dylib                     0x023818b6 objc_exception_throw + 44
 2   CoreFoundation                      0x02c63556 -[__NSArrayM objectAtIndex:] + 246
 3   nu62 Test                           0x0010779f -[SChartCategoryAxis doubleToData:] + 115
 4   nu62 Test                           0x0013d752 -[SChartCanvasOverlay positionCrosshairAtPosition:onSeries:onDatapoint:] + 646
 5   nu62 Test                           0x0013dbe0 -[SChartCanvasOverlay positionCrosshairFromGesture:gestureJustStarted:] + 429
 6   nu62 Test                           0x00141f1e -[SChartCanvasOverlay handleLongPressGesture:] + 169
 7   UIKit                               0x0125ef8c _UIGestureRecognizerSendActions + 230
 8   UIKit                               0x0125dc00 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 383
 9   UIKit                               0x0125f66d -[UIGestureRecognizer _delayedUpdateGesture] + 60
 10  UIKit                               0x01262bcd ___UIGestureRecognizerUpdate_block_invoke + 57
 11  UIKit                               0x01262b4e _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 317
 12  UIKit                               0x01259248 _UIGestureRecognizerUpdate + 199
 13  CoreFoundation                      0x02c8a53e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30
 14  CoreFoundation                      0x02c8a48f __CFRunLoopDoObservers + 399
 15  CoreFoundation                      0x02c683b4 __CFRunLoopRun + 1076
 16  CoreFoundation                      0x02c67b33 CFRunLoopRunSpecific + 467
 17  CoreFoundation                      0x02c6794b CFRunLoopRunInMode + 123
 18  GraphicsServices                    0x0316f9d7 GSEventRunModal + 192
 19  GraphicsServices                    0x0316f7fe GSEventRun + 104
 20  UIKit                               0x00ee794b UIApplicationMain + 1225
 21  nu62 Test                           0x00002d8d main + 141
 22  libdyld.dylib                       0x0289870d start + 1
 23  ???                                 0x00000001 0x0 + 1
 )

libc++abi.dylib: terminating with uncaught exception of type NSException

#4

Hi,

Thank you for raising this issue. We shall investigate at this end, and see if we can replicate the problem.

Many thanks,

Dan


#5

I have the same problem!


#6

Hi all,

We are putting together a bug fix release which should address this issue. Once this release is out, I’ll update this post and let you know.

Many thanks,

Dan


#7

Hi all,

We’ve now released version 2.5.6 of charts, which should fix this issue. Give that a go, and let us know how things go. :slight_smile:

Many thanks,

Dan


#8

Thanks let us try it … 


#9

Thanks this works now.


#10

I’m getting the same kind of exception when I’m in the process of reloading a chart content while the crosshair is displayed:

NSRangeException: *** -[__NSArrayM objectAtIndex:]: index 2147483646 beyond bounds for empty array
0   CoreFoundation                      0x07732746 __exceptionPreprocess + 182
1   libobjc.A.dylib                     0x07b09a97 objc_exception_throw + 44
2   CoreFoundation                      0x07606b73 -[__NSArrayM objectAtIndex:] + 243
3   DistechX50UITouch                   0x0016b385 -[SChartInterpolatingHitDetection interpolatePoint:forCoord:] + 837
4   DistechX50UITouch                   0x0016c642 -[SChartInterpolatingHitDetection distanceInfoToPoint:isOnlySeries:chart:] + 562
5   DistechX50UITouch                   0x0019508e -[SChartPixelToPointMapper distanceInfoForSeries:toPixelPoint:isOnlySeries:chart:] + 910
6   DistechX50UITouch                   0x00194b8c -[SChartPixelToPointMapper closestSeriesToPixelPoint:seriesAllowed:chart:] + 700
7   DistechX50UITouch                   0x001953df -[SChartPixelToPointMapper mappingForPoint:onSeries:onChart:] + 271
8   DistechX50UITouch                   0x000ac31f -[SChartCrosshair moveToPoint:inChart:] + 351
9   DistechX50UITouch                   0x0013a15b -[SChartCrosshairController repositionCrosshairInChart:] + 139
10  DistechX50UITouch                   0x0010a5b5 -[SChartCanvasOverlay positionCrosshairIfVisible] + 133
11  DistechX50UITouch                   0x00127934 -[ShinobiChart redrawChartIncludePlotArea:recalcTickLabels:] + 1796
12  DistechX50UITouch                   0x00091e60 -[SChartAxis animateRangeChange] + 2464
13  Foundation                          0x01ace117 __NSFireDelayedPerform + 423
14  CoreFoundation                      0x0768b866 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22
15  CoreFoundation                      0x0768b1ed __CFRunLoopDoTimer + 1309
16  CoreFoundation                      0x0764954a __CFRunLoopRun + 2090
17  CoreFoundation                      0x07648a5b CFRunLoopRunSpecific + 443
18  CoreFoundation                      0x0764888b CFRunLoopRunInMode + 123
19  GraphicsServices                    0x08a652c9 GSEventRunModal + 192
20  GraphicsServices                    0x08a65106 GSEventRun + 104
21  UIKit                               0x01eeb0b6 UIApplicationMain + 1526
22  ???                                 0x17bfc7f0 0x0 + 398444528
23  ???                                 0x17bfc6dc 0x0 + 398444252
24  ???                                 0x164f1478 0x0 + 374281336
25  ???                                 0x164f130c 0x0 + 374280972
26  ???                                 0x164f13c7 0x0 + 374281159
27  libmonosgen-2.0.dylib               0x071cdf15 mono_jit_runtime_invoke + 725
28  libmonosgen-2.0.dylib               0x073845af mono_runtime_invoke + 127
29  libmonosgen-2.0.dylib               0x073896c1 mono_runtime_exec_main + 401
30  libmonosgen-2.0.dylib               0x07389471 mono_runtime_run_main + 721
31  libmonosgen-2.0.dylib               0x0724074d mono_jit_exec + 93
32  DistechX50UITouch                   0x001e3403 xamarin_main + 2531
33  DistechX50UITouch                   0x001dd311 main + 113
34  libdyld.dylib                       0x07e28ac9 start + 1

I tried to close the crosshair prior to start redrawing the chart but the result is not consistent and crash may still happen (especially on iPhone with iOS 8, not on iPad with iOS 7…).

I’m using 2.8.1-6.

Is it possible my issue is related with the original one reported in this post?

Regards,

G.


#11

Was this ever resolved?


#12

Hi there,

If you are referring to the issue at the top of this thread then yes, this was resolved in charts 2.5.6 however if you are still experiencing a crosshair related crash could you please provide a detailed description of the bug you’re experiencing?

You can send this into us at info@shinobicontrols.com and we’ll investigate it for you.

Kind regards,

Matt / iOS Developer