OlympiaServer - Crash sometimes

I have been using OlympiaServer version 10.0.0.1555 on many clients without any problems, but recently on a single client it started to crash sporadically. I can’t generate a sample project because the problem is random. This client runs on a Windows Server 2012 R2. Some captured log messages from the windows event viewer are:

Exception occurred: Referência de objeto não definida para uma instância de um objeto.
Stack: em RemObjects.Olympia.OlympiaEngine.RegisterEventRecipient(Guid serverId, Guid sessionId, Boolean activeListener)
em RemObjects.Olympia.OlympiaEngine.RestartActiveEventRecipients(Guid serverId)
em RemObjects.Olympia.OlympiaEngine.RegisterServer(Guid serverId)
em RemObjects.Olympia.OlympiaNetworkServer.Server_OnConnected(Object sender, IServerChannelInfo info, Guid clientId)
em RemObjects.SDK.Server.SuperTcpServerChannel.TriggerOnConnected(IServerChannelInfo channel, Guid clientId)
em RemObjects.SDK.Server.SuperTcpServerChannelWorker.SetupClientConnection()
em RemObjects.SDK.SuperTcpChannelWorker.ServerWelcomeCallback(IAsyncResult ar)
em RemObjects.SDK.Connection.IntReadCallback(IAsyncResult ar)
em System.Net.LazyAsyncResult.Complete(IntPtr userToken)
em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
em System.Net.ContextAwareResult.Complete(IntPtr userToken)
em System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
em System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
em System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Aplicativo: ROOlympiaServer.exe
Versão do Framework: v4.0.30319
Descrição: O processo foi terminado devido a uma exceção sem tratamento.
Informações da Exceção: System.NullReferenceException
em RemObjects.Olympia.OlympiaEngine.RegisterEventRecipient(System.Guid, System.Guid, Boolean)
em RemObjects.Olympia.OlympiaEngine.RestartActiveEventRecipients(System.Guid)
em RemObjects.Olympia.OlympiaEngine.RegisterServer(System.Guid)
em RemObjects.Olympia.OlympiaNetworkServer.Server_OnConnected(System.Object, RemObjects.SDK.Server.IServerChannelInfo, System.Guid)
em RemObjects.SDK.Server.SuperTcpServerChannel.TriggerOnConnected(RemObjects.SDK.Server.IServerChannelInfo, System.Guid)
em RemObjects.SDK.Server.SuperTcpServerChannelWorker.SetupClientConnection()
em RemObjects.SDK.SuperTcpChannelWorker.ServerWelcomeCallback(System.IAsyncResult)
em RemObjects.SDK.Connection.IntReadCallback(System.IAsyncResult)
em System.Net.LazyAsyncResult.Complete(IntPtr)
em System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
em System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
em System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
em System.Net.ContextAwareResult.Complete(IntPtr)
em System.Net.LazyAsyncResult.ProtectedInvokeCallback(System.Object, IntPtr)
em System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
em System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)

Nome do aplicativo com falha: ROOlympiaServer.exe, versão: 10.0.0.1555, carimbo de data/hora: 0x63a0a988
Nome do módulo com falha: unknown, versão: 0.0.0.0, carimbo de data/hora: 0x00000000
Código de exceção: 0xc0000005
Deslocamento da falha: 0x00007ffba8461710
ID do processo com falha: 0x1e70
Hora de início do aplicativo com falha: 0x01da9353617a212a
Caminho do aplicativo com falha: C:\Pmedico\Pserver\PServerSession\ROOlympiaServer.exe
Caminho do módulo com falha: unknown
ID do Relatório: 8e03fbfd-00db-11ef-817f-000c291fe31d
Nome completo do pacote com falha:
ID do aplicativo relativo ao pacote com falha:

Hi,

you are using a bit outdated version created 1,5 years ago. Can you retest the latest stable or preview with this client, pls?


What database engine is used for Olympia? if you haven’t changed Olympia.daConnections then SQLite.NET.

If you change database engine for this client, will it solve this case?

I’ll try to add some logging to OlympiaEngine.RegisterEventRecipient method. it will allow to detect what exactly causes NRE

We use InMemoryMode=True with all clients. I’ll update to latest version next week and retest. Thanks for now.