How to switch the IDEA to offline mode?
Answered
Hello,
I would like to launch the IDEA in the "offline" mode in an isolated network. I changed the settings and disabled the updates. However, everytime IDEA 2022.1 starts on Linux, it tries to "refresh the list of known plugin repositories" and prints a very long Java exception dump to the console window as it fails to access the internet.
Is there a way to switch it to "offline", so it doesn't show the exception ?
Thanks
Please sign in to leave a comment.
There should be not visible errors shown even if IDE is unable to connect to plugins repository when for example IDE is offline. Could you please send a screenshot and full error you are receiving?
For uploading you can use https://uploads.jetbrains.com Thanks.
I launched the freshly unpacked IDEA 2022.1 in Centos 7 Linux terminal. Steps to reproduce:
1. Create a new empty Java project
2. Wait 1-2min or browse through the GUI for some time, then the long exception dump fills the Terminal window.
Full LOG from the Terminal:
2022-06-27 13:11:25,548 [ 68140] WARN - #c.j.p.intellij-plugin - com.jetbrains.packagesearch.intellij.plugin.data.PackageSearchProjectService#knownRepositoriesFlow - Error while refreshing known repositories
java.net.SocketTimeoutException: connect timed out
at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255)
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.base/java.net.Socket.connect(Socket.java:609)
at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:300)
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266)
at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:373)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:203)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1232)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:189)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1592)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:334)
at com.intellij.util.io.HttpRequests.openConnection(HttpRequests.java:608)
at com.intellij.util.io.HttpRequests$RequestImpl.getConnection(HttpRequests.java:359)
at com.jetbrains.packagesearch.intellij.plugin.api.http.HttpWrapperKt$requestString$$inlined$suspendCancellableCoroutine$lambda$2.process(HttpWrapper.kt:33)
at com.jetbrains.packagesearch.intellij.plugin.api.http.HttpWrapperKt$requestString$$inlined$suspendCancellableCoroutine$lambda$2.process(HttpWrapper.kt)
at com.intellij.util.io.HttpRequests.doProcess(HttpRequests.java:516)
at com.intellij.util.io.HttpRequests.process(HttpRequests.java:498)
at com.intellij.util.io.HttpRequests$RequestBuilderImpl.connect(HttpRequests.java:333)
at com.jetbrains.packagesearch.intellij.plugin.api.http.HttpWrapperKt.requestString(HttpWrapper.kt:32)
at com.jetbrains.packagesearch.intellij.plugin.api.PackageSearchApiClient.repositories(PackageSearchApiClient.kt:98)
at com.jetbrains.packagesearch.intellij.plugin.ui.toolwindow.models.ProjectDataProvider.fetchKnownRepositories(ProjectDataProvider.kt:22)
at com.jetbrains.packagesearch.intellij.plugin.data.PackageSearchProjectService$knownRepositoriesFlow$1.invokeSuspend(PackageSearchProjectService.kt:139)
at com.jetbrains.packagesearch.intellij.plugin.data.PackageSearchProjectService$knownRepositoriesFlow$1.invoke(PackageSearchProjectService.kt)
at com.jetbrains.packagesearch.intellij.plugin.util.CoroutinesUtilsKt$mapLatestTimedWithLoading$1$invokeSuspend$$inlined$measureTimedValue$lambda$1.invokeSuspend(CoroutinesUtils.kt:142)
at com.jetbrains.packagesearch.intellij.plugin.util.CoroutinesUtilsKt$mapLatestTimedWithLoading$1$invokeSuspend$$inlined$measureTimedValue$lambda$1.invoke(CoroutinesUtils.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
at com.jetbrains.packagesearch.intellij.plugin.util.CoroutinesUtilsKt$mapLatestTimedWithLoading$1.invokeSuspend(CoroutinesUtils.kt:142)
at com.jetbrains.packagesearch.intellij.plugin.util.CoroutinesUtilsKt$mapLatestTimedWithLoading$1.invoke(CoroutinesUtils.kt)
at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invokeSuspend(Merge.kt:217)
at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invoke(Merge.kt)
at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invoke(Merge.kt)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invokeSuspend(Merge.kt:34)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invoke(Merge.kt)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invoke(Merge.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$invokeSuspend$$inlined$collect$1.emit(Collect.kt:140)
at kotlinx.coroutines.flow.internal.SafeCollectorKt$emitFun$1.invoke(SafeCollector.kt:15)
at kotlinx.coroutines.flow.internal.SafeCollectorKt$emitFun$1.invoke(SafeCollector.kt:15)
at kotlinx.coroutines.flow.internal.SafeCollector.emit(SafeCollector.kt:77)
at kotlinx.coroutines.flow.internal.SafeCollector.emit(SafeCollector.kt:59)
at com.jetbrains.packagesearch.intellij.plugin.util.CoroutinesUtilsKt$timer$1.invokeSuspend(CoroutinesUtils.kt:94)
at com.jetbrains.packagesearch.intellij.plugin.util.CoroutinesUtilsKt$timer$1.invoke(CoroutinesUtils.kt)
at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:212)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invokeSuspend(Merge.kt:101)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invoke(Merge.kt)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invoke(Merge.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
at kotlinx.coroutines.flow.internal.FlowCoroutineKt.flowScope(FlowCoroutine.kt:33)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest.flowCollect(Merge.kt:25)
at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo$suspendImpl(ChannelFlow.kt:157)
at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo(ChannelFlow.kt)
at kotlinx.coroutines.flow.internal.ChannelFlow$collectToFun$1.invokeSuspend(ChannelFlow.kt:60)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
2022-06-27 13:11:25,806 [ 68398] WARN - #o.j.k.i.r.KotlinReportSubmitter - connect timed out
java.net.SocketTimeoutException: connect timed out
at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255)
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.base/java.net.Socket.connect(Socket.java:609)
at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:300)
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266)
at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:373)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:203)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1232)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:189)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1592)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:334)
at com.intellij.util.io.HttpRequests.openConnection(HttpRequests.java:608)
at com.intellij.util.io.HttpRequests$RequestImpl.getConnection(HttpRequests.java:359)
at com.intellij.util.io.HttpRequests$RequestImpl.getInputStream(HttpRequests.java:367)
at org.jetbrains.kotlin.idea.KotlinPluginUpdater$Companion$fetchPluginReleaseDate$pluginDTOs$1.process(KotlinPluginUpdater.kt:345)
at org.jetbrains.kotlin.idea.KotlinPluginUpdater$Companion$fetchPluginReleaseDate$pluginDTOs$1.process(KotlinPluginUpdater.kt:315)
at com.intellij.util.io.HttpRequests.doProcess(HttpRequests.java:516)
at com.intellij.util.io.HttpRequests.process(HttpRequests.java:498)
at com.intellij.util.io.HttpRequests$RequestBuilderImpl.connect(HttpRequests.java:333)
at org.jetbrains.kotlin.idea.KotlinPluginUpdater$Companion.fetchPluginReleaseDate(KotlinPluginUpdater.kt:344)
at org.jetbrains.kotlin.idea.reporter.KotlinReportSubmitter$Companion$setupReportingFromRelease$1.run(KotlinReportSubmitter.kt:83)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:295)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:829)
>2. Wait 1-2min or browse through the GUI for some time, then the long exception dump fills the Terminal window.
So you are launching the IDE in OS Terminal and seeing the exception there? You can just simply ignore this. There is no way for the IDE to disable all the networking functionality - there are many different plugins, including 3rd party ones, that may still try to access the internet.
This particular error comes from the Package Search plugin. If you do not want to use it in your projects, you can just disable it.
Of cause I can ignore it, it is just making too much "noise" to the Terminal window for the users. The terminal is used for other work too.
Thank you for the suggestion, I disabled the "Package Search" plugin, but I got the exception anyway.
Now, from o.j.k.i.r.KotlinReportSubmitter.
It would be great, if there was an option to disable all output to the Console and reroute it to some LOG file instead.
Shall I submit it via "request" ?
>Of cause I can ignore it, it is just making too much "noise" to the Terminal window for the users.
You can redirect the output form the idea process to a file: https://stackoverflow.com/a/876242/2000323
I have not found such a request in out tracker. Please feel free to file it in YouTrack.
Redirect works fine, thank you.
In TCSH, it accepts a bit different syntax, e.g.: idea.sh >& idea.log
I also opened a ticket: https://youtrack.jetbrains.com/issue/IDEA-296893