title: SecurityException: Permission denied (missing INTERNET permission?)
body: <p>this error is really really really strange and I don't know how to reproduce it and how to fix it because I made a lot of searches but nothing was useful.</p>
  
  <p>Here's the stacktrace:</p>
  
  <pre><code>Stack Trace
  _________________________________
  0   java.lang.RuntimeException: An error occured while executing doInBackground()
  1       at android.os.AsyncTask$3.done(AsyncTask.java:299)
  2       at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
  3       at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
  4       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
  5       at java.util.concurrent.FutureTask.run(FutureTask.java:137)
  6       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
  7       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  8       at java.lang.Thread.run(Thread.java:856)
  9   Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
  10      at java.net.InetAddress.lookupHostByName(InetAddress.java:430)
  11      at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
  12      at java.net.InetAddress.getAllByName(InetAddress.java:214)
  13      at libcore.net.http.HttpConnection.&lt;init&gt;(HttpConnection.java:70)
  14      at libcore.net.http.HttpConnection.&lt;init&gt;(HttpConnection.java:50)
  15      at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
  16      at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
  17      at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
  18      at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
  19      at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
  20      at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
  21      at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
  22      at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
  23      at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:292)
  24      at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:185)
  25      at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
  26      at com.designfuture.music.api.MusixMatchApi.sendRequestJSON(MusixMatchApi.java:1143)
  27      at com.designfuture.music.api.MusixMatchApi.handleRequestJSON(MusixMatchApi.java:982)
  28      at com.designfuture.music.api.MusixMatchApi.getConfig(MusixMatchApi.java:211)
  29      at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:28)
  30      at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:1)
  31      at android.os.AsyncTask$2.call(AsyncTask.java:287)
  32      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
  33      ... 4 more
  34  Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
  35      at libcore.io.Posix.getaddrinfo(Native Method)
  36      at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
  37      at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
  38      ... 26 more
  39  Caused by: libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
  40      ... 29 more
  41  java.lang.SecurityException: Permission denied (missing INTERNET permission?)
  42      at java.net.InetAddress.lookupHostByName(InetAddress.java:430)
  43      at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
  44      at java.net.InetAddress.getAllByName(InetAddress.java:214)
  45      at libcore.net.http.HttpConnection.&lt;init&gt;(HttpConnection.java:70)
  46      at libcore.net.http.HttpConnection.&lt;init&gt;(HttpConnection.java:50)
  47      at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
  48      at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
  49      at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
  50      at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
  51      at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
  52      at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
  53      at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
  54      at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
  55      at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:292)
  56      at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:185)
  57      at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
  58      at com.designfuture.music.api.MusixMatchApi.sendRequestJSON(MusixMatchApi.java:1143)
  59      at com.designfuture.music.api.MusixMatchApi.handleRequestJSON(MusixMatchApi.java:982)
  60      at com.designfuture.music.api.MusixMatchApi.getConfig(MusixMatchApi.java:211)
  61      at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:28)
  62      at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:1)
  63      at android.os.AsyncTask$2.call(AsyncTask.java:287)
  64      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
  65      at java.util.concurrent.FutureTask.run(FutureTask.java:137)
  66      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
  67      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  68      at java.lang.Thread.run(Thread.java:856)
  69  Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
  70      at libcore.io.Posix.getaddrinfo(Native Method)
  71      at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
  72      at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
  73      ... 26 more
  74  Caused by: libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
  75      ... 29 more
  76  libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
  77      at libcore.io.Posix.getaddrinfo(Native Method)
  78      at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
  79      at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
  80      at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
  81      at java.net.InetAddress.getAllByName(InetAddress.java:214)
  82      at libcore.net.http.HttpConnection.&lt;init&gt;(HttpConnection.java:70)
  83      at libcore.net.http.HttpConnection.&lt;init&gt;(HttpConnection.java:50)
  84      at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
  85      at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
  86      at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
  87      at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
  88      at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
  89      at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
  90      at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
  91      at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
  92      at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:292)
  93      at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:185)
  94      at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
  95      at com.designfuture.music.api.MusixMatchApi.sendRequestJSON(MusixMatchApi.java:1143)
  96      at com.designfuture.music.api.MusixMatchApi.handleRequestJSON(MusixMatchApi.java:982)
  97      at com.designfuture.music.api.MusixMatchApi.getConfig(MusixMatchApi.java:211)
  98      at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:28)
  99      at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:1)
  100     at android.os.AsyncTask$2.call(AsyncTask.java:287)
  101     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
  102     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
  103     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
  104     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  105     at java.lang.Thread.run(Thread.java:856)
  106 Caused by: libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
  107     ... 29 more
  108 libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
  109     at libcore.io.Posix.getaddrinfo(Native Method)
  110     at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
  111     at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
  112     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
  113     at java.net.InetAddress.getAllByName(InetAddress.java:214)
  114     at libcore.net.http.HttpConnection.&lt;init&gt;(HttpConnection.java:70)
  115     at libcore.net.http.HttpConnection.&lt;init&gt;(HttpConnection.java:50)
  116     at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
  117     at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
  118     at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
  119     at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
  120     at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
  121     at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
  122     at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
  123     at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
  124     at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:292)
  125     at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:185)
  126     at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
  127     at com.designfuture.music.api.MusixMatchApi.sendRequestJSON(MusixMatchApi.java:1143)
  128     at com.designfuture.music.api.MusixMatchApi.handleRequestJSON(MusixMatchApi.java:982)
  129     at com.designfuture.music.api.MusixMatchApi.getConfig(MusixMatchApi.java:211)
  130     at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:28)
  131     at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:1)
  132     at android.os.AsyncTask$2.call(AsyncTask.java:287)
  133     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
  134     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
  135     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
  136     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  137     at java.lang.Thread.run(Thread.java:856)
  </code></pre>
  
  <p>Here's my AndroidManifest.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="my_app_package"
      android:installLocation="auto"
      android:versionCode="my_version_code"
      android:versionName="my_version_name" &gt;
  
      &lt;uses-sdk
          android:minSdkVersion="8"
          android:targetSdkVersion="16" /&gt;
  
      &lt;supports-screens
          android:anyDensity="true"
          android:largeScreens="true"
          android:normalScreens="true"
          android:resizeable="true"
          android:smallScreens="true"
          android:xlargeScreens="true" /&gt;
  
      &lt;uses-feature android:glEsVersion="0x00010001" /&gt;
  
      &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
  
      &lt;application
          android:allowTaskReparenting="true"
          android:debuggable="true"
          android:icon="@drawable/mxm_icon"
          android:label="@string/musicbrowserlabel"
          android:theme="@style/Theme.Music" &gt;
  
          &lt;!-- MY ACTIVITIES --&gt;
  
  
  
      &lt;/application&gt;
  
  &lt;/manifest&gt;
  </code></pre>
  
  <p>Please don't bother asking me if I have the correct INTERNET permission in my manifest because this app is in market since 2 years :P</p>
  
  <p>I've also noticed that (from Crittercism) all bugs are coming from Android 4.1.x version (JB). I don't know if device are rooted or what (I can't see this information for the moment)</p>