2016-12-02 5 views
1

魔法のレコードでデバッグするmalloc_error_breakにブレークポイントを設定します。malloc関数:オブジェクトの***エラー:フリーリストからデキュー無効なポインタ***今まで私が<strong>MR_importValuesForKeysWithObject</strong>私のアプリのクラッシュを使用してデータを挿入しようとしていた場合IOS

オブジェクトのmalloc:エラー0x174291c0e:空きリストからデキューされたポインタが無効です。
malloc_error_breakにブレークポイントを設定してデバッグします。それがクラッシュし

コードは次のとおりです。

+ (NSArray *) MR_executeFetchRequest:(NSFetchRequest *)request inContext:(NSManagedObjectContext *)context 
{ 
    __block NSArray *results = nil; 
    [context performBlockAndWait:^{ 

     NSError *error = nil; 

     results = [context executeFetchRequest:request error:&error]; 

     if (results == nil) 
     { 
      [MagicalRecord handleErrors:error]; 
     } 

    }]; 
    return results; 
} 

スタックフレーム -

#0 0x000000018ac3a014 in __pthread_kill() 
#1 0x000000018ad02450 in pthread_kill() 
#2 0x000000018abae3e0 in abort() 
#3 0x000000018ac7ea38 in nanozone_error() 
#4 0x000000018ac80bf0 in _nano_malloc_check_clear() 
#5 0x000000018ac7fbb4 in nano_calloc() 
#6 0x000000018ac71180 in malloc_zone_calloc() 
#7 0x000000018ac710c4 in calloc() 
#8 0x000000018a6af510 in class_createInstance() 
#9 0x000000018a6bdae4 in _objc_rootAlloc() 
#10 0x000000018df40298 in -[NSSQLGenerator generateSelectIntermediateInContext:]() 
#11 0x000000018df3f584 in -[NSSQLGenerator generateIntermediatesForFetchInContext:countOnly:]() 
#12 0x000000018e04c314 in -[NSSQLGenerator newSQLStatementForRequest:ignoreInheritance:countOnly:nestingLevel:nestIsWhereScoped:requestContext:]() 
#13 0x000000018e04e940 in -[NSSQLiteAdapter _statementForFetchRequestContext:ignoreInheritance:countOnly:nestingLevel:]() 
#14 0x000000018e04eaf4 in -[NSSQLiteAdapter newSelectStatementWithFetchRequestContext:ignoreInheritance:]() 
#15 0x000000018e0fb820 in -[NSSQLFetchRequestContext _createStatement]() 
#16 0x000000018e0fb790 in -[NSSQLFetchRequestContext fetchStatement]() 
#17 0x000000018e0fc8fc in -[NSSQLFetchRequestContext executeRequestUsingConnection:]() 
#18 0x000000018e010e98 in __52-[NSSQLDefaultConnectionManager handleStoreRequest:]_block_invoke() 
#19 0x0000000101dc121c in _dispatch_client_callout() 
#20 0x0000000101dcde38 in _dispatch_barrier_sync_f_invoke() 
#21 0x000000018e010d34 in -[NSSQLDefaultConnectionManager handleStoreRequest:]() 
#22 0x000000018e0d6ec4 in -[NSSQLCoreDispatchManager routeStoreRequest:]() 
#23 0x000000018e03fd04 in -[NSSQLCore dispatchRequest:withRetries:]() 
#24 0x000000018e03abc4 in -[NSSQLCore processFetchRequest:inContext:]() 
#25 0x000000018df3d518 in -[NSSQLCore executeRequest:withContext:error:]() 
#26 0x000000018e01d844 in __65-[NSPersistentStoreCoordinator executeRequest:withContext:error:]_block_invoke() 
#27 0x000000018e015f90 in -[NSPersistentStoreCoordinator _routeHeavyweightBlock:]() 
#28 0x000000018df3d1cc in -[NSPersistentStoreCoordinator executeRequest:withContext:error:]() 
#29 0x000000018df3bbf4 in -[NSManagedObjectContext executeFetchRequest:error:]() 
#30 0x000000018dfecb90 in -[NSManagedObjectContext(_NestedContextSupport) _parentObjectsForFetchRequest:inContext:error:]() 
#31 0x000000018dfed398 in __82-[NSManagedObjectContext(_NestedContextSupport) executeRequest:withContext:error:]_block_invoke() 
#32 0x000000018dfef640 in internalBlockToNSManagedObjectContextPerform() 
#33 0x0000000101dc121c in _dispatch_client_callout() 
#34 0x0000000101dcde38 in _dispatch_barrier_sync_f_invoke() 
#35 0x000000018dfdc9b0 in _perform() 
#36 0x000000018dfed088 in -[NSManagedObjectContext(_NestedContextSupport) executeRequest:withContext:error:]() 
#37 0x000000018df3bbf4 in -[NSManagedObjectContext executeFetchRequest:error:]() 
#38 0x00000001013df24c in __67+[NSManagedObject(MagicalRecord) MR_executeFetchRequest:inContext:]_block_invoke at /Users/Desktop/Core Data/glider/Pods/MagicalRecord/MagicalRecord/Categories/NSManagedObject/NSManagedObject+MagicalRecord.m:54 
#39 0x000000018dfe1b70 in developerSubmittedBlockToNSManagedObjectContextPerform() 
#40 0x0000000101dc121c in _dispatch_client_callout() 
#41 0x0000000101dd1e5c in _dispatch_barrier_sync_f_slow_invoke() 
#42 0x0000000101dc121c in _dispatch_client_callout() 
#43 0x0000000101dc6284 in _dispatch_main_queue_callback_4CF() 
#44 0x000000018bc17f2c in __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__() 
#45 0x000000018bc15b18 in __CFRunLoopRun() 
#46 0x000000018bb44048 in CFRunLoopRunSpecific() 
#47 0x000000018d5ca198 in GSEventRunModal() 
#48 0x0000000191b302fc in -[UIApplication _run]() 
#49 0x0000000191b2b034 in UIApplicationMain() 

は私にいくつかのヒントを提供してください。

+0

を代わりに一つのオブジェクトを反復することにより挿入する

let defaultcontext = NSManagedObjectContext.MR_defaultContext() Entityname.MR_importFromArray(listOfObjectData: [[NSObject : AnyObject]], inContext:defaultcontext) defaultcontext.MR_saveToPersistentStoreAndWait() 

を使用し、それを保存する必要があることをその良い、配列にオブジェクトの形で応答データを取得する場合や完全なバックトレース(そのブレークポイントを設定した後)。 – bbum

+0

クラッシュスタックフレームを更新しました –

+0

ああ、楽しかったです。あなたはどこかで記憶に酔いしれます。バッファオーバーフローなどを探します。残念なことに、malloc()が何かがレールから外れていることが分かりすぎるのは遅すぎます。 InstrumentsでMallocデバッグを有効にしてください。 – bbum

答えて

0

ポストクラッシュログ我々は

関連する問題