Home › Forums › OpenEars plugins › iOS NeatSpeech destroy_engine Testflight reports
Tagged: neatspeech
- This topic has 5 replies, 2 voices, and was last updated 7 years, 9 months ago by Halle Winkler.
-
AuthorPosts
-
February 20, 2016 at 10:10 pm #1027943zammerParticipant
Hi,
I keep getting crash reports for destroy_engine with NeatSpeech but it seems really intermittent so I can’t get a reliable reproduction. I created an Obj-C wrapper .mm file that holds the main objects and it works generally.
Why would this crash in this way? Is it a memory thing maybe? Any clues would be very gratefully received.
Thanks,
Martin
February 20, 2016 at 10:24 pm #1027944Halle WinklerPolitepixWelcome Martin,
Sorry, I’ve never heard of a crash in NeatSpeech 2 that I can recall. I think I’d need an opportunity to replicate it in order to help troubleshoot more. Check out this post to get some info on how you can provide logging and a backtrace for when you get a crash, maybe that will help to figure out what needs to be happening in order to replicate it:
https://www.politepix.com/forums/topic/install-issues-and-their-solutions/
February 20, 2016 at 10:28 pm #1027945zammerParticipantThe information I have is:
Crashed: com.apple.main-thread
EXC_GUARD 0xf3cac8e123456789
raw
0
libsystem_kernel.dylib
__close_nocancel + 12
1
libsystem_c.dylib
fclose + 100
2
Zammr
destroy_engine + 2981149
3
Zammr
-[NeatSpeechVoice dealloc] + 3034697
4
libobjc.A.dylib
objc_object::sidetable_release(bool) + 150
5
Zammr
VoicePlayer.mm line 38
-[VoicePlayer dealloc]
6
libobjc.A.dylib
objc_object::sidetable_release(bool) + 150
7
Zammr
GameLoopViewController.m line 87
-[GameLoopViewController .cxx_destruct]
8 libobjc.A.dylib
object_cxxDestructFromClass(objc_object*, objc_class*) + 116
12 UIKit
-[UIViewController dealloc] + 1812
13
Zammr
TopicViewController.m line 1072
__50-[TopicViewController startSessionWithUser:topic:]_block_invoke
14
Zammr
AppDelegate.m line 1181
__73-[AppDelegate sendRequestWithMethod:endpoint:parameters:success:failure:]_block_invoke758
15
Zammr
AFHTTPRequestOperation.m line 285
__64-[AFHTTPRequestOperation setCompletionBlockWithSuccess:failure:]_block_invoke141
16 libdispatch.dylib
_dispatch_call_block_and_release + 10
24 UIKit
UIApplicationMain + 144
25
Zammr
main.m line 18
main
26
libdispatch.dylib
(Missing)The wrapper is:
#import “VoicePlayer.h”
@implementation VoicePlayer
-(instancetype)init
{
self = [super init];if ( self != nil ) {
self.fliteController = [[OEFliteController alloc] init];
self.elliot = [[Elliott alloc] initWithPitch: 0.0 speed: -0.2 transform: 0.9];
}return self;
}-(void)say:(NSString *)text
{
[self.fliteController sayWithNeatSpeech:text withVoice:self.elliot];
}-(void)dealloc
{
self.elliot = nil;
self.fliteController = nil;
}@end
With the two respective properties in the .h file.
It looks like its something to do with releasing the memory but I can’t see where it would go wrong.
February 20, 2016 at 11:05 pm #1027946Halle WinklerPolitepixWell, I definitely wouldn’t nil out any auto-generated properties in dealloc. But it’s necessary to show the full logging output and a normal backtrace to troubleshoot it further, take a look at the post I linked you to.
February 20, 2016 at 11:09 pm #1027947zammerParticipantI’ll try to get a backtrace. The problem I have is that I haven’t seen the crash myself, I just get the odd report via Crashlytics.
The nil thing is to prevent Zombies with a deallocated parent object. As of about iOS8 if you don’t do that on e.g. a notification listener or delegate you can get a crash where the object looks for a dependant piece of memory that is now not there. This was my first attempt to fix the issue so is probably not doing much anyway.
February 20, 2016 at 11:25 pm #1027948Halle WinklerPolitepixOK, if you can observe and log it locally I’ll be happy to help more.
-
AuthorPosts
- You must be logged in to reply to this topic.