SKLabelNode -hash is broken on 32 bit devices

Originator:crayment16
Number:rdar://19195196 Date Originated:Dec 9 2014
Status:Open Resolved:
Product:iOS SDK Product Version:iOS 8.1.1
Classification: Reproducible:Always
 
Summary:
This code crashes on 32 bit devices:

[[SKLabelNode labelNodeWithFontNamed:@"Helvetica"] hash]

or simpler

[[SKLabelNode node] hash]

Steps to Reproduce:
Call hash on any SKLabelNode on any 32 bit device.

Expected Results:
Not to crash.

Actual Results:
Crash.

Version:
iOS 8.1.1

Notes:
We hit this crash using JSContext which asks for hashes to objects during garbage collection.

Configuration:
Any 32 bit ipad: iPad 3rd gen, iPad mini 1st gen, etc

Comments

And 8.1.3 (on iPhone 5). As a workaround am considering overriding it in a subclass (or with method swizzling). Something like:

- (NSUInteger)hash {
  return (NSUInteger)ceilf(self.frame.size.width);
}

Still crashes on 8.1.2

By crayment16 at Dec. 10, 2014, 1:50 a.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!