[ 
https://issues.apache.org/jira/browse/CB-821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shazron Abdullah resolved CB-821.
---------------------------------

    Resolution: Duplicate

Dupe CB-975 - discussion should continue in that issue.
                
> Cordova crashes with EXEC_BAD_ACCESS when using camera on iOS 5.1.1
> -------------------------------------------------------------------
>
>                 Key: CB-821
>                 URL: https://issues.apache.org/jira/browse/CB-821
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 1.7.0
>         Environment: Cordova: 1.7.0
> Device: iPad 3
> iOS: 5.1.1
>            Reporter: Tom Street
>            Assignee: Shazron Abdullah
>            Priority: Blocker
>
> I have a test page with a text box and a button which calls 
> navigator.camera.getPicture(). To reproduce this issue:
> Browse to page, enter some text in the text box, tap the button to launch the 
> camera, cancel the camera, enter some more text in the text box, tap button 
> to launch camera again and then Cordova crashes out with EXEC_BAD_ACCESS.
> I'm not an iOS developer or proficient Xcode user, with that in mind, here is 
> what Xcode tells me:
> This happens in Thread 11: com.apple.camera.avcapturesession and this is what 
> is shown (the EXEC_BAD_ACCESS is thrown on line starting with 0x35c1725a):
> WebCore`WebCore::TimerBase::setNextFireTime(double):
> 0x35c1717c:  push   {r4, r5, r6, r7, lr}
> 0x35c1717e:  add    r7, sp, #12
> 0x35c17180:  vpush  {d8}
> 0x35c17184:  sub    sp, #32
> 0x35c17186:  vmov   d8, r1, r2
> 0x35c1718a:  vldr   d16, [r0, #4]
> 0x35c1718e:  vcmpe.f64 d16, d8
> 0x35c17192:  vmrs   apsr_nzcv, fpscr         
> 0x35c17196:  beq.w  #264                     
> 0x35c1719a:  mov    r4, r0
> 0x35c1719c:  movw   r0, #21868
> 0x35c171a0:  movt   r0, #2424
> 0x35c171a4:  vstr   d8, [r4, #4]
> 0x35c171a8:  add    r0, pc
> 0x35c171aa:  vcmpe.f64 d16, #0                  
> 0x35c171ae:  ldr    r1, [r0]
> 0x35c171b0:  str    r1, [r4, #24]
> 0x35c171b2:  adds   r1, #1
> 0x35c171b4:  str    r1, [r0]
> 0x35c171b6:  ldr    r5, [r4, #20]
> 0x35c171b8:  vmrs   apsr_nzcv, fpscr         
> 0x35c171bc:  bne    0x35c171c6               ; 
> WebCore::TimerBase::setNextFireTime(double) + 74
> 0x35c171be:  mov    r0, r4
> 0x35c171c0:  bl     #217280                  ; 0x35c4c284 
> WebCore::TimerBase::heapInsert()
> 0x35c171c4:  b      0x35c1728e               ; 
> WebCore::TimerBase::setNextFireTime(double) + 274
> 0x35c171c6:  vcmpe.f64 d8, #0                   
> 0x35c171ca:  vmrs   apsr_nzcv, fpscr         
> 0x35c171ce:  bne    0x35c17218               ; 
> WebCore::TimerBase::setNextFireTime(double) + 156
> 0x35c171d0:  movs   r0, #0
> 0x35c171d2:  mov    r6, r4
> 0x35c171d4:  str    r0, [r6, #4]!
> 0x35c171d8:  movs   r0, #0
> 0x35c171da:  movt   r0, #65520
> 0x35c171de:  str    r0, [r6, #4]
> 0x35c171e0:  str    r5, [sp]
> 0x35c171e2:  bl     #217354                  ; 0x35c4c2f0 
> WebCore::threadGlobalData()
> 0x35c171e6:  mov    r3, sp
> 0x35c171e8:  mov    r1, r5
> 0x35c171ea:  ldr    r0, [r0, #4]
> 0x35c171ec:  movs   r2, #0
> 0x35c171ee:  ldr    r0, [r0, #4]
> 0x35c171f0:  ldr.w  r0, [r0, r5, lsl #2]
> 0x35c171f4:  str    r0, [sp, #4]
> 0x35c171f6:  movs   r0, #0
> 0x35c171f8:  bl     #217772                  ; 0x35c4c4a8 void 
> std::__push_heap<WebCore::TimerHeapIterator, int, 
> WebCore::TimerHeapElement>(WebCore::TimerHeapIterator, int, int, 
> WebCore::TimerHeapElement)
> 0x35c171fc:  bl     #276312                  ; 0x35c5a958 
> WebCore::TimerBase::heapPopMin()
> 0x35c17200:  vstr   d8, [r6]
> 0x35c17204:  bl     #217320                  ; 0x35c4c2f0 
> WebCore::threadGlobalData()
> 0x35c17208:  ldr    r0, [r0, #4]
> 0x35c1720a:  ldr    r1, [r0]
> 0x35c1720c:  subs   r1, #1
> 0x35c1720e:  str    r1, [r0]
> 0x35c17210:  mov.w  r0, #4294967295
> 0x35c17214:  str    r0, [r4, #20]
> 0x35c17216:  b      0x35c1728e               ; 
> WebCore::TimerBase::setNextFireTime(double) + 274
> 0x35c17218:  vcmpe.f64 d16, d8
> 0x35c1721c:  vmrs   apsr_nzcv, fpscr         
> 0x35c17220:  ble    0x35c1723c               ; 
> WebCore::TimerBase::setNextFireTime(double) + 192
> 0x35c17222:  str    r5, [sp, #8]
> 0x35c17224:  bl     #217288                  ; 0x35c4c2f0 
> WebCore::threadGlobalData()
> 0x35c17228:  mov    r1, r5
> 0x35c1722a:  ldr    r0, [r0, #4]
> 0x35c1722c:  ldr    r0, [r0, #4]
> 0x35c1722e:  ldr.w  r0, [r0, r5, lsl #2]
> 0x35c17232:  str    r0, [sp, #12]
> 0x35c17234:  movs   r0, #0
> 0x35c17236:  add    r3, sp, #8
> 0x35c17238:  mov    r2, r0
> 0x35c1723a:  b      0x35c1728a               ; 
> WebCore::TimerBase::setNextFireTime(double) + 270
> 0x35c1723c:  movs   r0, #0
> 0x35c1723e:  mov    r6, r4
> 0x35c17240:  str    r0, [r6, #4]!
> 0x35c17244:  movs   r0, #0
> 0x35c17246:  movt   r0, #65520
> 0x35c1724a:  str    r0, [r6, #4]
> 0x35c1724c:  str    r5, [sp, #16]
> 0x35c1724e:  bl     #217246                  ; 0x35c4c2f0 
> WebCore::threadGlobalData()
> 0x35c17252:  mov    r1, r5
> 0x35c17254:  movs   r2, #0
> 0x35c17256:  ldr    r0, [r0, #4]
> 0x35c17258:  ldr    r0, [r0, #4]
> 0x35c1725a:  ldr.w  r0, [r0, r5, lsl #2]
> 0x35c1725e:  str    r0, [sp, #20]
> 0x35c17260:  add    r3, sp, #16
> 0x35c17262:  movs   r0, #0
> 0x35c17264:  bl     #217664                  ; 0x35c4c4a8 void 
> std::__push_heap<WebCore::TimerHeapIterator, int, 
> WebCore::TimerHeapElement>(WebCore::TimerHeapIterator, int, int, 
> WebCore::TimerHeapElement)
> 0x35c17268:  bl     #276204                  ; 0x35c5a958 
> WebCore::TimerBase::heapPopMin()
> 0x35c1726c:  vstr   d8, [r6]
> 0x35c17270:  ldr    r6, [r4, #20]
> 0x35c17272:  str    r6, [sp, #24]
> 0x35c17274:  bl     #217208                  ; 0x35c4c2f0 
> WebCore::threadGlobalData()
> 0x35c17278:  movs   r2, #0
> 0x35c1727a:  ldr    r0, [r0, #4]
> 0x35c1727c:  mov    r1, r6
> 0x35c1727e:  ldr    r0, [r0, #4]
> 0x35c17280:  ldr.w  r0, [r0, r6, lsl #2]
> 0x35c17284:  str    r0, [sp, #28]
> 0x35c17286:  add    r3, sp, #24
> 0x35c17288:  movs   r0, #0
> 0x35c1728a:  bl     #217626                  ; 0x35c4c4a8 void 
> std::__push_heap<WebCore::TimerHeapIterator, int, 
> WebCore::TimerHeapElement>(WebCore::TimerHeapIterator, int, int, 
> WebCore::TimerHeapElement)
> 0x35c1728e:  cmp    r5, #0
> 0x35c17290:  itt    ne
> 0x35c17292:  ldrne  r0, [r4, #20]
> 0x35c17294:  cmpne  r0, #0
> 0x35c17296:  bne    0x35c172a2               ; 
> WebCore::TimerBase::setNextFireTime(double) + 294
> 0x35c17298:  bl     #217172                  ; 0x35c4c2f0 
> WebCore::threadGlobalData()
> 0x35c1729c:  ldr    r0, [r0, #4]
> 0x35c1729e:  bl     #217814                  ; 0x35c4c578 
> WebCore::ThreadTimers::updateSharedTimer()
> 0x35c172a2:  add    sp, #32
> 0x35c172a4:  vpop   {d8}
> 0x35c172a8:  pop    {r4, r5, r6, r7, pc}
> 0x35c172aa:  nop    

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to