cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Kinard (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-5427) InAppBrowser crashes without loadstop or loaderror on Android 4.4
Date Thu, 16 Jan 2014 22:35:24 GMT

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

Marcel Kinard commented on CB-5427:
-----------------------------------

While I was looking at some other IAB stuff and had mobilespec loaded, I tried to reproduce
this. I can't reproduce it on 2.3, 2.6, or 3.1, but I can reproduce it on master. Here is
the simplest recreate I've found: In the manual InAppBrowser tests, scroll down to the Whitelist
tests, click the button to test "target=_blank", then close that with either the IAB Done
button or the Android Back button, then click the button to test "target=Default". Boom. It
seems that an IAB must have been running and then closed for the CordovaWebView to mangle
the load* events.

If you let it sit on the alert "browser closed without a loadstop or loaderror" for 30 seconds,
then another alert pops up saying "The connection to the server was unsuccessful". Dismiss
that second alert then the app disappears (log indicates the activity gets paused) and you
see the Apps screen. Click on the app again to "restart" it and all I get is a blank screen.
Status bar on top and nav bars on bottom, but the webview is empty. So it's not really a crash,
just an unexpected suspend with a mangled resume?

This is on a Nexus 5 running 4.4.2.

> InAppBrowser crashes without loadstop or loaderror on Android 4.4
> -----------------------------------------------------------------
>
>                 Key: CB-5427
>                 URL: https://issues.apache.org/jira/browse/CB-5427
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Android, Plugin InAppBrowser
>    Affects Versions: 3.2.0
>         Environment: Windows 7
> Android 4.x
>            Reporter: Mike Billau
>            Assignee: Joe Bowser
>            Priority: Minor
>
> InAppBrowser on Android 4.4 sometimes fails when you click to open any page on the CordovaWebView.
An alert will pop up saying "Unexpected: Browser closed without a loadstop or loaderror."
  Closing the dialog will force quit the application. I can't detect a pattern to reproduce
