dotent backend

Answered

When I try to turn on Smart Mode on a .net code base I see it try and dl the dotnet backend, but then fails. I follow the url in error msg and I am able to manually dl the dotnet backend zip file. Is it possible to manually "install" the backend? Can I configure Fleet to use the backend?

0
14 comments

Could you please collect logs using Help | Collect logs menu item. You can upload them at https://uploads.jetbrains.com Thank you.

0

Done:

Upload id: 2023_01_12_ecKH2VYGcKdJyfUTxPTqF1 (file: fleet-logs-2023-01-12-07-44-9389206020684724591.zip)

0

Thank you. Indeed, the download fails b/c of a timeout error:

[20230112 07:44:41.052 ERROR WS f.p.d.w.DotnetBackendInstaller] An error occurred while downloading dotnet backend
https://plugins.jetbrains.com/fleet-parts/fleet-dotnet-backend/fleet-dotnet-backend-1.13.92.zip: Network Error: timed out reading response
[20230112 07:44:42.408 ERROR ?? fleet.dock.bootstrap.Dock] Exception in DefaultDispatcher-worker-14
java.net.ConnectException: Connection timed out: no further information
    at java.base/sun.nio.ch.Net.pollConnect(Native Method)
    at java.base/sun.nio.ch.Net.pollConnectNow(Unknown Source)
    at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
    at io.ktor.network@2.1.3/io.ktor.network.sockets.SocketImpl.connect$ktor_network(SocketImpl.kt:50)
    at io.ktor.network@2.1.3/io.ktor.network.sockets.SocketImpl$connect$1.invokeSuspend(SocketImpl.kt)
    at kotlin.stdlib/kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source)
    at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
    at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
    at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
    at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
    at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
    at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

Fleet stores the downloaded backend in random cache directory. So I'm not sure that it would be possible to just download and copy it there.

Do you have proxies in network? Please note that latest Fleet supports proxy via usual environment variables http_proxyhttps_proxy and no_proxy and their capitalised alternatives HTTP_PROXYHTTPS_PROXY and NO_PROXY, full system proxy support will come later in FL-16390. So you can try using these variables to define the proxy server.

0

Is it possible to manually "install" the backend? Can I configure Fleet to use the backend?

I checked: you can specify the custom dotnet backend location using the 

fleet.dotnet.backend.location
java system property. To specify it you can
- invoke Goto | Action... 
- type Open FleetCfg action to open Fleet configuration file
- in this file append this jvm option:
java-options=-Dfleet.dotnet.backend.location=<custom location>

To download the dotnet backend for your Fleet version you can from 

https://plugins.jetbrains.com/fleet-parts/fleet-dotnet-backend/fleet-dotnet-backend-1.13.92.zip

 

0
I keep getting the 'We're supporting only DOS-style paths on Windows' exception. What format should the path be? Should I be pointing to the dl'd zip file or the expanded contents or just the folder?
To keep it simple I have the zip file in a folder C:/Util. I expanded the contents into C:/Util/11392
 
0

The path should point to the un-archived zip archive content.

It should work with the C:/Util path. What is the full text of the error and how did you specify the path?

Also, have you tried to configure proxy?

0

Here is Fleet.cfg:

[Application]
app.mainmodule=fleet.dock.bootstrap/fleet.dock.bootstrap.FleetBootstrapKt

[JavaOptions]
java-options=-Djpackage.app-version=1.13.92
java-options=-ea
java-options=-Xmx2G
java-options=-XX:+HeapDumpOnOutOfMemoryError
java-options=-XX:NativeMemoryTracking=summary
java-options=-XX:CICompilerCount=2
java-options=-Dfleet.distribution.mode=true
java-options=-Dfleet.version=1.13.92
java-options=-Dfleet.backend.useEmbedded=true
java-options=-Dfleet.build.date=1672844212
java-options=-Dkotlinx.coroutines.debug=off
java-options=-Dnoria.render.mode=skiko
java-options=-Dsun.java2d.uiScale.enabled=true
java-options=-Dskiko.win.exception.logger.enabled=true
java-options=-Dskiko.collect.stat=true
java-options=--add-opens=java.base/java.lang=fleet.util.modules
java-options=-Dsun.awt.windows.useCommonItemDialog=true
java-options=-Dfleet.dotnet.backend.location=C:/Util/11392

11392 is the folder with unarchived bits

The message I get is:

