Skip to content

[SR-1055] Crash in libobjc when class's first stored property's type is not Objective-C compatible #43667

Description

@ChristopherRogers
Previous ID SR-1055
Radar rdar://problem/25314388
Original Reporter @ChristopherRogers
Type Bug
Status Resolved
Resolution Done

Attachment: Download

Environment

Swift 2.2 (Xcode 7.3)

Additional Detail from JIRA
Votes 1
Component/s Compiler
Labels Bug, Runtime
Assignee @jckarter
Priority Medium

md5: 0fc2f2b0678bcd1bad6330da7ad150ed

is duplicated by:

  • SR-1210 Crash in libobjc when class's first stored property's type is not Objective-C compatible
  • SR-1989 Crash at runtime when a class contains a struct having no property

Issue Description:

For example, attempting to use a class with just one stored property of an enum type that can't be represented in Objective-C will crash. It crashes in realizeClass when doing ivar offset stuff I believe (after turning on the debug logging for this).

Partial stack trace:

#0 0x0000000180d388e4 in realizeClass(objc_class*) ()
#1 0x0000000180d365ac in _class_getNonMetaClass ()
#2 0x0000000180d3b8b4 in lookUpImpOrForward ()
#3 0x0000000180d45d78 in _objc_msgSend_uncached_impcache ()
#4 0x00000001000cd958 in type metadata accessor for BadClass ()

Metadata

Metadata

Assignees

Labels

bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.compilerThe Swift compiler itselfruntimeThe Swift Runtime

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions