New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 770792 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Untagged omaha socket

Project Member Reported by dskiba@chromium.org, Oct 2 2017

Issue description

Got this on gobo_512 running OPG1.170927.002 (with ToT Monochrome):

10-02 18:41:02.314 24820 24839 E StrictMode: java.lang.Throwable: Untagged socket detected; use TrafficStats.setThreadSocketTag() to track all network usage
10-02 18:41:02.314 24820 24839 E StrictMode: 	at android.os.StrictMode.onUntaggedSocket(StrictMode.java:2012)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.server.NetworkManagementSocketTagger.tag(NetworkManagementSocketTagger.java:78)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at libcore.io.BlockGuardOs.tagSocket(BlockGuardOs.java:47)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at libcore.io.BlockGuardOs.socket(BlockGuardOs.java:310)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at libcore.io.IoBridge.socket(IoBridge.java:667)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at java.net.PlainSocketImpl.socketCreate(PlainSocketImpl.java:116)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at java.net.AbstractPlainSocketImpl.create(AbstractPlainSocketImpl.java:98)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at java.net.Socket.createImpl(Socket.java:484)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at java.net.Socket.getImpl(Socket.java:547)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at java.net.Socket.setSoTimeout(Socket.java:1175)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:139)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:258)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(Unknown Source:0)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at org.chromium.chrome.browser.omaha.OmahaBase.sendRequestToServer(OmahaBase.java:270)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at org.chromium.chrome.browser.omaha.OmahaBase.postRequest(OmahaBase.java:245)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at org.chromium.chrome.browser.omaha.OmahaBase.generateAndPostRequest(OmahaBase.java:144)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at org.chromium.chrome.browser.omaha.OmahaBase.run(OmahaBase.java:85)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at org.chromium.chrome.browser.omaha.OmahaService$1.doInBackground(OmahaService.java:6)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at android.os.AsyncTask$2.call(AsyncTask.java:333)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
10-02 18:41:02.314 24820 24839 E StrictMode: 	at java.lang.Thread.run(Thread.java:764)


Does this mean we need to tag omaha socket?
 

Comment 1 by wnwen@chromium.org, Oct 2 2017

Not sure... probably?

Seems like this is a new check in Android O. We will be turning on StrictMode for O bots when they arrive, so this is relevant: https://github.com/square/okhttp/issues/3537
Cc: waff...@chromium.org nyquist@chromium.org pauljensen@chromium.org
Components: -UI>Browser Internals>Installer
https://developer.android.com/reference/android/net/TrafficStats.html#setThreadStatsTag(int)

+pauljensen -- I saw you added this here: https://chromium-review.googlesource.com/772313 and I'm wondering if you have any guidance about how this should be used?

@waffles, is there a good component for Omaha?  Installer doesn't "feel" right for Android, but I'm just guessing here.
Cc: sorin@chromium.org
Installer is OK for now. Reading up about this issue.
Presently I don't think Chrome tags any of its sockets.  Note that StrictMode ignores sockets created via native (which is nearly all Chrome sockets).  What code is enabling all of StrictMode?  This doesn't seem appropriate for Chrome.

Sign in to add a comment