Page 1 of 1

MobileVLCKit RTSP authentication dialog crash

Posted: 23 May 2014 14:44
by Lenrocexe
I'm currently looking at the possibilities of the MobileVLCKit within our iOS app and noticed that whenever a RTSP authentication dialog appears, the app will crash in two situations.

First: Whenever the user taps the cancel button.
Second: When an empty password has been provided and the user then taps the login button.

This crash also happens within the current VLC for iOS app from the AppStore and the demo projects provided within the VLCKit git repo.

Here is the crash message:

Code: Select all

2014-05-21 16:09:55.442 HomeWizard[40005:4f1f] +[VLCDialogDisplayer objectForKey:]: unrecognized selector sent to class 0x149b96c 2014-05-21 16:09:56.758 HomeWizard[40005:4f1f] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[VLCDialogDisplayer objectForKey:]: unrecognized selector sent to class 0x149b96c' *** First throw call stack: ( 0 CoreFoundation 0x04fe11e4 __exceptionPreprocess + 180 1 libobjc.A.dylib 0x04d608e5 objc_exception_throw + 44 2 CoreFoundation 0x0507e0e3 +[NSObject(NSObject) doesNotRecognizeSelector:] + 275 3 CoreFoundation 0x04fd150b ___forwarding___ + 1019 4 CoreFoundation 0x04fd10ee _CF_forwarding_prep_0 + 14 5 HomeWizard 0x00e4a782 DisplayLogin + 194 6 ??? 0x0f8b9b20 0x0 + 260807456 ) libc++abi.dylib: terminating with uncaught exception of type NSException
The crash happens within this piece of code, when the objectForKey methods are called. It resides within the file dialogProvider.m (MobileVLCKit/ImportedSources/vlc/modules/gui/ios_dialog_provider/dialogProvider.m)

Code: Select all

static int DisplayLogin(vlc_object_t *p_this, const char *type, vlc_value_t previous, vlc_value_t value, void *data) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; dialog_login_t *dialog = value.p_address; intf_thread_t *p_intf = (intf_thread_t*) p_this; intf_sys_t *sys = p_intf->p_sys; NSDictionary *dict = [sys->displayer displayLogin:DictFromDialogLogin(dialog)]; if (dict) { *dialog->username = strdup([[dict objectForKey:@"username"] UTF8String]); *dialog->password = strdup([[dict objectForKey:@"password"] UTF8String]); } [pool release]; return VLC_SUCCESS; }
Here is a crash log of the VLC for iOS app:
https://gist.github.com/Lenrocexe/953eed753b0ebf6eb3ef

Hope this helps you with solving the issue.

Re: MobileVLCKit RTSP authentication dialog crash

Posted: 24 May 2014 12:55
by fkuehne
Thanks for the report.

I'll try to check our logs in the next couple of days.

PM me if you need further assistance!

Re: MobileVLCKit RTSP authentication dialog crash

Posted: 24 May 2014 14:27
by fkuehne
This issue was fixed in mainline VLC now and will be part of the next releases of MobileVLCKit and VLC for iOS.