Obsolete
Status Update
Comments
hb...@gmail.com <hb...@gmail.com> #2
Don't think it's just related to the internet permission. I'm getting exactly the same stack trace in my app and it (a) has the internet permission defined and working fine and (b) the webview was showing a local file in the assets folder.
hb...@gmail.com <hb...@gmail.com> #3
Don't know if it is also related, but I also got an obscure message a little later:
D/chromium(2735): Unknown chromium error: -6
D/chromium(2735): Unknown chromium error: -6
js...@gmail.com <js...@gmail.com> #4
"D/chromium(2735): Unknown chromium error: -6" is actually a 404 (i.e. a URL that wasn't found or was a virtual URL ("my://custom/url") or something). Implementing WebViewClient.shouldInterceptRequest() will make that error go away, but given that there's a thread local memory leak when using that (http://code.google.com/p/android/issues/detail?id=21355 ) I wouldn't advise doing that.
hb...@gmail.com <hb...@gmail.com> #5
Thanks for that comment - I was just deploying another version of my app to test that!
I noticed one of the images in the assets folder had a space in the filename. Looks like sdk < 14 never complained about the spaces and happily found and rendered the image. Sdk 14 is a bit more picky - I renamed the file and no longer get the -6 error. But I'm still getting the same removeMessages(...107) stacktrace when I view a local asset file.
I noticed one of the images in the assets folder had a space in the filename. Looks like sdk < 14 never complained about the spaces and happily found and rendered the image. Sdk 14 is a bit more picky - I renamed the file and no longer get the -6 error. But I'm still getting the same removeMessages(...107) stacktrace when I view a local asset file.
js...@gmail.com <js...@gmail.com> #6
It looks like it was a major WebKit upgrade (hooray!) which is unfortunately quite buggy (CSS 3d transforms throw errors (http://code.google.com/p/android/issues/detail?id=21305 ) , memory leaks, ability to have it core dump quiet easily (http://code.google.com/p/android/issues/detail?id=21266 ), etc).
[Deleted User] <[Deleted User]> #7
I am running into this same error.
I have the internet permission set up, and in my case, I open custom HTML that points to an external flash player.
The flash player works great, until I go fullscreen. Once I enter fullscreen mode and back out, every time I attempt to re-open the webview I get this same problem.
I have the internet permission set up, and in my case, I open custom HTML that points to an external flash player.
The flash player works great, until I go fullscreen. Once I enter fullscreen mode and back out, every time I attempt to re-open the webview I get this same problem.
vi...@gmail.com <vi...@gmail.com> #8
I was getting the same error in my application, however i think my issue is a developer error. In order to explain how i got this issue, ill describe what i did. I'm creating an Android application which is loading and running a GWT compiled JavaScript application into a WebView. I looked around for many different things until i realized that my problem was in my own WebViewClient class. I had my class implemented as follows:
private static class HelloWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading( WebView view, String url )
{
view.loadUrl( url );
return true;
}
}
This quickly caused the above exception to manifest. I changed the above line to being the following:
private static class HelloWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading( WebView view, String url )
{
return false;
}
}
And POOF! no more error. I can't say I can actually explain what I did wrong. But im sure if i dug a bit more, i'd find the problem. But for now, I'm happy that it works. I hope this is useful to someone :)
private static class HelloWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading( WebView view, String url )
{
view.loadUrl( url );
return true;
}
}
This quickly caused the above exception to manifest. I changed the above line to being the following:
private static class HelloWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading( WebView view, String url )
{
return false;
}
}
And POOF! no more error. I can't say I can actually explain what I did wrong. But im sure if i dug a bit more, i'd find the problem. But for now, I'm happy that it works. I hope this is useful to someone :)
vd...@gmail.com <vd...@gmail.com> #9
Any Solution on this issue I am still getting the same error..
I have tried with
private static class HelloWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading( WebView view, String url )
{
return false;
}
}
but no solution
I have tried with
private static class HelloWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading( WebView view, String url )
{
return false;
}
}
but no solution
da...@gmail.com <da...@gmail.com> #10
I discovered something.
I used to have a webview as "about page": placed into my assets/ directory as .html
A javascript there was reading url parameters and using them to write my application name and setting.
So the url opened was something like this:
file:///android_asset/about.html?title=MyAppTitle&version=0.6.0
Android 14 and greater are looking for a file named "about.html?title=MyAppTitle&version=0.6.0"
you have similar issues with spaces in name file.
It's an issue in resolving the filename, the new version is not smart enough to understand "?stuff" is a query string, until SDK 13 android resolved it correctly, since 14 it look for a file named like that...
Question for Android developers: assuming this will be fixed, will it be backported to every device as an OTA firmware update? or will we always had to support both buggish and non-buggish versions to support every device?
I used to have a webview as "about page": placed into my assets/ directory as .html
A javascript there was reading url parameters and using them to write my application name and setting.
So the url opened was something like this:
file:///android_asset/about.html?title=MyAppTitle&version=0.6.0
Android 14 and greater are looking for a file named "about.html?title=MyAppTitle&version=0.6.0"
you have similar issues with spaces in name file.
It's an issue in resolving the filename, the new version is not smart enough to understand "?stuff" is a query string, until SDK 13 android resolved it correctly, since 14 it look for a file named like that...
Question for Android developers: assuming this will be fixed, will it be backported to every device as an OTA firmware update? or will we always had to support both buggish and non-buggish versions to support every device?
ka...@gmail.com <ka...@gmail.com> #11
Comment 3 is on point. This issue is actually a 404. The URL that's being pointed to has an issue. Modify the URL
js...@gmail.com <js...@gmail.com> #12
Comment 10 is not on point. Synthetic URLs should always be valid (i.e. that's one way of launching other apps via Intents...like market urls :-)
ro...@gmail.com <ro...@gmail.com> #13
I'm seeing this issue in API 15 as well.
There seems to be a number of different reasons that shows up with the very same error message.
There seems to be a number of different reasons that shows up with the very same error message.
dr...@gmail.com <dr...@gmail.com> #14
Any news on this error?
ji...@gmail.com <ji...@gmail.com> #15
Any news on this error?
[Deleted User] <[Deleted User]> #16
I am also trying to make the (apparently harmless?) removeMessages stack trace go away. When I look at the trace I notice that it runs through ZoomManager PostScale:
11-14 03:30:04.779: W/webcore(19380): java.lang.Throwable: EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.
11-14 03:30:04.779: W/webcore(19380): at android.webkit.WebViewCore$EventHub.removeMessages(WebViewCore.java:1683)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.WebViewCore$EventHub.access$7900(WebViewCore.java:926)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.WebViewCore.removeMessages(WebViewCore.java:1795)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.WebView.sendOurVisibleRect(WebView.java:2970)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.ZoomManager.setZoomScale(ZoomManager.java:598)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.ZoomManager.access$1700(ZoomManager.java:49)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.ZoomManager$PostScale.run(ZoomManager.java:989)
11-14 03:30:04.779: W/webcore(19380): at android.os.Handler.handleCallback(Handler.java:605)
11-14 03:30:04.779: W/webcore(19380): at android.os.Handler.dispatchMessage(Handler.java:92)
11-14 03:30:04.779: W/webcore(19380): at android.os.Looper.loop(Looper.java:137)
11-14 03:30:04.779: W/webcore(19380): at android.app.ActivityThread.main(ActivityThread.java:4697)
11-14 03:30:04.779: W/webcore(19380): at java.lang.reflect.Method.invokeNative(Native Method)
11-14 03:30:04.779: W/webcore(19380): at java.lang.reflect.Method.invoke(Method.java:511)
11-14 03:30:04.779: W/webcore(19380): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
11-14 03:30:04.779: W/webcore(19380): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
11-14 03:30:04.779: W/webcore(19380): at dalvik.system.NativeStart.main(Native Method)
I was successfully able to circumvent this error on ICS by overriding onSizeChanged, which was the only WebView function I could find that actually triggerred a ZoomManager PostScale. My function looks like:
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh){
// this prevents a warning/exception in ICS, but prevents
// display at all on earlier devices.
if(viewReady){
super.onSizeChanged(w, h, oldw, oldh);
} else {
Log.d( currentSettings.get("id")+"", "Not ready to change size of web view: "+(String) this.getTag() );
}
}
viewReady is a private Boolean that is false to begin with and is set to true after I know the view has loaded. Unfortunately, as noted in my comment, this specifically does NOT work for versions prior to ICS. I have not found a workaround yet.
11-14 03:30:04.779: W/webcore(19380): java.lang.Throwable: EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.
11-14 03:30:04.779: W/webcore(19380): at android.webkit.WebViewCore$EventHub.removeMessages(WebViewCore.java:1683)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.WebViewCore$EventHub.access$7900(WebViewCore.java:926)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.WebViewCore.removeMessages(WebViewCore.java:1795)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.WebView.sendOurVisibleRect(WebView.java:2970)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.ZoomManager.setZoomScale(ZoomManager.java:598)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.ZoomManager.access$1700(ZoomManager.java:49)
11-14 03:30:04.779: W/webcore(19380): at android.webkit.ZoomManager$PostScale.run(ZoomManager.java:989)
11-14 03:30:04.779: W/webcore(19380): at android.os.Handler.handleCallback(Handler.java:605)
11-14 03:30:04.779: W/webcore(19380): at android.os.Handler.dispatchMessage(Handler.java:92)
11-14 03:30:04.779: W/webcore(19380): at android.os.Looper.loop(Looper.java:137)
11-14 03:30:04.779: W/webcore(19380): at android.app.ActivityThread.main(ActivityThread.java:4697)
11-14 03:30:04.779: W/webcore(19380): at java.lang.reflect.Method.invokeNative(Native Method)
11-14 03:30:04.779: W/webcore(19380): at java.lang.reflect.Method.invoke(Method.java:511)
11-14 03:30:04.779: W/webcore(19380): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
11-14 03:30:04.779: W/webcore(19380): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
11-14 03:30:04.779: W/webcore(19380): at dalvik.system.NativeStart.main(Native Method)
I was successfully able to circumvent this error on ICS by overriding onSizeChanged, which was the only WebView function I could find that actually triggerred a ZoomManager PostScale. My function looks like:
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh){
// this prevents a warning/exception in ICS, but prevents
// display at all on earlier devices.
if(viewReady){
super.onSizeChanged(w, h, oldw, oldh);
} else {
Log.d( currentSettings.get("id")+"", "Not ready to change size of web view: "+(String) this.getTag() );
}
}
viewReady is a private Boolean that is false to begin with and is set to true after I know the view has loaded. Unfortunately, as noted in my comment, this specifically does NOT work for versions prior to ICS. I have not found a workaround yet.
[Deleted User] <[Deleted User]> #17
FYI, I also prevent drawing my web view until after viewReady == true, so yo may need to take that in to account if you try to follow my lead.
[Deleted User] <[Deleted User]> #18
According to what I'm reading in the ZoomManager source, a hardware accelerated web view won't have this issue.
567 if (!mWebView.drawHistory() && !mInHWAcceleratedZoom) {
568
569 // If history Picture is drawn, don't update scroll. They will
570 // be updated when we get out of that mode.
571 // update our scroll so we don't appear to jump
572 // i.e. keep the center of the doc in the center of the view
573 // If this is part of a zoom on a HW accelerated canvas, we
574 // have already updated the scroll so don't do it again.
567 if (!mWebView.drawHistory() && !mInHWAcceleratedZoom) {
568
569 // If history Picture is drawn, don't update scroll. They will
570 // be updated when we get out of that mode.
571 // update our scroll so we don't appear to jump
572 // i.e. keep the center of the doc in the center of the view
573 // If this is part of a zoom on a HW accelerated canvas, we
574 // have already updated the scroll so don't do it again.
tm...@gmail.com <tm...@gmail.com> #19
I am getting the same error!how to fix ?~~~~(>_<)~~~~
en...@google.com <en...@google.com>
kb...@gmail.com <kb...@gmail.com> #20
[Comment deleted]
kb...@gmail.com <kb...@gmail.com> #21
amad...@affinityamp.com
What do you mean by "view is loaded"? On what event do you set viewReady to true?
Are there any new fixes?
What do you mean by "view is loaded"? On what event do you set viewReady to true?
Are there any new fixes?
Description
I/ActivityManager( 609): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.fail/.Demo} from pid 705
W/WindowManager( 609): Failure taking screenshot for (180x300) to layer 21005
D/dalvikvm( 1137): Not late-enabling CheckJNI (already on)
I/ActivityManager( 609): Start proc com.fail for activity com.fail/.Demo: pid=1137 uid=10044 gids={1015}
W/NetworkManagementSocketTagger( 609): setKernelCountSet(10044, 1) failed with errno -2
V/PhoneStatusBar( 662): setLightsOn(true)
I/ARMAssembler( 34): generated scanline__00000177:03515104_00009001_00000000 [152 ipp] (177 ins) at [0x415671e8:0x415674ac] in 13180002 ns
I/ARMAssembler( 34): generated scanline__00000177:03515104_00009002_00000000 [148 ipp] (173 ins) at [0x415674b0:0x41567764] in 3366000 ns
V/chromium( 1137): external/chromium/base/threading/thread.cc:79: [1024/170718:INFO:thread.cc(79)] StartWithOptions(), this=0x00167810, name_=NetworkChangeNotifier
V/chromium( 1137): external/chromium/base/threading/thread.cc:91: [1024/170718:INFO:thread.cc(91)] StartWithOptions() created startup_data, this=0x00167810, name_=NetworkChangeNotifier
V/chromium( 1137): external/chromium/base/threading/thread.cc:105: [1024/170718:INFO:thread.cc(105)] StartWithOptions() waiting for thread to start, this=0x00167810, name_=NetworkChangeNotifier
V/chromium( 1137): external/chromium/base/threading/thread.cc:196: [1024/170718:INFO:thread.cc(196)] ThreadMain() starting, this=0x00167810, name_=NetworkChangeNotifier
V/chromium( 1137): external/chromium/base/threading/thread.cc:216: [1024/170718:INFO:thread.cc(216)] ThreadMain() signalling, this=0x00167810, name_=NetworkChangeNotifier
V/chromium( 1137): external/chromium/base/threading/thread.cc:113: [1024/170718:INFO:thread.cc(113)] StartWithOptions() clearing startup_data_, this=0x00167810, name_=NetworkChangeNotifier
W/webcore ( 1137): java.lang.Throwable: EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.
W/webcore ( 1137): at android.webkit.WebViewCore$EventHub.removeMessages(WebViewCore.java:1671)
W/webcore ( 1137): at android.webkit.WebViewCore$EventHub.access$7800(WebViewCore.java:920)
W/webcore ( 1137): at android.webkit.WebViewCore.removeMessages(WebViewCore.java:1783)
W/webcore ( 1137): at android.webkit.WebView.sendOurVisibleRect(WebView.java:2855)
W/webcore ( 1137): at android.webkit.ZoomManager.setZoomScale(ZoomManager.java:573)
W/webcore ( 1137): at android.webkit.ZoomManager.access$1700(ZoomManager.java:49)
W/webcore ( 1137): at android.webkit.ZoomManager$PostScale.run(ZoomManager.java:964)
W/webcore ( 1137): at android.os.Handler.handleCallback(Handler.java:605)
W/webcore ( 1137): at android.os.Handler.dispatchMessage(Handler.java:92)
W/webcore ( 1137): at android.os.Looper.loop(Looper.java:137)
W/webcore ( 1137): at android.app.ActivityThread.main(ActivityThread.java:4340)
W/webcore ( 1137): at java.lang.reflect.Method.invokeNative(Native Method)
W/webcore ( 1137): at java.lang.reflect.Method.invoke(Method.java:511)
W/webcore ( 1137): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
W/webcore ( 1137): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
W/webcore ( 1137): at dalvik.system.NativeStart.main(Native Method)
D/gralloc_goldfish( 1137): Emulator without GPU emulation detected.
D/dalvikvm( 1137): GC_CONCURRENT freed 75K, 3% free 10305K/10567K, paused 10ms+25ms
I/ActivityManager( 609): Displayed com.fail/.Demo: +2s188ms (total +1m38s306ms)
V/PhoneStatusBar( 662): setLightsOn(true)
V/chromium( 1137): external/chromium/base/threading/thread.cc:79: [1024/170719:INFO:thread.cc(79)] StartWithOptions(), this=0x001b8d88, name_=network
V/chromium( 1137): external/chromium/base/threading/thread.cc:91: [1024/170719:INFO:thread.cc(91)] StartWithOptions() created startup_data, this=0x001b8d88, name_=network
V/chromium( 1137): external/chromium/base/threading/thread.cc:105: [1024/170719:INFO:thread.cc(105)] StartWithOptions() waiting for thread to start, this=0x001b8d88, name_=network
V/chromium( 1137): external/chromium/base/threading/thread.cc:196: [1024/170719:INFO:thread.cc(196)] ThreadMain() starting, this=0x001b8d88, name_=network
V/chromium( 1137): external/chromium/base/threading/thread.cc:216: [1024/170719:INFO:thread.cc(216)] ThreadMain() signalling, this=0x001b8d88, name_=network
V/chromium( 1137): external/chromium/base/threading/thread.cc:113: [1024/170719:INFO:thread.cc(113)] StartWithOptions() clearing startup_data_, this=0x001b8d88, name_=network
W/NetworkManagementSocketTagger( 609): setKernelCountSet(10021, 0) failed with errno -2
W/InputManagerService( 609): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@4156d3a0 (uid=10021 pid=705)
and a black, empty WebView (the default 404 'green robot' asset handler is not invoked).
On API-7 (as an example), the logs would look like the following:
I/ActivityManager( 52): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.fail/.Demo }
I/ActivityManager( 52): Displayed activity com.fail/.Demo: 544 ms (total 544 ms)
Adding in the above permission works (somewhat)
Trivial sample app, bugreport, and screen shots of behavior in API-7 and API-14 attached.