cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-10692) [Android] SplashScreen plugin crashes due to race condition on hide
Date Wed, 09 Mar 2016 17:40:40 GMT

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

ASF GitHub Bot commented on CB-10692:
-------------------------------------

Github user nikhilkh commented on the pull request:

    https://github.com/apache/cordova-plugin-splashscreen/pull/86#issuecomment-194417598
  
    @daserge Should this be merged for the upcoming release?


> [Android] SplashScreen plugin crashes due to race condition on hide
> -------------------------------------------------------------------
>
>                 Key: CB-10692
>                 URL: https://issues.apache.org/jira/browse/CB-10692
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin SplashScreen
>    Affects Versions: 3.2.0
>            Reporter: Dan Polivy
>              Labels: android, pendingPR, triaged
>
> On Android, there is a small race condition in the code to hide the splash screen when
a fade out is used. It may only be visible in certain edge cases, but the net result is that
the app will crash.
> Specifically, if multiple calls come in to {{removeSplashScreen}} in a row, it's possible
for the first call to null out {{splashImageView}} before the second call uses it (but after
the second call tests for {{splashDialog == null}}), because of the animation delay.
> Crashing code: https://github.com/apache/cordova-plugin-splashscreen/blob/master/src/android/SplashScreen.java#L219
> My repro for this scenario is due to having a native dialog box that appears if we have
a network connection error when trying to connect to the starting URL (in my case, it is a
remote URL). The dialog box has a 'retry' button which allows the user to retry the network
request. When the user does this, we tell the webview to load a new URL; the webview then
re-initializes the plugin manager, which in turn sends onPause and onDestroy events to the
Splash Screen plugin. It's this sequence of events, which, in quick succession, can trigger
the crash.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message