MQTT-Client-Framework icon indicating copy to clipboard operation
MQTT-Client-Framework copied to clipboard

CoreData: crashes when [MQTTCoreDataPersistence createManagedObjectModel]

Open bob2077 opened this issue 4 years ago • 1 comments

I get the following crash stack: #41 not_main

SIGSEGV

SEGV_ACCERR

解析原始 0 Foundation -[NSProcessInfo environment] + 132 9 CoreData -[NSManagedObjectModel init] + 28 10 x -[MQTTCoreDataPersistence createManagedObjectModel] + 72 11 x -[MQTTCoreDataPersistence createPersistentStoreCoordinator] + 144 12 x -[MQTTCoreDataPersistence managedObjectContext] + 60 13 x -[MQTTCoreDataPersistence allFlowsforClientId:incomingFlag:] + 164 14 x -[MQTTSession tell] + 120 15 x -[MQTTSession connect] + 2176 16 x -[MQTTSessionManager connectToInternal:] + 744 17 x -[MQTTSessionManager connectTo:port:tls:keepalive:clean:auth:user:pass:will:willTopic:willMsg:willQos:willRetainFlag:withClientId:securityPolicy:certificates:protocolLevel:connectHandler:] + 2000 18 x ___41-[TPNSMQTTSessionManager connectToTPNS]_block_invoke_2 + 964 19 libdispatch.dylib __dispatch_client_callout + 16 20 libdispatch.dylib __dispatch_lane_barrier_sync_invoke_and_complete + 52 21 x ___41-[TPNSMQTTSessionManager connectToTPNS]_block_invoke + 80 22 x -[TPNSOperation completed] + 136 23 x -[TPNSOperation main] + 40 24 Foundation ___NSThreadPerformPerform + 164 31 Foundation -[NSRunLoop(NSRunLoop) run] + 88 32 x +[TPNSQueueManager threadEntryPoint:] + 216 33 Foundation _NSThread__start + 792 34 libsystem_pthread.dylib __pthread_start + 116

bob2077 avatar Dec 07 '20 06:12 bob2077

  • (NSManagedObjectModel *)createManagedObjectModel { NSManagedObjectModel *managedObjectModel = [[NSManagedObjectModel alloc] init]; NSMutableArray *entities = [[NSMutableArray alloc] init]; NSMutableArray *properties = [[NSMutableArray alloc] init];

    NSAttributeDescription *attributeDescription;

    attributeDescription = [[NSAttributeDescription alloc] init]; attributeDescription.name = @"clientId"; attributeDescription.attributeType = NSStringAttributeType; attributeDescription.attributeValueClassName = @"NSString"; [properties addObject:attributeDescription];

    attributeDescription = [[NSAttributeDescription alloc] init]; attributeDescription.name = @"incomingFlag"; attributeDescription.attributeType = NSBooleanAttributeType; attributeDescription.attributeValueClassName = @"NSNumber"; [properties addObject:attributeDescription];

    attributeDescription = [[NSAttributeDescription alloc] init]; attributeDescription.name = @"retainedFlag"; attributeDescription.attributeType = NSBooleanAttributeType; attributeDescription.attributeValueClassName = @"NSNumber"; [properties addObject:attributeDescription];

    attributeDescription = [[NSAttributeDescription alloc] init]; attributeDescription.name = @"commandType"; attributeDescription.attributeType = NSInteger16AttributeType; attributeDescription.attributeValueClassName = @"NSNumber"; [properties addObject:attributeDescription];

    attributeDescription = [[NSAttributeDescription alloc] init]; attributeDescription.name = @"qosLevel"; attributeDescription.attributeType = NSInteger16AttributeType; attributeDescription.attributeValueClassName = @"NSNumber"; [properties addObject:attributeDescription];

    attributeDescription = [[NSAttributeDescription alloc] init]; attributeDescription.name = @"messageId"; attributeDescription.attributeType = NSInteger32AttributeType; attributeDescription.attributeValueClassName = @"NSNumber"; [properties addObject:attributeDescription];

    attributeDescription = [[NSAttributeDescription alloc] init]; attributeDescription.name = @"topic"; attributeDescription.attributeType = NSStringAttributeType; attributeDescription.attributeValueClassName = @"NSString"; [properties addObject:attributeDescription];

    attributeDescription = [[NSAttributeDescription alloc] init]; attributeDescription.name = @"data"; attributeDescription.attributeType = NSBinaryDataAttributeType; attributeDescription.attributeValueClassName = @"NSData"; [properties addObject:attributeDescription];

    attributeDescription = [[NSAttributeDescription alloc] init]; attributeDescription.name = @"deadline"; attributeDescription.attributeType = NSDateAttributeType; attributeDescription.attributeValueClassName = @"NSDate"; [properties addObject:attributeDescription];

    NSEntityDescription *entityDescription = [[NSEntityDescription alloc] init]; entityDescription.name = @"XGMQTTFlow"; entityDescription.managedObjectClassName = @"XGMQTTFlow"; entityDescription.abstract = FALSE; entityDescription.properties = properties;

    [entities addObject:entityDescription]; managedObjectModel.entities = entities;

    return managedObjectModel; }

bob2077 avatar May 13 '22 09:05 bob2077