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

Richard Hermanson updated CB-7643:
----------------------------------
    Description: 
If _callbackIdPattern in CVDCommandDelegateImpl.m is set at the same time as it 
is used (in different threads) then there's an error thrown (EXC_BAD_ACCESS).

More precisely when this line is run in one thread:
_callbackIdPattern = [NSRegularExpression 
regularExpressionWithPattern:@"[^A-Za-z0-9._-]" options:0 error:&err];

and this in another:
    if (([callbackId length] > 100) || [_callbackIdPattern 
firstMatchInString:callbackId options:0 range:NSMakeRange(0, [callbackId 
length])]) {

The method is: - (BOOL)isValidCallbackId:(NSString *)callbackId

This happens about every 10th time I start my application. I could surely solve 
this by not calling too quickly and repeatedly but this is still a bug and 
easily fixed.


  was:
If _callbackIdPattern in CVDCommandDelegateImpl.m is set at the same time as it 
is used (in different threads) then there's an error thrown (EXC_BAD_ACCESS).

More precisely when this line is run in one thread:
_callbackIdPattern = [NSRegularExpression 
regularExpressionWithPattern:@"[^A-Za-z0-9._-]" options:0 error:&err];

and this in another:
    if (([callbackId length] > 100) || [_callbackIdPattern 
firstMatchInString:callbackId options:0 range:NSMakeRange(0, [callbackId 
length])]) {

This happens about every 10th time I start my application. I could surely solve 
this by not calling too quickly and repeatedly but this is still a bug and 
easily fixed.



> sendPluginResult is not thread safe
> -----------------------------------
>
>                 Key: CB-7643
>                 URL: https://issues.apache.org/jira/browse/CB-7643
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 3.5.0
>            Reporter: Richard Hermanson
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> If _callbackIdPattern in CVDCommandDelegateImpl.m is set at the same time as 
> it is used (in different threads) then there's an error thrown 
> (EXC_BAD_ACCESS).
> More precisely when this line is run in one thread:
> _callbackIdPattern = [NSRegularExpression 
> regularExpressionWithPattern:@"[^A-Za-z0-9._-]" options:0 error:&err];
> and this in another:
>     if (([callbackId length] > 100) || [_callbackIdPattern 
> firstMatchInString:callbackId options:0 range:NSMakeRange(0, [callbackId 
> length])]) {
> The method is: - (BOOL)isValidCallbackId:(NSString *)callbackId
> This happens about every 10th time I start my application. I could surely 
> solve this by not calling too quickly and repeatedly but this is still a bug 
> and easily fixed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to