jjzjj

ios - objective-c 堆栈跟踪中的 _nano_vet_and_size_of_live

coder 2024-01-13 原文

我在 CoreData(在 iOS 10 上)请求中遇到一个奇怪的异常,它似乎并没有可靠地发生,我想知道是否有人有任何建议。该代码不允许在获取请求中使用任何 nil 指针,所以不是这样。堆栈跟踪如下,源于一个相当简单的获取:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"user == %@ AND active == 1", activeUser];
[request setPredicate:predicate];
NSArray* result = [syncContext executeFetchRequest:request error:&error];


0   libsystem_kernel.dylib          0x000000018e1a6014 __pthread_kill + 8
1   libsystem_pthread.dylib         0x000000018e26e450 pthread_kill + 112
2   libsystem_c.dylib               0x000000018e11a3e0 abort + 140
3   libsystem_malloc.dylib          0x000000018e1eaa38 _nano_vet_and_size_of_live + 0
4   libsystem_malloc.dylib          0x000000018e1ecbf0 _nano_malloc_check_clear + 392
5   libsystem_malloc.dylib          0x000000018e1ebb3c nano_malloc + 44
6   libsystem_malloc.dylib          0x000000018e1da2c4 malloc_zone_malloc + 172
7   libsqlite3.dylib                0x000000018f6c0c9c 0x18f6be000 + 11420 (sqlite3_config + 1344)
8   libsqlite3.dylib                0x000000018f756f90 0x18f6be000 + 626576 (sqlite3_rekey + 1824)
9   libsqlite3.dylib                0x000000018f6fdfa4 0x18f6be000 + 262052 (sqlite3_log + 90728)
10  libsqlite3.dylib                0x000000018f6f0a94 0x18f6be000 + 207508 (sqlite3_log + 36184)
11  libsqlite3.dylib                0x000000018f6cb238 0x18f6be000 + 53816 (sqlite3_exec + 10664)
12  libsqlite3.dylib                0x000000018f6cab90 0x18f6be000 + 52112 (sqlite3_exec + 8960)
13  libsqlite3.dylib                0x000000018f6c9dc0 0x18f6be000 + 48576 (sqlite3_exec + 5424)
14  libsqlite3.dylib                0x000000018f6c94ac 0x18f6be000 + 46252 (sqlite3_exec + 3100)
15  libsqlite3.dylib                0x000000018f6c9068 0x18f6be000 + 45160 (sqlite3_exec + 2008)
16  CoreData                        0x00000001914a2574 -[NSSQLiteConnection prepareSQLStatement:] + 472
17  CoreData                        0x00000001915c8364 -[NSSQLiteConnection selectRowsWithStatement:cached:] + 60
18  CoreData                        0x00000001915d7684 newFetchedRowsForFetchPlan_MT + 1112
19  CoreData                        0x000000019166d670 _executeFetchRequest + 72
20  CoreData                        0x0000000191668904 -[NSSQLFetchRequestContext executeRequestUsingConnection:] + 60
21  CoreData                        0x000000019157ce98 __52-[NSSQLDefaultConnectionManager handleStoreRequest:]_block_invoke + 260
22  libdispatch.dylib               0x000000018e0611c0 _dispatch_client_callout + 16
23  libdispatch.dylib               0x000000018e06e860 _dispatch_barrier_sync_f_invoke + 84
24  CoreData                        0x000000019157cd34 -[NSSQLDefaultConnectionManager handleStoreRequest:] + 208
25  CoreData                        0x0000000191642ec4 -[NSSQLCoreDispatchManager routeStoreRequest:] + 288
26  CoreData                        0x00000001915abd04 -[NSSQLCore dispatchRequest:withRetries:] + 200
27  CoreData                        0x00000001915a6bc4 -[NSSQLCore processFetchRequest:inContext:] + 108
28  CoreData                        0x00000001914a9518 -[NSSQLCore executeRequest:withContext:error:] + 504
29  CoreData                        0x0000000191589844 __65-[NSPersistentStoreCoordinator executeRequest:withContext:error:]_block_invoke + 4512
30  CoreData                        0x0000000191581f90 -[NSPersistentStoreCoordinator _routeHeavyweightBlock:] + 276
31  CoreData                        0x00000001914a91cc -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 408
32  CoreData                        0x00000001914a7bf4 -[NSManagedObjectContext executeFetchRequest:error:] + 572

最佳答案

看起来它已在 iOS 10.2 中修复

关于ios - objective-c 堆栈跟踪中的 _nano_vet_and_size_of_live,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41191423/

有关ios - objective-c 堆栈跟踪中的 _nano_vet_and_size_of_live的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby - 主要 :Object when running build from sublime 的未定义方法 `require_relative' - 2

    我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby​​1.9+ 关于ruby-主要:Objectwhenrun

  3. ruby-on-rails - rails : save file from URL and save it to Amazon S3 - 2

    从给定URL下载文件并立即将其上传到AmazonS3的更直接的方法是什么(+将有关文件的一些信息保存到数据库中,例如名称、大小等)?现在,我既不使用Paperclip,也不使用Carrierwave。谢谢 最佳答案 简单明了:require'open-uri'require's3'amazon=S3::Service.new(access_key_id:'KEY',secret_access_key:'KEY')bucket=amazon.buckets.find('image_storage')url='http://www.ex

  4. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

  5. ruby - 如何验证 IO.copy_stream 是否成功 - 2

    这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下

  6. Ruby 文件 IO 定界符? - 2

    我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的

  7. ruby - inverse_of 是否适用于 has_many? - 2

    当我使用has_one时,它​​工作得很好,但在has_many上却不行。在这里您可以看到object_id不同,因为它运行了另一个SQL来再次获取它。ruby-1.9.2-p290:001>e=Employee.create(name:'rafael',active:false)ruby-1.9.2-p290:002>b=Badge.create(number:1,employee:e)ruby-1.9.2-p290:003>a=Address.create(street:"123MarketSt",city:"SanDiego",employee:e)ruby-1.9.2-p290

  8. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  9. ruby-on-rails - 事件记录 : Select max of limit - 2

    我正在尝试将以下SQL查询转换为ActiveRecord,它正在融化我的大脑。deletefromtablewhereid有什么想法吗?我想做的是限制表中的行数。所以,我想删除少于最近10个条目的所有内容。编辑:通过结合以下几个答案找到了解决方案。Temperature.where('id这给我留下了最新的10个条目。 最佳答案 从您的SQL来看,您似乎想要从表中删除前10条记录。我相信到目前为止的大多数答案都会如此。这里有两个额外的选择:基于MurifoX的版本:Table.where(:id=>Table.order(:id).

  10. objective-c - 在设置 Cocoa Pods 和安装 Ruby 更新时出错 - 2

    我正在尝试为我的iOS应用程序设置cocoapods但是当我执行命令时:sudogemupdate--system我收到错误消息:当前已安装最新版本。中止。当我进入cocoapods的下一步时:sudogeminstallcocoapods我在MacOS10.8.5上遇到错误:ERROR:Errorinstallingcocoapods:cocoapods-trunkrequiresRubyversion>=2.0.0.我在MacOS10.9.4上尝试了同样的操作,但出现错误:ERROR:Couldnotfindavalidgem'cocoapods'(>=0),hereiswhy:U

随机推荐