[ 
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)

Reply via email to