[
https://issues.apache.org/jira/browse/CB-1404?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13451974#comment-13451974
]
Tom Clarkson commented on CB-1404:
----------------------------------
I wasn't able to get a useful stack trace - there are no callers on the crashed
thread, and none of the other threads show any user code.
There is a possibility that there is a safari bug involved - I found a
reference to an issue with cancelling requests
(http://stackoverflow.com/a/8326429/101970) that while not an exact match,
would explain the issue going away with XHR_NO_PAYLOAD - an empty request is
unlikely to need cancelling.
WebCore`WebCore::DocumentThreadableLoader::cancel():
0x337d8018: push {r4, r5, r7, lr}
0x337d801a: add r7, sp, #8
0x337d801c: ldr r1, [r0, #12]
0x337d801e: cmp r1, #0
0x337d8020: it eq
0x337d8022: popeq {r4, r5, r7, pc}
0x337d8024: mov r4, r0
0x337d8026: mov r0, r1
0x337d8028: bl #-1208228 ; 0x336b1088
WebCore::ResourceLoader::cancel()
0x337d802c: movs r5, #0
0x337d802e: ldr r0, [r4, #12]
0x337d8030: str.w r5, [r0, #564] << Thread 5 WebThread EXC_BAD_ACCESS
(code=1, address 0x234)
0x337d8034: ldr r1, [r4, #12]
0x337d8036: str r5, [r4, #12]
0x337d8038: cbz r1, 0x337d8058 ;
WebCore::DocumentThreadableLoader::cancel() + 64
0x337d803a: mov r0, r1
0x337d803c: ldr r2, [r0, #4]!
0x337d8040: cmp r2, #1
0x337d8042: beq 0x337d804c ;
WebCore::DocumentThreadableLoader::cancel() + 52
0x337d8044: subs r0, r2, #1
0x337d8046: str r0, [r1, #4]
0x337d8048: str r5, [r4, #16]
0x337d804a: pop {r4, r5, r7, pc}
0x337d804c: cmp r0, #4
0x337d804e: beq 0x337d8058 ;
WebCore::DocumentThreadableLoader::cancel() + 64
0x337d8050: ldr r1, [r0, #-4]!
0x337d8054: ldr r1, [r1, #4]
0x337d8056: blx r1
0x337d8058: str r5, [r4, #16]
0x337d805a: pop {r4, r5, r7, pc}
> EXC_BAD_ACCESS when using XHR bridge mode
> -----------------------------------------
>
> Key: CB-1404
> URL: https://issues.apache.org/jira/browse/CB-1404
> Project: Apache Cordova
> Issue Type: Bug
> Components: iOS
> Affects Versions: 2.1.0
> Environment: iPad 2, iOS 5.1.1
> Reporter: Tom Clarkson
> Assignee: Andrew Grieve
>
> When calling a plugin the app crashes on WebThread with EXC_BAD_ACCESS in
> WebCore::DocumentThreadableLoader::cancel.
> This appears to be some sort of timing issue, as it does not happen on every
> call - I am seeing it in an autosave function which makes lots of calls to
> PGSQLitePlugin.
> The error did not appear before upgrading to 2.1, and setting the bridge mode
> to IFRAME_NAV restores the previous behaviour (no crashes, but odd scrolling
> functionality).
> Setting the bridge mode to XHR_NO_PAYLOAD also seems to fix it - not sure if
> removing the payload actually does anything different or just makes it fast
> enough that the timing condition does not come up in normal app usage.
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira