iOS 8.1.3 Safari Crash on <select> click

The issue is we have a select box generated from a set of date ranges(Current month, prior month, etc.) setup like so:

<div class="input-label">
    Date Range
</div>
<select class="selectBox" ng-model="PendingOptionsService.selectedDateRange"
        ng-options="dateRange as dateRange.displayName for dateRange in PendingOptionsService.getSelectedAccountDateRanges() | orderDateRanges"
        ng-change="onDateRangeSelect()">
    <option value="">Custom</option>
</select>

On a good day with the iPad, this work fine and everything is dandy. On a bad day as soon as you select the box, Mobile Safari crashes to the home screen. Here’s the iOS log dumped from one of the crashes.

Incident Identifier: E732C829-1F26-4C9D-91DE-66D67F9C2E36

CrashReporter Key:   241c17165f162fd068b011ffd2e01ad54467acef

Hardware Model:      iPad4,1

Process:             MobileSafari [180]

Path:                /Applications/MobileSafari.app/MobileSafari

Identifier:          com.apple.mobilesafari

Version:             600.1.4 (8.0)

Code Type:           ARM-64 (Native)

Parent Process:      launchd [1]

 

Date/Time:           2015-02-18 10:19:02.762 -0700

Launch Time:         2015-02-18 10:17:51.429 -0700

OS Version:          iOS 8.1.3 (12B466)

Report Version:      105

 

Exception Type:  EXC_CRASH (SIGABRT)

Exception Codes: 0x0000000000000000, 0x0000000000000000

Triggered by Thread:  0

 

Last Exception Backtrace:

0   CoreFoundation                	0x18370e59c __exceptionPreprocess + 132

1   libobjc.A.dylib               	0x19411c0e4 objc_exception_throw + 60

2   CoreFoundation                	0x18370e4dc +[NSException raise:format:] + 128

3   UIKit                         	0x1880e83e0 -[UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:] + 824

4   UIKit                         	0x1880e8088 -[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:] + 36

5   WebKit                        	0x188946d48 -[WKSelectTableViewController viewWillAppear:] + 168

6   UIKit                         	0x187ed4140 -[UIViewController _setViewAppearState:isAnimating:] + 516

7   UIKit                         	0x1881ba2d0 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 708

8   UIKit                         	0x187f3f564 _applyBlockToCFArrayCopiedToStack + 356

9   UIKit                         	0x187eb0e78 _afterCACommitHandler + 532

10  CoreFoundation                	0x1836c6a50 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32

11  CoreFoundation                	0x1836c39dc __CFRunLoopDoObservers + 360

12  CoreFoundation                	0x1836c3dbc __CFRunLoopRun + 836

13  CoreFoundation                	0x1835f10a4 CFRunLoopRunSpecific + 396

14  GraphicsServices              	0x18c74f5a4 GSEventRunModal + 168

15  UIKit                         	0x187f22aa4 UIApplicationMain + 1488

16  MobileSafari                  	0x100027c38 0x100020000 + 31800

17  libdyld.dylib                 	0x19478aa08 start + 4

 

 

Thread 0 name:  Dispatch queue: com.apple.main-thread

Thread 0 Crashed:

0   libsystem_kernel.dylib        	0x00000001948a3270 __pthread_kill + 8

1   libsystem_pthread.dylib       	0x0000000194941224 pthread_kill + 108

2   libsystem_c.dylib             	0x000000019481ab14 abort + 108

3   libc++abi.dylib               	0x0000000193901414 abort_message + 112

4   libc++abi.dylib               	0x0000000193920b88 default_terminate_handler() + 300

5   libobjc.A.dylib               	0x000000019411c3bc _objc_terminate() + 124

6   libc++abi.dylib               	0x000000019391dbb0 std::__terminate(void (*)()) + 12

7   libc++abi.dylib               	0x000000019391d738 __cxa_rethrow + 140

8   libobjc.A.dylib               	0x000000019411c290 objc_exception_rethrow + 40

9   CoreFoundation                	0x00000001835f1150 CFRunLoopRunSpecific + 568

10  GraphicsServices              	0x000000018c74f5a0 GSEventRunModal + 164

11  UIKit                         	0x0000000187f22aa0 UIApplicationMain + 1484

12  MobileSafari                  	0x0000000100027c34 0x100020000 + 31796

13  libdyld.dylib                 	0x000000019478aa04 start + 0

 

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager

Thread 1:

0   libsystem_kernel.dylib        	0x0000000194888c94 kevent64 + 8

1   libdispatch.dylib             	0x000000019477097c _dispatch_mgr_invoke + 272

2   libdispatch.dylib             	0x00000001947633b0 _dispatch_mgr_thread + 48

 

Thread 2 name:  com.apple.NSURLConnectionLoader

Thread 2:

