Reputation: 51374
I am facing a problem with UITextField. It crashing the app (sometimes, not all the time) when I type in the UITextField. I suspect that this could be a memory issue as this happens only when I use the app continuously for 15 min. I hope I am correctly doing the memory management. And the app crashes particularly when I type something in the text field, not when doing some other action in the app. I am not sure what is causing the problem.
I've googled and found discussions about some related crashes with UITextField, but they didn't help my problem.
This is my crash log.
0 libobjc.A.dylib 0x3260a5b0 objc_msgSend + 16
1 CoreFoundation 0x32d8e034 _CFXNotificationPost + 1424
2 Foundation 0x37d93d8c -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
3 Foundation 0x37d9784e -[NSNotificationCenter postNotificationName:object:] + 26
4 UIKit 0x35a9d268 -[UITextField fieldEditorDidChange:] + 284
5 UIKit 0x35a9cac0 -[UIFieldEditor webViewDidChange:] + 76
6 CoreFoundation 0x32d8e034 _CFXNotificationPost + 1424
7 Foundation 0x37d93d8c -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
8 WebCore 0x33bee1e0 WebThreadPostNotification + 64
9 WebCore 0x33dc0d66 WebCore::Editor::appliedEditing(WTF::PassRefPtr<WebCore::CompositeEditCommand>) + 234
10 WebCore 0x33dc2efe WebCore::TypingCommand::insertTextRunWithoutNewlines(WTF::String const&, bool) + 130
11 WebCore 0x33dc2e18 WebCore::TypingCommandLineOperation::operator()(unsigned long, unsigned long, bool) const + 44
12 WebCore 0x33dc2cfa WebCore::TypingCommand::doApply() + 150
13 WebCore 0x33db84da WebCore::CompositeEditCommand::apply() + 118
14 WebCore 0x33dc2c38 WebCore::TextInsertionBaseCommand::applyTextInsertionCommand(WebCore::Frame*, WTF::PassRefPtr<WebCore::TextInsertionBaseCommand>, WebCore::VisibleSelection const&, WebCore::VisibleSelection const&) + 124
15 WebCore 0x33dc294a WebCore::TypingCommand::insertText(WebCore::Document*, WTF::String const&, WebCore::VisibleSelection const&, unsigned int, WebCore::TypingCommand::TextCompositionType) + 438
16 WebCore 0x33dc23da WebCore::Editor::insertTextWithoutSendingTextEvent(WTF::String const&, bool, WebCore::TextEvent*) + 382
17 WebCore 0x33dc2232 WebCore::Editor::handleTextEvent(WebCore::TextEvent*) + 274
18 WebCore 0x33dc2110 WebCore::EventHandler::defaultTextInputEventHandler(WebCore::TextEvent*) + 12
19 WebCore 0x33b8b7b8 WebCore::Node::defaultEventHandler(WebCore::Event*) + 244
20 WebCore 0x33b8b132 WebCore::EventDispatcher::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 894
21 WebCore 0x33b8ad8a WebCore::EventDispatchMediator::dispatchEvent(WebCore::EventDispatcher*) const + 26
22 WebCore 0x33b8ad4e WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr<WebCore::EventDispatchMediator>) + 94
23 WebCore 0x33b8ac7e WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 30
24 WebCore 0x33d42d14 WebCore::EventTarget::dispatchEvent(WTF::PassRefPtr<WebCore::Event>, int&) + 68
25 WebCore 0x33dc1f26 WebCore::EventHandler::handleTextInputEvent(WTF::String const&, WebCore::Event*, WebCore::TextEventInputType) + 198
26 WebCore 0x33dc1e58 WebCore::Editor::insertText(WTF::String const&, WebCore::Event*) + 12
27 WebKit 0x3526a684 -[WebHTMLView(WebNSTextInputSupport) insertText:] + 304
28 WebCore 0x33db7206 -[WAKResponder tryToPerform:with:] + 58
29 WebKit 0x352905ea -[WebView(WebViewEditingActions) _performResponderOperation:with:] + 98
30 UIKit 0x35ad803c -[UIWebDocumentView insertText:] + 40
31 UIKit 0x35ad7ff4 -[UIKeyboardImpl insertText:] + 76
32 UIKit 0x35aa514c -[UIKeyboardImpl addInputString:fromVariantKey:] + 2816
33 UIKit 0x35aa3044 -[UIKeyboardImpl handleKeyEvent:] + 1636
34 UIKit 0x35aa28b2 -[UIKeyboardLayoutStar sendStringAction:forKey:isPopupVariant:] + 482
35 UIKit 0x35aa13a8 -[UIKeyboardLayoutStar touchUp:] + 3096
36 UIKit 0x35aa0732 -[UIKeyboardLayout touchesEnded:withEvent:] + 382
37 UIKit 0x359885f4 -[UIWindow _sendTouchesForEvent:] + 520
38 UIKit 0x35975804 -[UIApplication sendEvent:] + 376
39 UIKit 0x3597511e _UIApplicationHandleEvent + 6150
40 GraphicsServices 0x33aed5a0 _PurpleEventCallback + 588
41 CoreFoundation 0x32e12680 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
42 CoreFoundation 0x32e11ee4 __CFRunLoopDoSources0 + 208
43 CoreFoundation 0x32e10cb2 __CFRunLoopRun + 642
44 CoreFoundation 0x32d83eb8 CFRunLoopRunSpecific + 352
45 CoreFoundation 0x32d83d44 CFRunLoopRunInMode + 100
46 GraphicsServices 0x33aec2e6 GSEventRunModal + 70
47 UIKit 0x359c92fc UIApplicationMain + 1116
48 MyApp 0x00087578 0x1000 + 550264
49 MyApp 0x000030f4 0x1000 + 8436
Any help?
Thanks.
Edit: I have several text fields, in different view controllers, in my app. The app crashes randomly no matter which text text field I am typing in. And it crashes only when I type in any of the text fields. I feel that there is some other issue with UITextField.
Any ideas?
Upvotes: 2
Views: 2179
Reputation: 3055
Judging by the crash log, are you hooking up some notification observers for your UITextField(s), right?
Are you cleaning up (i.e. removing the notification observers) afterwards? In any case it is good practice to clean up afterwards.
Upvotes: 3
Reputation: 1885
Seems like a leak, you are sending a objc msg to some instance that doesnot conforms to the passed message. Check whether all the delegates are assigned correctly and messaged are send to alive objects
Upvotes: 2