MantisBT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002771VCMIOtherpublic2017-08-14 09:502017-09-07 10:36
ReporterSXX 
Assigned ToSXX 
PrioritynormalSeveritycrashReproducibilityalways
StatusassignedResolutionopen 
PlatformOSmacOSOS Version
Product Version0.next 
Target VersionFixed in Version 
Summary0002771: Build with Xcode 8.3.3 fail on assert in serialization
DescriptionWhen Debug build made with Xcode 8.3.3 start of game fail with following error:
Assertion failed: (i->second.type() == typeid(VectorizedObjectInfo<T, U>)), function getVectorizedTypeInfo, 
file /Users/admin/dev/vcmi/client/../lib/serializer/CSerializer.h, line 102.


It's doesn't happen in Xcode 8.2.1.
TagsNo tags attached.
Attached Filestxt file icon Xcode833_assert.txt [^] (8,217 bytes) 2017-09-04 19:11 [Show Content]

- Relationships

-  Notes
(0007229)
AVS (administrator)
2017-08-14 14:55

What are actual type names of i->second.type() and typeid(VectorizedObjectInfo<T, U>)?
(0007260)
SXX (administrator)
2017-09-04 19:30

I uploaded the log and also get report that problem also present on FreeBSD with Clang 4.0.
(0007261)
AVS (administrator)
2017-09-04 20:38

I see from log that VectorizedObjectInfo is probably valid Creature serilizer, but what is `i->second.type()`?
(0007262)
AVS (administrator)
2017-09-04 20:41

I suspect typeinfo-related bug. What if we replace typeid comparing with type name comparing - or even remove that assertion.
(0007265)
SXX (administrator)
2017-09-06 16:42

i->second-> content is:
content boost::any::holder<VectorizedObjectInfo<CCreature, CreatureID> > *      0x113f7e370     
0x0000000113f7e370

So I suppose it's it.
(0007266)
AVS (administrator)
2017-09-06 16:45

Then just remove assertion, this is yet another typeinfo issue on osx
(0007267)
SXX (administrator)
2017-09-06 16:47

Question is: why it's only occur in newer Xcode.

Also I guess this could easily be in new Clang on other platforms as well.
(0007268)
AVS (administrator)
2017-09-07 10:36

We should replace all typeinfo comparisons with name comparison like in TypeComparer

- Issue History
Date Modified Username Field Change
2017-08-14 09:50 SXX New Issue
2017-08-14 09:50 SXX Status new => assigned
2017-08-14 09:50 SXX Assigned To => SXX
2017-08-14 09:51 SXX OS => macOS
2017-08-14 14:55 AVS Note Added: 0007229
2017-09-04 19:11 SXX File Added: Xcode833_assert.txt
2017-09-04 19:30 SXX Note Added: 0007260
2017-09-04 20:38 AVS Note Added: 0007261
2017-09-04 20:41 AVS Note Added: 0007262
2017-09-06 16:42 SXX Note Added: 0007265
2017-09-06 16:45 AVS Note Added: 0007266
2017-09-06 16:47 SXX Note Added: 0007267
2017-09-07 10:36 AVS Note Added: 0007268

Site | Forums | Wiki | Slack | GitHub


Copyright © 2000 - 2020 MantisBT Team
Hosting provided by DigitalOcean