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

Tom Clarkson commented on CB-1404:
----------------------------------

I have confirmed that the issue is not related to the plugin used - I added the 
below code to app startup calling the simplest plugin in the app.

With XHR_WITH_PAYLOAD, it usually crashes with less than 100 calls, though it 
did get to over 2,000 a couple of times. In actual use with the sqlite plugin 
it was usually crashing in the first 20 calls, so the amount of work done in 
the plugin probably does have some effect.

With XHR_NO_PAYLOAD, it is at 45,000 and still running.


app.tryToCrash = function(i) {

console.log("reporting ready for file plugin");
            Cordova.exec(function(result) {
                console.log("plugin call "+i+" - "+result);
                window.setTimeout(function() {app.tryToCrash(i+1);}, 0);

            }, function(result) {
                console.log("plugin call "+i+" - "+result);
                window.setTimeout(function() {app.tryToCrash(i+1);}, 0);
            }, "FileStorePlugin", "reportReadyToOpenFiles", []);

}

- (void)reportReadyToOpenFiles:(NSMutableArray*)arguments 
withDict:(NSMutableDictionary*)options  
{

    NSString *callback = [arguments objectAtIndex:0];

    self.readyToOpenFiles = YES;
    
    CDVPluginResult* result = [CDVPluginResult 
resultWithStatus:CDVCommandStatus_OK messageAsString: @"ready"];
    
    [self writeJavascript:[result toSuccessCallbackString:callback]];
    
    
    if (self.queuedUrl != nil) {
        [self handleOpenUrlInternal:self.queuedUrl];
        self.queuedUrl = nil;
    }
    
}   
                
> 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

Reply via email to