SocketException: Failed host lookup: 'methods.abc.com' (OS Error: No address associated with hostname, errno = 7), StackTrace :

3,507

Solution 1

This may not be a Flutter problem. Instead, that is OS Error which is far more low level.

Firstly, have a check at this: Unable to resolve host "<url here>"; No address associated with hostname.

For example, if your user closed his Wifi and mobile network, then you will see this error.

Usually it is not caused by a bug in your code, but just because the user has no network - if he has no network, how can he resolve the domain name!

Thus, for me, personally, I just ignore such type of error. In other words, I do not report these errors to my backend.

Solution 2

Make Sure that you have active internet connection along with permission defined in AndroidManifest.xml

Solution 3

In my case, I restarted my laptop and it was fine. Most of the times restarting computer will solve the problems like this.

Share:
3,507
BIS Tech
Author by

BIS Tech

Updated on December 27, 2022

Comments

  • BIS Tech
    BIS Tech 11 months

    I store the API error logs in my DB. I found so many errors on my DB. the log message is the same.

    SocketException: Failed host lookup: 'xxx.abc.com' (OS Error: No address associated with hostname, errno = 7), StackTrace : 
    

    BTW, This error only occurs to random users. Not for all users.

    function

      Future<dynamic> abc() async {
        var responseJson;
        try {
          final response = await http.post('${env.url}/xxx/xxx/xxx', headers: {'Authorization': 'Bearer xxx'});
          responseJson = _response(response, _errorMap);
          return responseJson;
        }
        catch (e, s) {
          errorLog.store('$e, StackTrace : $s', _errorMap);
          throw FetchDataException('message');
        }
      }
    

    env.url looks like this, https://xxx.abc.com

    xml

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="xxx">
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.VIBRATE"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <application ...
    

    package

      http: ^0.12.2