-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
友盟上偶现的一个崩溃信息 ,[MJProperty valueForObject:] + [MJProperty.m : 78],一直排查不到 #844
Comments
请尝试 Refactor/4.0.0 这个分支. 请查看 这个列表, 还未发布. pod 'MJExtension', :git => 'https://github.com/CoderMJLee/MJExtension.git', :branch => 'Refactor/4.0.0' |
@wolfcon 非常感谢回复,我想问下 4.0.0什么时候发布啊?这个问题大概是什么原因啊?能方便加Q吗。1659781834 |
你这个 crash 单凭这个日志也分析不出是啥. 你的模型转换是在不同线程处理的吗? 我近期整理下无用代码, 近期发布吧 |
@wolfcon 感谢回复!我的模型转换没有单独设置线程。(主要是我没复现,都是友盟反馈结果。) |
那模型转换发生在多线程环境下吗? |
我无法定位到具体是那个代码调用MJ |
@wolfcon 升级了4.0.0,有个问题 |
[MJProperty numberForObject:] + [MJProperty.m : 170] |
这里的170行, 是 UInt 类型, 有对应模型数据吗? |
@wolfcon 我感觉还是3.4.1问题,依然再4.0.0出现,而且还多了几个bug。我现在还是回滚到3.4.1,然后继续排查到底是什么数据引起的。 |
[MJProperty valueForObject:] 追查这个问题。 |
@wolfcon 我尝试去复现,但是依然没找到。但是我故意创造一个model,model里面如果有UIImage属性,再使用 mj_keyValue,把model转成dict。会崩溃到
我虽然无法复现问题,这个地方怎么避免这种操作呢?@Try也不行 |
老版本需要 ignore 掉 UIkit 属性 |
嗯。我已经解决了。忽略掉UIImage,UIView,NSSet等。 |
CrashDoctor Diagnosis: Stack overflow in (null)
Thread 0 Crashed:
0 CoreFoundation 0x000000019d38e56c _NSIsNSArray + [ : 4]
1 CoreFoundation 0x000000019d25dca0 -[NSArray isEqualToArray:] + [ : 96]
2 CoreFoundation 0x000000019d254080 -[__NSDictionaryM objectForKey:] + [ : 184]
3 CoreText 0x000000019e095284 TDescriptorSource::CopySpliceFontForName(__CFString const*, __CFString const*, __CFNumber const*, CTFontLegibilityWeight, __CFNumber const*, __CFString const*, __CFNumber const*) + [ : 384]
4 CoreText 0x000000019e08d644 TDescriptorSource::CopySplicedDescriptorForName(__CFString const*, __CFString const*, __CFString const*, __CFNumber const*, CTFontLegibilityWeight, __CFNumber const*, __CFString const*, __CFNumber const*) const + [ : 136]
5 CoreText 0x000000019e07c4f4 TDescriptor::CreateMatchingDescriptorInternal(__CFSet const*, unsigned long) const + [ : 1764]
6 CoreText 0x000000019e07cd50 TDescriptor::InitBaseFont(unsigned long, double) + [ : 76]
7 CoreText 0x000000019e05e0bc TDescriptor::Hash() const + [ : 56]
8 UIFoundation 0x00000001a09f7f7c -[_UIFontDescriptorCacheKey _hash] + [ : 52]
9 UIFoundation 0x00000001a09f78f0 -[_UIFontCacheKey _precalculateHash] + [ : 32]
10 UIFoundation 0x00000001a09f78a0 +[_UIFontCacheKey fontCacheKeyWithFontDescriptor:pointSize:textStyleForScaling:pointSizeForScaling:maximumPointSizeAfterScaling:textLegibility:] + [ : 200]
11 UIFoundation 0x00000001a0a08b54 +[UIFont _fontWithDescriptor:size:textStyleForScaling:pointSizeForScaling:maximumPointSizeAfterScaling:forIB:legibilityWeight:] + [ : 220]
12 PhotosUI 0x00000001ba8d16e0 -[UIFont(PhotosUI) pu_fontWithMonospacedNumbers] + [ : 456]
13 Foundation 0x000000019d650620 -[NSObject(NSKeyValueCoding) valueForKey:] + [ : 308]
14 MyApp 0x00000001052d9b5c -[MJProperty valueForObject:] + [MJProperty.m : 78]
15 MyApp 0x0000000104f30ff8 __57-[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:]_block_invoke + [NSObject+MJKeyValue.m : 364]
16 MyApp 0x000000010525085c +[NSObject(Property) mj_enumerateProperties:] + [NSObject+MJProperty.m : 134]
17 MyApp 0x0000000104f30da8 -[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:] + [NSObject+MJKeyValue.m : 435]
18 MyApp 0x0000000104f3105c __57-[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:]_block_invoke + [NSObject+MJKeyValue.m : 371]
19 MyApp 0x000000010525085c +[NSObject(Property) mj_enumerateProperties:] + [NSObject+MJProperty.m : 134]
20 MyApp 0x0000000104f30da8 -[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:] + [NSObject+MJKeyValue.m : 435]
21 MyApp 0x0000000104f3105c __57-[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:]_block_invoke + [NSObject+MJKeyValue.m : 371]
22 MyApp 0x000000010525085c +[NSObject(Property) mj_enumerateProperties:] + [NSObject+MJProperty.m : 134]
23 MyApp 0x0000000104f30da8 -[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:] + [NSObject+MJKeyValue.m : 435]
24 MyApp 0x0000000104f3105c __57-[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:]_block_invoke + [NSObject+MJKeyValue.m : 371]
25 MyApp 0x000000010525085c +[NSObject(Property) mj_enumerateProperties:] + [NSObject+MJProperty.m : 134]
26 MyApp 0x0000000104f30da8 -[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:] + [NSObject+MJKeyValue.m : 435]
27 MyApp 0x0000000104f3105c __57-[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:]_block_invoke + [NSObject+MJKeyValue.m : 371]
28 MyApp 0x000000010525085c +[NSObject(Property) mj_enumerateProperties:] + [NSObject+MJProperty.m : 134]
29 MyApp 0x0000000104f30da8 -[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:] + [NSObject+MJKeyValue.m : 435]
30 MyApp 0x0000000104f3105c __57-[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:]_block_invoke + [NSObject+MJKeyValue.m : 371]
31 MyApp 0x000000010525085c +[NSObject(Property) mj_enumerateProperties:] + [NSObject+MJProperty.m : 134]
32 MyApp 0x0000000104f30da8 -[NSObject(MJKeyValue) mj_keyValuesWithKeys:ignoredKeys:] + [NSObject+MJKeyValue.m : 435]
The text was updated successfully, but these errors were encountered: