Remote debugger on Linux throws exception: Environment variable 'ENUMERATOR_PARENT_PROCESS_PID' is not defined

I added the SSH connection information to a Linux server in the Settings, and then tried Run -> Attach to Remote Process. It was stuck at "loading...". I checked the log on the Linux sever, and it seemed that basically, it throws "Environment variable 'ENUMERATOR_PARENT_PROCESS_PID' is not defined => do not watch parent process to die", and then "SerializationHash doesn't match to counterpart: maybe you forgot to generate models?"

Can I fix this?

12:16:07.873 |E| ProcessWatchdog               | :1                 | Environment variable 'ENUMERATOR_PARENT_PROCESS_PID' is not defined => do not watch parent process to die

--- EXCEPTION #1/1 [LoggerException]
Message = “Environment variable 'ENUMERATOR_PARENT_PROCESS_PID' is not defined => do not watch parent process to die”
ExceptionPath = Root
ClassName = JetBrains.Util.LoggerException
HResult = COR_E_APPLICATION=80131600
StackTraceString = “
  at JetBrains.Util.LoggerBase.Log(LoggingLevel level, String message, Exception ex)
     at JetBrains.Diagnostics.Log.SwitchingLog.JetBrains.Diagnostics.ILog.Log(LoggingLevel level, String message, Exception exception)
     at JetBrains.Diagnostics.LogEx.Error(ILog logger, JetLogErrorInterpolatedStringHandler& messageHandler)
     at JetBrains.Diagnostics.ProcessWatchdog.StartWatchdogForPidEnvironmentVariable(String envVarName, Lifetime lifetime, Nullable`1 gracefulShutdownPeriod, Action beforeProcessKill)
     at JetBrains.Diagnostics.ProcessWatchdog.StartWatchdogForPidEnvironmentVariable(String envVarName, Action beforeProcessKill)
     at JetBrains.Rider.Backend.MsClrProcessEnumerator.Worker.EntryPoint.<>c.<Main>b__2_0()
     at JetBrains.Util.Logging.Logger.Catch(Action action)
     at JetBrains.Rider.Backend.MsClrProcessEnumerator.Worker.EntryPoint.Main()


12:16:07.993 |V| DebuggerProcessAgentMaster    | :1                 | Starting agent on port 34889
12:16:08.002 |V| ClientSocket-ProcessEnumeratorWorker-Sender| :1                 | PAUSE ('Disconnected') :: state=Initialized
12:16:08.009 |V| Client                        | ClientSocket-ProcessEnumeratorWorker-Receiver:9 | ClientSocket-ProcessEnumeratorWorker : started
12:16:08.014 |V| Client                        | ClientSocket-ProcessEnumeratorWorker-Receiver:9 | ClientSocket-ProcessEnumeratorWorker: connecting to 127.0.0.1:34889.
12:16:08.015 |V| Client                        | ClientSocket-ProcessEnumeratorWorker-Receiver:9 | ClientSocket-ProcessEnumeratorWorker : connected
12:16:08.018 |V| ClientSocket-ProcessEnumeratorWorker-Sender| ClientSocket-ProcessEnumeratorWorker-Receiver:9 | RESUME :: state=AsyncProcessing
12:16:08.065 |E|                               | ClientSocket-ProcessEnumeratorWorker-Receiver:9 | DebuggerProcessAgentModel ( calculateProcesses = RdCall<bool, CalculateProcessesResult> traceCategories = RdProperty<List<string>>(ver=0) [ <not initialized> ] heartbeatPing = RdSignal<bool> heartbeatPong = RdSignal<bool> logError = RdSignal<string>) : SerializationHash doesn't match to counterpart: maybe you forgot to generate models?Our: `$-3428601384483571247` counterpart: -2250185560150055822

--- EXCEPTION #1/2 [AssertionException]
Message = “DebuggerProcessAgentModel (  calculateProcesses = RdCall<bool, CalculateProcessesResult>  traceCategories = RdProperty<List<string>>(ver=0) [ <not initialized> ]  heartbeatPing = RdSignal<bool>  heartbeatPong = RdSignal<bool>  logError = RdSignal<string>) : SerializationHash doesn't match to counterpart: maybe you forgot to generate models?Our: `$-3428601384483571247` counterpart: -2250185560150055822”
ExceptionPath = Root.InnerException
ClassName = JetBrains.Diagnostics.Assertion+AssertionException
HResult = COR_E_EXCEPTION=80131500
Source = JetBrains.Lifetimes
StackTraceString = “
  at JetBrains.Diagnostics.Assertion.Fail(String message)
     at JetBrains.Rd.Base.RdExtBase.OnWireReceived(UnsafeReader reader)
     at JetBrains.Rd.Impl.MessageBroker.Execute(IRdWireable reactive, Byte[] msg)
     at JetBrains.Rd.Impl.MessageBroker.<>c__DisplayClass10_0.<Invoke>b__0()
     at JetBrains.Collections.Viewable.SynchronousScheduler.Execute(Action action)
     at JetBrains.Collections.Viewable.SynchronousScheduler.Queue(Action action)
     at JetBrains.Rd.Impl.MessageBroker.Invoke(IRdWireable reactive, Byte[] msg, Boolean sync)
     at JetBrains.Rd.Impl.MessageBroker.Dispatch(RdId id, Byte[] msg)
     at JetBrains.Rd.WireBase.<>c__DisplayClass16_0.<Receive>b__0()
     at JetBrains.Diagnostics.LogEx.Catch(ILog log, Action action)


--- Outer ---

--- EXCEPTION #2/2 [LoggerException]
Message = “DebuggerProcessAgentModel (  calculateProcesses = RdCall<bool, CalculateProcessesResult>  traceCategories = RdProperty<List<string>>(ver=0) [ <not initialized> ]  heartbeatPing = RdSignal<bool>  heartbeatPong = RdSignal<bool>  logError = RdSignal<string>) : SerializationHash doesn't match to counterpart: maybe you forgot to generate models?Our: `$-3428601384483571247` counterpart: -2250185560150055822”
ExceptionPath = Root
ClassName = JetBrains.Util.LoggerException
InnerException = “Exception #1 at Root.InnerException”
HResult = COR_E_APPLICATION=80131600
StackTraceString = “
  at JetBrains.Util.LoggerBase.Log(LoggingLevel level, String message, Exception ex)
     at JetBrains.Diagnostics.Log.SwitchingLog.JetBrains.Diagnostics.ILog.Log(LoggingLevel level, String message, Exception exception)
     at JetBrains.Diagnostics.LogEx.Error(ILog this, Exception ex, String message)
     at JetBrains.Diagnostics.LogEx.Catch(ILog log, Action action)
     at JetBrains.Rd.WireBase.Receive(Byte[] msg)
     at JetBrains.Rd.Impl.SocketWire.Base.ReadMsg()
     at JetBrains.Rd.Impl.SocketWire.Base.ReceiverProc(Socket socket)
     at JetBrains.Rd.Impl.SocketWire.Base.<>c__DisplayClass19_0.<.ctor>b__1(Socket socket)
     at JetBrains.Collections.Viewable.SignalBase`1.Fire(T value)
     at JetBrains.Collections.Viewable.ViewableProperty`1.set_Value(T value)
     at JetBrains.Rd.Impl.SocketWire.Client.<>c__DisplayClass1_0.<.ctor>b__0()
     at System.Threading.Thread.StartCallback()


12:16:08.096 |E|                               | ClientSocket-ProcessEnumeratorWorker-Receiver:9 | DebuggerProcessAgentModel ( calculateProcesses = RdCall<bool, CalculateProcessesResult> traceCategories = RdProperty<List<string>>(ver=0) [ <not initialized> ] heartbeatPing = RdSignal<bool> heartbeatPong = RdSignal<bool> logError = RdSignal<string>) : SerializationHash doesn't match to counterpart: maybe you forgot to generate models?Our: `$-3428601384483571247` counterpart: -2250185560150055822

--- EXCEPTION #1/2 [AssertionException]
Message = “DebuggerProcessAgentModel (  calculateProcesses = RdCall<bool, CalculateProcessesResult>  traceCategories = RdProperty<List<string>>(ver=0) [ <not initialized> ]  heartbeatPing = RdSignal<bool>  heartbeatPong = RdSignal<bool>  logError = RdSignal<string>) : SerializationHash doesn't match to counterpart: maybe you forgot to generate models?Our: `$-3428601384483571247` counterpart: -2250185560150055822”
ExceptionPath = Root.InnerException
ClassName = JetBrains.Diagnostics.Assertion+AssertionException
HResult = COR_E_EXCEPTION=80131500
Source = JetBrains.Lifetimes
StackTraceString = “
  at JetBrains.Diagnostics.Assertion.Fail(String message)
     at JetBrains.Rd.Base.RdExtBase.OnWireReceived(UnsafeReader reader)
     at JetBrains.Rd.Impl.MessageBroker.Execute(IRdWireable reactive, Byte[] msg)
     at JetBrains.Rd.Impl.MessageBroker.<>c__DisplayClass10_0.<Invoke>b__0()
     at JetBrains.Collections.Viewable.SynchronousScheduler.Execute(Action action)
     at JetBrains.Collections.Viewable.SynchronousScheduler.Queue(Action action)
     at JetBrains.Rd.Impl.MessageBroker.Invoke(IRdWireable reactive, Byte[] msg, Boolean sync)
     at JetBrains.Rd.Impl.MessageBroker.Dispatch(RdId id, Byte[] msg)
     at JetBrains.Rd.WireBase.<>c__DisplayClass16_0.<Receive>b__0()
     at JetBrains.Diagnostics.LogEx.Catch(ILog log, Action action)


--- Outer ---

--- EXCEPTION #2/2 [LoggerException]
Message = “DebuggerProcessAgentModel (  calculateProcesses = RdCall<bool, CalculateProcessesResult>  traceCategories = RdProperty<List<string>>(ver=0) [ <not initialized> ]  heartbeatPing = RdSignal<bool>  heartbeatPong = RdSignal<bool>  logError = RdSignal<string>) : SerializationHash doesn't match to counterpart: maybe you forgot to generate models?Our: `$-3428601384483571247` counterpart: -2250185560150055822”
ExceptionPath = Root
ClassName = JetBrains.Util.LoggerException
InnerException = “Exception #1 at Root.InnerException”
HResult = COR_E_APPLICATION=80131600
StackTraceString = “
  at JetBrains.Util.LoggerBase.Log(LoggingLevel level, String message, Exception ex)
     at JetBrains.Diagnostics.Log.SwitchingLog.JetBrains.Diagnostics.ILog.Log(LoggingLevel level, String message, Exception exception)
     at JetBrains.Diagnostics.LogEx.Error(ILog this, Exception ex, String message)
     at JetBrains.Diagnostics.LogEx.Catch(ILog log, Action action)
     at JetBrains.Rd.WireBase.Receive(Byte[] msg)
     at JetBrains.Rd.Impl.SocketWire.Base.ReadMsg()
     at JetBrains.Rd.Impl.SocketWire.Base.ReceiverProc(Socket socket)
     at JetBrains.Rd.Impl.SocketWire.Base.<>c__DisplayClass19_0.<.ctor>b__1(Socket socket)
     at JetBrains.Collections.Viewable.SignalBase`1.Fire(T value)
     at JetBrains.Collections.Viewable.ViewableProperty`1.set_Value(T value)
     at JetBrains.Rd.Impl.SocketWire.Client.<>c__DisplayClass1_0.<.ctor>b__0()
     at System.Threading.Thread.StartCallback()


12:16:08.100 |V| Client                        | ClientSocket-ProcessEnumeratorWorker-Receiver:9 | ClientSocket-ProcessEnumeratorWorker Connection was gracefully shutdown
12:16:08.100 |V| Client                        | ClientSocket-ProcessEnumeratorWorker-Receiver:9 | ClientSocket-ProcessEnumeratorWorker: Total traffic: sent 13610, received 209
12:16:08.100 |V| ClientSocket-ProcessEnumeratorWorker-Sender| ClientSocket-ProcessEnumeratorWorker-Receiver:9 | PAUSE ('Disconnected') :: state=AsyncProcessing
8 comments
Comment actions Permalink

Hello homer simpson

Thank you for contacting Rider Support.
Could you please reproduce the issue and collect the full log bundle so we could take a closer look at the case? You can upload it to our server and share the ID. 

Thank you in advance and have a great day!

0
Comment actions Permalink

Upload id: 2022_10_28_21cDM4kwK2KR6x7Cp8LaCF (file: rider-logs-20221027-2037577873640315135672963.zip)

I tested it with two freshly-installed, normal-installation Ubuntu 22.04.1 virtual machines with nothing changed from the factory settings other than installing Rider (from Ubuntu Software) and dotnet SDK (from Ubuntu's official repository) on the client side and openssh-server (+ allowing ssh through firewall) on the server side. Rider could not connect to the remote host, and exceptions happened in the logs on the server side.

1
Comment actions Permalink

Alexandra Guk

Hello, have you reproduced the problem? 'Cause I have the same problem with the attaching to a remote proccess on a linux server with the same error  "exception: Environment variable 'ENUMERATOR_PARENT_PROCESS_PID' is not defined".  Furthermore, the error makes me sad, 'cause I have a payment subscription for all products, but I gotta install  Visual Studio to solve my problem. Please, fix the problem

Rider with version 2022.2...has the problem but Rider with version 2022.1.2 works great.

0
Comment actions Permalink

I am also experiencing this error when attempting to attach to a remote process.

As indicated by Seregakupel46, Using Rider 2022.1.2 works, however 2022.2.X (2022.2.3 in my environment) fails.

0
Comment actions Permalink

Hi Tgeorge, Seregakupel46

Thank you for the details. The issue is related to a known problem that will be fixed in Rider 2022.2.4 and one of the upcoming EAPs. 

I hope this helps! 

Should you have any other questions, let us know. 

Have a great day! 

2
Comment actions Permalink

@Alexandra Guk 

thanks a lot for the fixing, the error "exception: Environment variable 'ENUMERATOR_PARENT_PROCESS_PID' is not defined" has gone in 2022.2.4

But I have a question. Can Rider  debug an app in the  remote docker container via SSH like Visual Studio does? The same question on Stackoverflow https://stackoverflow.com/questions/70964260/rider-debug-remote-applications-running-in-a-docker-container-on-wsl2-via-ssh#:~:text=There%20is%20Rider's%20documentation%20on,a%20docker%20container%20inside%20WSL2.

0
Comment actions Permalink

Hi! 

It is not supported yet, unfortunately, Here is the issue you can follow and vote: RIDER-51109/Debug-NET-Core-Apps-in-WSL-2

1
Comment actions Permalink

Alexandra Guk thank you for the response

0

Please sign in to leave a comment.