We're supporting only DOS-style paths on Windows [\\ac2knjs0204\Userdata\jglynn\AppData\Roaming\JetBrains\Fleet]
java.lang.IllegalArgumentException: We're supporting only DOS-style paths on Windows [\\ac2knjs0204\Userdata\jglynn\AppData\Roaming\JetBrains\Fleet]
  at fleet.protocol/fleet.api.ProtocolPath$Companion.windowsPath-IoAF18A(ProtocolPath.kt:177)
  at fleet.protocol/fleet.api.ProtocolPath$Companion.parsePath-gIAlu-s(ProtocolPath.kt:208)
  at fleet.protocol/fleet.api.ProtocolPath$Companion.of(ProtocolPath.kt:199)
  at fleet.plugins.dotnet.common/fleet.plugins.dotnet.common.UtilsKt.getConfigDirectory(Utils.kt:89)
  at fleet.plugins.dotnet.workspace/fleet.plugins.dotnet.workspace.projectConfiguration.DotnetProjectConfiguratorEntity$DefaultImpls.startBackend(DotnetProjectConfiguratorEntity.kt:236)
  at fleet.plugins.dotnet.workspace/fleet.plugins.dotnet.workspace.projectConfiguration.DotnetProjectConfiguratorEntityGeneratedImpl.startBackend(DotnetProjectConfiguratorEntity.kt)
  at fleet.plugins.dotnet.workspace/fleet.plugins.dotnet.workspace.projectConfiguration.DotnetProjectConfiguratorEntity$serveBackend$3$1$2$1$1.invokeSuspend(DotnetProjectConfiguratorEntity.kt:195)
  at fleet.plugins.dotnet.workspace/fleet.plugins.dotnet.workspace.projectConfiguration.DotnetProjectConfiguratorEntity$serveBackend$3$1$2$1$1.invoke(DotnetProjectConfiguratorEntity.kt)
  at fleet.plugins.dotnet.workspace/fleet.plugins.dotnet.workspace.projectConfiguration.DotnetProjectConfiguratorEntity$serveBackend$3$1$2$1$1.invoke(DotnetProjectConfiguratorEntity.kt)
  at fleet.kernel/fleet.kernel.TrackedQueryKt$tryWithCondition$4$1$work$1.invokeSuspend(TrackedQuery.kt:592)
  at fleet.kernel/fleet.kernel.TrackedQueryKt$tryWithCondition$4$1$work$1.invoke(TrackedQuery.kt)
  at fleet.kernel/fleet.kernel.TrackedQueryKt$tryWithCondition$4$1$work$1.invoke(TrackedQuery.kt)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.BuildersKt__Builders_commonKt.async(Builders.common.kt:91)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.BuildersKt.async(Unknown Source)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.BuildersKt__Builders_commonKt.async$default(Builders.common.kt:82)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.BuildersKt.async$default(Unknown Source)
  at fleet.kernel/fleet.kernel.TrackedQueryKt$tryWithCondition$4$1.invokeSuspend(TrackedQuery.kt:592)
  at fleet.kernel/fleet.kernel.TrackedQueryKt$tryWithCondition$4$1.invoke(TrackedQuery.kt)
  at fleet.kernel/fleet.kernel.TrackedQueryKt$tryWithCondition$4$1.invoke(TrackedQuery.kt)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
  at fleet.kernel/fleet.kernel.TrackedQueryKt$tryWithCondition$4.invokeSuspend(TrackedQuery.kt:591)
  at fleet.kernel/fleet.kernel.TrackedQueryKt$tryWithCondition$4.invoke(TrackedQuery.kt)
  at fleet.kernel/fleet.kernel.TrackedQueryKt$tryWithCondition$4.invoke(TrackedQuery.kt)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:169)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
  at fleet.kernel/fleet.kernel.TrackedQueryKt.tryWithCondition(TrackedQuery.kt:590)
  at fleet.kernel/fleet.kernel.TrackedQueryKt.withCondition(TrackedQuery.kt:549)
  at fleet.kernel/fleet.kernel.SagaKt.withEntities(Saga.kt:119)
  at fleet.plugins.dotnet.workspace/fleet.plugins.dotnet.workspace.projectConfiguration.DotnetProjectConfiguratorEntity$serveBackend$3$1$2$1.invokeSuspend(DotnetProjectConfiguratorEntity.kt:188)
  at app/kotlin.stdlib/kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
  at kotlinx.coroutines.core.jvm@1.6.4/kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

If I set the path with quotes, it will appear in the error message where the square brackets are.

Proxy is set with env variables. I was getting an unkown cert error at one time. Proxy is set and working for Toolbox and I also have DataGrip installed and working.

 

 

 

 

0

And before you say it yes, it should be C:\Util\11392. I copied in the last attempt. I have it correct in my current Fleet.cfg

0

>I copied in the last attempt. I have it correct in my current Fleet.cfg

Do you mean it is working now?

If not - do you always get the We're supporting only DOS-style paths on Windows error - even when do not set the fleet.dotnet.backend.location property?

From this error - it looks like the fleet.app.config.path was re-defined. Have you changed this property?

0

It is not working. I get the DOS error regardless of what I put in fleet.cfg. I have not changed the path and uninstalled and reinstalled to verify that all defaults were used and we are at the same place. Before I make the change java-options=-Dfleet.dotnet.backend.location=C:\Util\11392 The error I get is that the proxy doesn't trust the cert. In other apps I'm presented with the cert with the ability to trust and things carry on. Will this be built into Fleet at some point, I understand we're looking at a preview.

0

>Before I make the change java-options=-Dfleet.dotnet.backend.location=C:\Util\11392 The error I get is that the proxy doesn't trust the cert. In other apps I'm presented with the cert with the ability to trust and things carry on. Will this be built into Fleet at some point, I understand we're looking at a preview.

Yes, we have such plans, please vote for this request: FL-12382 Add option to Accept non-trusted SSL certificates

0

Have you re-defined the user home on your system? For some reason on your machine it is detected as  \ac2knjs0204\Userdata\jglynn. Fleet uses this system property ("user.home") for the configuration directory path. 

0

I haven't but it certainly could be from our IT group. As I said we're on Citrix VDIs (horrible to say the least, I really miss my mac). Changes that I make in fleet.cfg are recognized if that helps. I'll dig around some more to see how this is setup.

 

0

So it appears that some of the home folders have been mapped to that server. Documents, Downloads, etc. AppData looks to be local under C:\Users\jglynn. A quick check using java shows user.home points to C:\Users\jglynn. There is a folder on that server that has "similiar" folder structure as my user.home. The only Fleet files I see there are Roming\localStorage. It contains a list of folders that have what appears to be hashed values as folder names. 

What a convoluted mess. Again, I miss working on a Mac day to day.

0

Please sign in to leave a comment.