Page 1 of 2

Krashande klient

Posted: Sat 18 Nov 2017, 18:32
by mesomorf
Blev intresserad av "nystarten" av Switchking och valde att uppgradera min licens för att få in den senaste versionen.
Efter det så funkar min klient i ca 1 minut. Sen blir allt slött och slutar svara. Ger även felmeddelande om timeout.
Startar jag om SK tjänsterna så kan jag sedan starta upp klienten igen och snabbt justera det som behövs innan det fryser igen.
Driftmässigt är allt ok.
Servern är på en Win 2012 R2 64-bit och det spelar ingen roll om jag kör klienten lokalt (Win10) eller direkt på servern.. samma fenomen.

Har även provat att plocka bort aktiverade plugins ..samma sak

Och nej, inte slut på minne i servern, den ligger på stadiga 50-60% när jag kollar.


UPPDATERING: Nej nu funkar inte ens att starta om tjänster, kan inte komma in med klienten öht.

Se logg för mer info:

Code: Select all

{WCFServices - Service Request} --<Error> -- 2017-11-18 14:41:33 -- Request failed for GetDataSourceById.
Exception: Exception of type 'System.OutOfMemoryException' was thrown.. 
StackTrace:    at System.Collections.Generic.List`1.ToArray()
   at SwitchKing.Server.BusinessAccess.Cache.EntityPool.IntegerEntityPool.GetAllFromPool(Type t)
   at SwitchKing.Server.BusinessAccess.Cache.EntityPool.GetAllFromPool(Type t)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceValueEntity.GetDataSourceValues()
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.GetDataSourceValuesByDataSourceId(Int32 id, DataSourceValueEntity& dsvAccess)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.PopulateWithValueData(DataSource& ds, DataSourceValueEntity& dsvAccess)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.PopulateWithValueData(DataSource[]& ds, DataSourceValueEntity& dsvAccess)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.PopulateWithValueData(DataSource[]& ds)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.GetDataSources(Boolean includeValueData)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.GetDataSourceById(Int32 id, Boolean includeValueData)
   at SwitchKing.Server.WCFServices.FrameworkData.GetDataSourceById(Int32 id, Boolean includeLastValueData)
{UnhandledExceptionController_Framework} --<Critical> -- 2017-11-18 14:41:33 -- Exception: 
System.OutOfMemoryException

Level 1) Exception of type 'System.OutOfMemoryException' was thrown.

StackTrace for Level 1:
   at System.Collections.Generic.List`1.ToArray()
   at SwitchKing.Server.BusinessAccess.Cache.EntityPool.IntegerEntityPool.GetAllFromPool(Type t)
   at SwitchKing.Server.BusinessAccess.Cache.EntityPool.GetAllFromPool(Type t)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceValueEntity.GetDataSourceValues()
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.GetDataSourceValuesByDataSourceId(Int32 id, DataSourceValueEntity& dsvAccess)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.PopulateWithValueData(DataSource& ds, DataSourceValueEntity& dsvAccess)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.PopulateWithValueData(DataSource[]& ds, DataSourceValueEntity& dsvAccess)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.PopulateWithValueData(DataSource[]& ds)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.GetDataSources(Boolean includeValueData)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.GetDataSourceById(Int32 id, Boolean includeValueData)
   at SwitchKing.Server.WCFServices.FrameworkData.GetDataSourceById(Int32 id, Boolean includeLastValueData)
   at SyncInvokeGetDataSourceById(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.Dispatch(MessageRpc& rpc, Boolean isOperationContextSet)
   at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
   at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
   at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
   at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
   at System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
   at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)
   at System.ServiceModel.Channels.InputQueue`1.AsyncQueueReader.Set(Item item)
   at System.ServiceModel.Channels.InputQueue`1.EnqueueAndDispatch(Item item, Boolean canDispatchOnThisThread)
   at System.ServiceModel.Channels.InputQueue`1.EnqueueAndDispatch(T item, ItemDequeuedCallback dequeuedCallback, Boolean canDispatchOnThisThread)
   at System.ServiceModel.Channels.InputQueueChannel`1.EnqueueAndDispatch(TDisposable item, ItemDequeuedCallback dequeuedCallback, Boolean canDispatchOnThisThread)
   at System.ServiceModel.Channels.SingletonChannelAcceptor`3.Enqueue(QueueItemType item, ItemDequeuedCallback dequeuedCallback, Boolean canDispatchOnThisThread)
   at System.ServiceModel.Channels.HttpChannelListener.HttpContextReceived(HttpRequestContext context, ItemDequeuedCallback callback)
   at System.ServiceModel.Channels.SharedHttpTransportManager.OnGetContextCore(IAsyncResult result)
   at System.ServiceModel.Channels.SharedHttpTransportManager.OnGetContext(IAsyncResult result)
   at System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
   at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
   at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
   at System.Net.ListenerAsyncResult.WaitCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
{UnhandledExceptionController_Framework} --<Critical> -- 2017-11-18 14:41:33 -- Exception: 
System.OutOfMemoryException

Level 1) Exception of type 'System.OutOfMemoryException' was thrown.

StackTrace for Level 1:
   at System.Collections.Generic.List`1.ToArray()
   at SwitchKing.Server.BusinessAccess.Cache.EntityPool.IntegerEntityPool.GetAllFromPool(Type t)
   at SwitchKing.Server.BusinessAccess.Cache.EntityPool.GetAllFromPool(Type t)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceValueEntity.GetDataSourceValues()
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.GetDataSourceValuesByDataSourceId(Int32 id, DataSourceValueEntity& dsvAccess)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.PopulateWithValueData(DataSource& ds, DataSourceValueEntity& dsvAccess)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.PopulateWithValueData(DataSource[]& ds, DataSourceValueEntity& dsvAccess)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.PopulateWithValueData(DataSource[]& ds)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.GetDataSources(Boolean includeValueData)
   at SwitchKing.Server.BusinessAccess.DataCollection.DataSourceAccess.DataSourceEntity.GetDataSourceById(Int32 id, Boolean includeValueData)
   at SwitchKing.Server.WCFServices.FrameworkData.GetDataSourceById(Int32 id, Boolean includeLastValueData)
   at SyncInvokeGetDataSourceById(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.Dispatch(MessageRpc& rpc, Boolean isOperationContextSet)
   at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
   at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
   at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
   at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
   at System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
   at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)
   at System.ServiceModel.Channels.InputQueue`1.AsyncQueueReader.Set(Item item)
   at System.ServiceModel.Channels.InputQueue`1.EnqueueAndDispatch(Item item, Boolean canDispatchOnThisThread)
   at System.ServiceModel.Channels.InputQueue`1.EnqueueAndDispatch(T item, ItemDequeuedCallback dequeuedCallback, Boolean canDispatchOnThisThread)
   at System.ServiceModel.Channels.InputQueueChannel`1.EnqueueAndDispatch(TDisposable item, ItemDequeuedCallback dequeuedCallback, Boolean canDispatchOnThisThread)
   at System.ServiceModel.Channels.SingletonChannelAcceptor`3.Enqueue(QueueItemType item, ItemDequeuedCallback dequeuedCallback, Boolean canDispatchOnThisThread)
   at System.ServiceModel.Channels.HttpChannelListener.HttpContextReceived(HttpRequestContext context, ItemDequeuedCallback callback)
   at System.ServiceModel.Channels.SharedHttpTransportManager.OnGetContextCore(IAsyncResult result)
   at System.ServiceModel.Channels.SharedHttpTransportManager.OnGetContext(IAsyncResult result)
   at System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
   at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
   at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
   at System.Net.ListenerAsyncResult.WaitCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:50 -- Running version 3.5.1 of server and version 2.5.5 of DB.
{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:50 -- Build date and time for this version is 2017-09-23 12:20:14.
{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:50 -- Telldus version is 2.1.2.
{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:50 -- Validating database version and executing upgrade scripts.
{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:50 -- No upgrade performed. Database version is already up to date.
{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:50 -- Status of license is Valid.
{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:50 -- Opening service channel for Framework.
{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:51 -- Service channel for Framework opened.
{Plugin Loading} --<Status> -- 2017-11-18 14:44:52 -- Creating plugin of type SwitchKing.Server.Plugins.PingChecker.Plugin.
{Plugin Loading} --<Status> -- 2017-11-18 14:44:52 -- Creating plugin of type SwitchKing.Server.Plugins.ScriptExecutor.Plugin.
{Plugin Loading} --<Status> -- 2017-11-18 14:44:52 -- Creating plugin of type SwitchKing.Server.Plugins.ResettableDataSourceValueTimer.Plugin.
{Plugin Loading} --<Status> -- 2017-11-18 14:44:52 -- Already created plugin of type SwitchKing.Server.Plugins.ResettableDataSourceValueTimer.Plugin. Binding to existing object.
{Plugin Loading} --<Status> -- 2017-11-18 14:44:52 -- Already created plugin of type SwitchKing.Server.Plugins.ResettableDataSourceValueTimer.Plugin. Binding to existing object.
{Invocation Service - Execution} --<Status> -- 2017-11-18 14:44:52 -- Initiating maintenance
{REST Service - Startup} --<Status> -- 2017-11-18 14:44:52 -- Opening service channel for REST.
{REST Service - Startup} --<Status> -- 2017-11-18 14:44:53 -- Service channel for REST opened.
{Invocation Service - Execution} --<Status> -- 2017-11-18 14:44:53 -- Shrinking DB
{Invocation Service - Execution} --<Status> -- 2017-11-18 14:45:05 -- Maintenance completed
{Invocation Service - Execution} --<Status> -- 2017-11-18 14:45:05 -- Storing power consumption data
{Invocation Service - Execution} --<Status> -- 2017-11-18 14:45:05 -- Power consumption data stored

Re: Krashande klient

Posted: Sat 18 Nov 2017, 18:37
by mesomorf
Skärmklipp.PNG

Re: Krashande klient

Posted: Sun 19 Nov 2017, 08:40
by mesomorf
Ok, det verkar som ni fått med er en gammal bugg som funnits i evigheter.
Hör av er om ni vill veta vart ert problem finns. Jag har tillsvidare gjort en "workaround"

Re: Krashande klient

Posted: Sun 26 Nov 2017, 21:30
by Thrylos
Absolut.
Du får även gärna skicka vilken version du använder av klient resp. server, d.v.s. om du kör senaste, 3.5.1. resp. 3.2.4.
Berätta gärna även lite om din "workaround", alltid intressant.

Re: Krashande klient

Posted: Wed 06 Dec 2017, 18:43
by Thrylos
Haft en sittning med vår utvecklare.
Skulle det vara möjligt att få lite mer info kring "krashande klient".
Behöver b.l.a. uppgifter som vilken version du använder av server, d.v.s. om du kör senaste, 3.5.1 eller rent av 3.6.0 resp. gällande klienten om det är 3.2.4.
Samma sak gällande hur du lyckats gå runt felet.

Re: Krashande klient

Posted: Wed 06 Dec 2017, 20:46
by mesomorf
Thrylos wrote:
Wed 06 Dec 2017, 18:43
Haft en sittning med vår utvecklare.
Skulle det vara möjligt att få lite mer info kring "krashande klient".
Behöver b.l.a. uppgifter som vilken version du använder av server, d.v.s. om du kör senaste, 3.5.1 eller rent av 3.6.0 resp. gällande klienten om det är 3.2.4.
Samma sak gällande hur du lyckats gå runt felet.
Info om servern stod i loggen:

{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:50 -- Running version 3.5.1 of server and version 2.5.5 of DB.
{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:50 -- Build date and time for this version is 2017-09-23 12:20:14.
{Framework Service - Startup} --<Status> -- 2017-11-18 14:44:50 -- Telldus version is 2.1.2.


Klienten är 3.2.4

Re: Krashande klient

Posted: Wed 06 Dec 2017, 20:55
by mesomorf
Buggen består av att om du har massa scheman (jag har 27st) och börjar inaktivera dem så blir systemet segare för varje schema du inaktiverar.

Jag har påbörjat en migrering till Domoticz och för varje ny regel/funktion i Domoticz som jag la över så inaktiverade jag ett schema.

Men fixa gärna så man kan inaktivera scheman utan att det ska påverka prestandan. Det är väl någon loop som blir värre å värre gissar jag

Re: Krashande klient

Posted: Wed 13 Dec 2017, 09:20
by mesomorf
Fixa spamskydd tack.

Re: Krashande klient

Posted: Wed 07 Mar 2018, 20:41
by maghan
Vi tar med oss detta felet i nästa utvecklingsfas och ser om vi kan återskapa felet.
Givetvis ska vi komma tillrätta med detta.

För att ha bästa chans att hitta buggen skulle jag dock behöva ett par förtydligande.

Är det enhetsschema, gruppschema eller både och som ger detta problem?
Hur gick du tillväga när du inaktiverade dessa?

Re: Krashande klient

Posted: Wed 07 Mar 2018, 20:48
by mesomorf
Det är gruppschema och jag inaktiverar genom att kryssa ur "Använd shemat (för länkade enheter)"