I saw this earlier, thank you. I just wonder what they can do to continue working normally.
Well, if it really is the same issue as discussed here, they can do nothing except moving out of India or using a VPN with an endpoint outside of India or using some mirror that is standing outside India, or using a version that is not blocked.
If the internet provider blocks those URL and delivers HTML pages with response code 200 instead, there is nothing else they could do. If the IP does not do that, it is not the same issue as here and should be discussed in a more appropriate thread.
We will try with VPN. Thank you for the advice.
For me is was React native v0.75.3 and for that I required gradle 8.9 and my issue was solved .
- Sometimes if you are using any module that doesn’t support new version of React native then also u can face issue
As the cache is poisoned, you will need to remove the bad entries, or maybe --refresh-dependencies
will fix it, not sure.
@Anu1421 then it is not the issue this thread is about.
The error message can happen in different situations, but this thread is about an Indian internet provider blocking some Kotlin artifacts on request of an Indian ministry and in a technically very bad way, delivering HTML content for JAR requests without an error response code.
This issue is faced in all of our projects with almost latest kotlin & gradle dependencies, one e.g version
agp = "8.10.1"
kotlin = "2.1.10"
I suppose the gradlew wrapper zip is also corrupted as the issue is also caused while ./gradlew clean
Finally solved this issue using a VPN, and deleting .gradle folder
I’m back with a little update and more details, which will hopefully help other people searching for this problem.
I helped one of my coworkers from India analyse the problem on her machine, and we discovered that one of the POM files in Gradle cache was corrupted (yes, a POM file, despite the ZIP-related error message).
Specifically, ~/.gradle/caches/modules-2/files-2.1/com.android.tools.utp/android-test-plugin-host-coverage-proto/31.11.0/8d7a2165956a5324d030033480ea83d95079afbf/android-test-plugin-host-coverage-proto-31.11.0.pom
contained this:
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0"/><style>body{margin:0px;padding:0px;}iframe{width:100%;height:100%}</style><iframe src="http://210.57.203.2:8080/webadmin/deny/court.html" width="100%" height="100%" frameborder=0></iframe>
Opening the URL from src
attribute: http://210.57.203.2:8080/webadmin/deny/court.html
shows this message: The website has been blocked as per direction/order of Hon’ble Court.
Based on other reports online (e.g., this) and our own experience, I think anything that Gradle downloads (JAR, POM, …, you name it) can be affected in a similar way, and it doesn’t have to be about any specific file/artifact, but it’s only my best guess.
My coworkers’ workaround was:
- Exiting IDE
- Stopping Gradle daemons
- Removing Gradle cache
$HOME/.gradle/caches
- Connecting via VPN (outside of India)
- Starting IDE / running Gradle build again (to re-download the dependencies via VPN)
- Disconnecting VPN once everything was back to normal
This is exactly what I did yesterday to resolve after finding this forum, I mean why would this happen? Will there be any official update on this?
Will there be any official update on this?
Probably not, by whom would you expect one?
I mean why would this happen?
That’s already described, just scroll up.
Someone forced your ISP by court to block these downloads, and they do it in a bad way, delivering a success HTTP response code with the “this is blocked” HTML page as content instead of using an error response code.