You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "yiming kuan (JIRA)" <ji...@apache.org> on 2012/07/25 18:01:33 UTC

[jira] [Comment Edited] (CB-821) Cordova crashes with EXEC_BAD_ACCESS when using camera on iOS 5.1.1

    [ https://issues.apache.org/jira/browse/CB-821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13422367#comment-13422367 ] 

yiming kuan edited comment on CB-821 at 7/25/12 4:00 PM:
---------------------------------------------------------

Picked up a similar issue from the Phonegap support forums where an iPad encountered the same error (EXEC_BAD_ACCESS on a similar line) after calling captureVideo() several times. This was still not fixed as of 1.9.0 (and possibly 2.0.0 as well). It was not reproducible on iOS 5.1.1 on the iPod Touch.

I'll ask them to post their error logs here if needed.
                
      was (Author: yiming.kuan):
    Picked up a similar issue from the Phonegap support forums where an iPad encountered the same error after captureVideo() several times. This was still not fixed as of 1.9.0 (and possibly 2.0.0 as well). It was not reproducible on iOS 5.1.1 on the iPod Touch.

I'll ask them to post their error logs here if needed.
                  
> 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