* thread #155: tid = 0x1fcc10, 0x0000000107626745 gpxj`static gpxj.ChartUtils.decimals (gpxj.ChartUtils.Type)(Swift.Double) -> Swift.Int at ChartUtils.swift:39, queue = 'cacheOperationQueue', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

* frame #0: 0x0000000107626745 gpxj`static gpxj.ChartUtils.decimals (gpxj.ChartUtils.Type)(Swift.Double) -> Swift.Int at ChartUtils.swift:39

frame #1: 0x0000000107626745 gpxj`static gpxj.ChartUtils.decimals (number=<unavailable>, self=gpxj.ChartUtils)(Swift.Double) -> Swift.Int + 325 at ChartUtils.swift:52

frame #2: 0x00000001075192a4 gpxj`gpxj.ChartViewBase.calculateFormatter (min=+Inf, max=<unavailable>, self=0x00007f860a8bd600)(min : Swift.Double, max : Swift.Double) -> () + 308 at ChartViewBase.swift:287

frame #3: 0x0000000107517f7d gpxj`@objc gpxj.ChartViewBase.data.setter : Swift.Optional<gpxj.ChartData> [inlined] gpxj.ChartViewBase.data.setter : Swift.Optional<gpxj.ChartData> + 227 at ChartViewBase.swift:205

frame #4: 0x0000000107517e9a gpxj`@objc gpxj.ChartViewBase.data.setter : Swift.Optional<gpxj.ChartData> + 330 at ChartViewBase.swift:0

frame #5: 0x000000010748643b gpxj`-[FundTrendView addDataSet:yArray:](self=0x00007f860a9016f0, _cmd="addDataSet:yArray:", xVals=@"239 objects", yVals=@"239 objects") + 779 at FundTrendView.m:223

frame #6: 0x00000001074860ae gpxj`-[FundTrendView setData:](self=0x00007f860a9016f0, _cmd="setData:", data=0x00007f860c0a7c50) + 958 at FundTrendView.m:193

frame #7: 0x00000001073ef519 gpxj`-[TodayRecommandView configUdpView:](self=0x00007f86084f7180, _cmd="configUdpView:", fundTrendData=0x00007f860c0a7c50) + 89 at TodayRecommandView.m:109

frame #8: 0x00000001074f243b gpxj`-[UITodayViewControllerV2 updateUdpInfo:data:](self=0x00007f860a8b4c50, _cmd="updateUdpInfo:data:", view=0x00007f86084f7180, data=0x00007f860c0a7c50) + 107 at UITodayViewControllerV2.m:929

frame #9: 0x00000001074f2044 gpxj`-[UITodayViewControllerV2 fetchUdpFinish:](self=0x00007f860a8b4c50, _cmd="fetchUdpFinish:", fundTrendArray=@"3 objects") + 324 at UITodayViewControllerV2.m:911

frame #10: 0x00000001074f1dbe gpxj`__36-[UITodayViewControllerV2 updateUdp]_block_invoke_2(.block_descriptor=0x00007f860bda5a40, data=1 key/value pair, error=0x0000000000000000, isCache=YES) + 766 at UITodayViewControllerV2.m:894

frame #11: 0x000000010749f5ed gpxj`__38-[DataCenter FetchFundTrend:callBack:]_block_invoke(.block_descriptor=0x00007f860bda5b20, data=1 key/value pair, error=0x0000000000000000) + 125 at DataCenter.m:1015

frame #12: 0x000000010750255f gpxj`-[DBEngine ReadFromFileDirectly:callBack:](self=0x00007f8608526aa0, _cmd="ReadFromFileDirectly:callBack:", fileName=@"Stock.RealtimeUdp", callback=(gpxj`__38-[DataCenter FetchFundTrend:callBack:]_block_invoke at DataCenter.m:1014)) + 255 at DBEngine.m:130

frame #13: 0x0000000107502a68 gpxj`__34-[DBEngine ReadFromFile:callBack:]_block_invoke(.block_descriptor=0x00007f860bda5a00) + 72 at DBEngine.m:153

frame #14: 0x000000010d859ef9 libdispatch.dylib`_dispatch_call_block_and_release + 12

04-28 06:50