0   libsystem_kernel.dylib        	0x0000000194888e7c mach_msg_trap + 8

1   libsystem_kernel.dylib        	0x0000000194888cf4 mach_msg + 68

2   CoreFoundation                	0x00000001836c5ecc __CFRunLoopServiceMachPort + 196

3   CoreFoundation                	0x00000001836c3e20 __CFRunLoopRun + 936

4   CoreFoundation                	0x00000001835f10a0 CFRunLoopRunSpecific + 392

5   CFNetwork                     	0x00000001830f64e4 +[NSURLConnection(Loader) _resourceLoadLoop:] + 436

6   Foundation                    	0x00000001845e1ba8 __NSThread__main__ + 1068

7   libsystem_pthread.dylib       	0x000000019493fe7c _pthread_body + 160

8   libsystem_pthread.dylib       	0x000000019493fdd8 _pthread_start + 156

9   libsystem_pthread.dylib       	0x000000019493cfac thread_start + 0

 

Thread 3 name:  Safari::SafeBrowsingManager

Thread 3:

0   libsystem_kernel.dylib        	0x0000000194888e7c mach_msg_trap + 8

1   libsystem_kernel.dylib        	0x0000000194888cf4 mach_msg + 68

2   CoreFoundation                	0x00000001836c5ecc __CFRunLoopServiceMachPort + 196

3   CoreFoundation                	0x00000001836c3e20 __CFRunLoopRun + 936

4   CoreFoundation                	0x00000001835f10a0 CFRunLoopRunSpecific + 392

5   MobileSafari                  	0x000000010002c280 0x100020000 + 49792

6   JavaScriptCore                	0x0000000184b78b0c WTF::wtfThreadEntryPoint(void*) + 20

7   libsystem_pthread.dylib       	0x000000019493fe7c _pthread_body + 160

8   libsystem_pthread.dylib       	0x000000019493fdd8 _pthread_start + 156

9   libsystem_pthread.dylib       	0x000000019493cfac thread_start + 0

 

Thread 4:

0   libsystem_kernel.dylib        	0x00000001948a3c78 __workq_kernreturn + 8

1   libsystem_pthread.dylib       	0x000000019493d390 _pthread_wqthread + 988

2   libsystem_pthread.dylib       	0x000000019493cfa4 start_wqthread + 0

 

Thread 5:

0   libsystem_kernel.dylib        	0x00000001948a3c78 __workq_kernreturn + 8

1   libsystem_pthread.dylib       	0x000000019493d390 _pthread_wqthread + 988

2   libsystem_pthread.dylib       	0x000000019493cfa4 start_wqthread + 0

 

Thread 6:

0   libsystem_kernel.dylib        	0x00000001948a3c78 __workq_kernreturn + 8

1   libsystem_pthread.dylib       	0x000000019493d390 _pthread_wqthread + 988

2   libsystem_pthread.dylib       	0x000000019493cfa4 start_wqthread + 0

 

Thread 7:

0   libsystem_kernel.dylib        	0x00000001948a3c78 __workq_kernreturn + 8

1   libsystem_pthread.dylib       	0x000000019493d390 _pthread_wqthread + 988

2   libsystem_pthread.dylib       	0x000000019493cfa4 start_wqthread + 0

 

Thread 0 crashed with ARM Thread State (64-bit):

    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000127788aa7

    x4: 0x0000000193921dfd   x5: 0x000000016fddf250   x6: 0x000000000000006e   x7: 0x0000000000000f80

    x8: 0x0000000008000000   x9: 0x0000000004000000  x10: 0x0000000000000200  x11: 0x0000000000000000

   x12: 0x0000000000000091  x13: 0x0000000000000000  x14: 0x0000000000000002  x15: 0x00000000ffffffef

   x16: 0x0000000000000148  x17: 0x0000000000000000  x18: 0x0000000000000000  x19: 0x0000000000000006

   x20: 0x0000000198467310  x21: 0x000000019844fce8  x22: 0x0000000127507f60  x23: 0x0000000194d9fc80

   x24: 0x0000000000000001  x25: 0x0000000127507f50  x26: 0x000000019844e0a8  x27: 0x0000000000000001

   x28: 0x0000000000000000  fp: 0x000000016fddf1b0   lr: 0x0000000194941228

    sp: 0x000000016fddf190   pc: 0x00000001948a3270 cpsr: 0x00000000

We are currently experiencing this intermittently on our dev iPad on Safari. We are using
Ionic beta10. We have not seen this issue on our Nexus 7 running Chrome. Any ideas or help would be greatly appreciated.
Thanks!
-Jared

I realized this is an old thread, but it came up first in google search for this issue on Ionic. The issue appears to be with the UIWebView itself and the select control. I made a simple plugin to address the race conditions of the select popover on iPad. Hope this helps anybody with the issue.