the issue; what I do is just keep running through the first few buttons under Local URL and
White Listed URL headings on the mobile spec page. Other people seem to be having this issue
too: https://groups.google.com/forum/#!topic/phonegap/e5_5unC2fYs
> In logcat I'm seeing:
> {noformat}
> 11-18 11:50:07.648: D/CordovaLog(6369): file:///android_asset/www/inappbrowser/index.html:
Line 79 : IAB event={"type":"loadstop","url":"http://www.google.com/"}
> 11-18 11:50:07.648: I/chromium(6369): [INFO:CONSOLE(79)] "IAB event={"type":"loadstop","url":"http://www.google.com/"}",
source: file:///android_asset/www/inappbrowser/index.html (79)
> 11-18 11:50:07.928: W/UnimplementedWebViewApi(6369): Unimplemented WebView method onKeyDown
called from: android.webkit.WebView.onKeyDown(WebView.java:2169)
> 11-18 11:50:07.968: W/InputEventReceiver(6369): Attempted to finish an input event but
the input event receiver has already been disposed.
> 11-18 11:50:07.998: D/CordovaLog(6369): file:///android_asset/www/inappbrowser/index.html:
Line 79 : IAB event={"type":"exit"}
> 11-18 11:50:07.998: I/chromium(6369): [INFO:CONSOLE(79)] "IAB event={"type":"exit"}",
source: file:///android_asset/www/inappbrowser/index.html (79)
> 11-18 11:50:09.408: D/InAppBrowser(6369): target = _self
> 11-18 11:50:09.418: D/InAppBrowser(6369): in self
> 11-18 11:50:09.418: D/CordovaWebView(6369): >>> loadUrl(http://www.apple.com/)
> 11-18 11:50:09.418: D/PluginManager(6369): init()
> 11-18 11:50:09.428: D/CordovaWebView(6369): >>> loadUrlNow()
> 11-18 11:50:09.428: W/CordovaPlugin(6369): Attempted to send a second callback for ID:
InAppBrowser921848427
> 11-18 11:50:09.428: W/CordovaPlugin(6369): Result was: ""
> 11-18 11:50:09.488: D/CordovaLog(6369): file:///android_asset/www/inappbrowser/index.html:
Line 79 : IAB event={"type":"exit"}
> 11-18 11:50:09.488: I/chromium(6369): [INFO:CONSOLE(79)] "IAB event={"type":"exit"}",
source: file:///android_asset/www/inappbrowser/index.html (79)
> 11-18 11:50:09.508: D/dalvikvm(6369): GC_FOR_ALLOC freed 50K, 3% free 18380K/18836K,
paused 8ms, total 8ms
> 11-18 11:50:09.508: I/dalvikvm-heap(6369): Grow heap (frag case) to 18.584MB for 629776-byte
allocation
> 11-18 11:50:09.528: D/dalvikvm(6369): GC_FOR_ALLOC freed 7K, 3% free 18988K/19452K, paused
12ms, total 12ms
> 11-18 11:50:09.578: D/dalvikvm(1108): GC_CONCURRENT freed 448K, 9% free 17309K/18816K,
paused 2ms+1ms, total 23ms
> 11-18 11:50:09.638: D/dalvikvm(744): GC_CONCURRENT freed 2582K, 29% free 27397K/38100K,
paused 3ms+4ms, total 76ms
> 11-18 11:50:29.428: E/CordovaWebView(6369): CordovaWebView: TIMEOUT ERROR!
> 11-18 11:50:29.428: D/CordovaWebViewClient(6369): CordovaWebViewClient.onReceivedError:
Error code=-6 Description=The connection to the server was unsuccessful. URL=http://www.apple.com/
> 11-18 11:50:29.428: D/CordovaActivity(6369): onMessage(onReceivedError,{"errorCode":-6,"url":"http:\/\/www.apple.com\/","description":"The
connection to the server was unsuccessful."})
> 11-18 11:50:29.458: D/SoftKeyboardDetect(6369): Ignore this event
> 11-18 11:50:29.558: D/CordovaWebViewClient(6369): onPageFinished(http://www.apple.com/)
> 11-18 11:50:29.558: D/CordovaActivity(6369): onMessage(onPageFinished,http://www.apple.com/)
> 11-18 11:50:56.078: D/audio_hw_primary(184): select_devices: out_snd_device(2: speaker)
in_snd_device(0: )
> 11-18 11:50:56.098: D/CordovaActivity(6369): Paused the application!
> 11-18 11:50:56.128: W/IInputConnectionWrapper(6369): showStatusIcon on inactive InputConnection
> 11-18 11:50:56.598: D/CordovaActivity(6369): CordovaActivity.onDestroy()
> 11-18 11:50:56.598: D/CordovaWebView(6369): >>> loadUrlNow()
> 11-18 11:50:56.678: E/WindowManager(6369): android.view.WindowLeaked: Activity org.apache.mobilespec.mobilespec
has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{42686118 V.E.....
R....... 0,0-1080,638} that was originally added here
> 11-18 11:50:56.678: E/WindowManager(6369): 	at android.view.ViewRootImpl.<init>(ViewRootImpl.java:346)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at android.app.Dialog.show(Dialog.java:286)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at android.app.AlertDialog$Builder.show(AlertDialog.java:951)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at org.apache.cordova.CordovaChromeClient.onJsAlert(CordovaChromeClient.java:135)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at com.android.webview.chromium.WebViewContentsClientAdapter.handleJsAlert(WebViewContentsClientAdapter.java:606)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at com.android.org.chromium.android_webview.AwContentsClientBridge.handleJsAlert(AwContentsClientBridge.java:73)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native
Method)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at android.os.Handler.dispatchMessage(Handler.java:102)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at android.os.Looper.loop(Looper.java:137)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at android.app.ActivityThread.main(ActivityThread.java:4998)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at java.lang.reflect.Method.invokeNative(Native
Method)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at java.lang.reflect.Method.invoke(Method.java:515)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
> 11-18 11:50:56.678: E/WindowManager(6369): 	at dalvik.system.NativeStart.main(Native
Method)
> {noformat}
> After the app force closes, sometimes when I try to open Mobile Spec again, it's just
a solid black screen. Logcat says Cordova is there but nothing gets displayed on the webview.
I'm not sure if this is related or not. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message