graphql-dotnet / graphql-dotnet/graphql-client

OutOfMemory Exception

Open
#356 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
648
Forks
136
PR merge metrics
No merged PRs in 30d

Description

Hi,

we are getting outOfMemory exception after 700-800 request executes successfully.

Error stack : System.OutOfMemoryException:
at System.Threading.Thread.StartInternal (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Threading.Thread.Start (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Reactive.Concurrency.EventLoopScheduler.EnsureThread (System.Reactive, Version=4.3.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263)
at System.Reactive.Concurrency.EventLoopScheduler.Schedule (System.Reactive, Version=4.3.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263)
at System.Reactive.Concurrency.LocalScheduler.Schedule (System.Reactive, Version=4.3.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263)
at System.Reactive.Concurrency.Scheduler.Schedule (System.Reactive, Version=4.3.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263)
at GraphQL.Client.Http.Websocket.GraphQLHttpWebSocket..ctor (GraphQL.Client, Version=3.0.3.0, Culture=neutral, PublicKeyToken=null)
at GraphQL.Client.Http.GraphQLHttpClient..ctor (GraphQL.Client, Version=3.0.3.0, Culture=neutral, PublicKeyToken=null)
at GraphQL.Client.Http.GraphQLHttpClient..ctor (GraphQL.Client, Version=3.0.3.0, Culture=neutral, PublicKeyToken=null)
at SmartX.Bot.Services.BaseApiClient..ctor (SmartX.Bot.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)
at SmartX.Bot.Services.OotfExperiences.OotfExperienceApiClient..ctor (SmartX.Bot.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)
at CalendarSkill.Services.OotfXAPI.OotfxCalendarApi.InitOotfExperienceApiClient (CalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=nullCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: D:\a\1\s\calendarskill-JCI\calendarskill\Services\OotfXAPI\OotfxCalendarAPI.csCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: 455)
at CalendarSkill.Services.ServiceManager.InitCalendarService (CalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=nullCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: D:\a\1\s\calendarskill-JCI\calendarskill\Services\ServiceManager.csCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: 47)
at CalendarSkill.Dialogs.CalendarSkillDialogBase+d__38.MoveNext (CalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=nullCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: D:\a\1\s\calendarskill-JCI\calendarskill\Dialogs\CalendarSkillDialogBase.csCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: 353)

Code:

public readonly GraphQLHttpClient ApiClient;

public BaseApiClient(Connection connection, OAuthDetails oAuthDetails)
{
this._apiConnection = connection ?? throw new ArgumentNullException(nameof(connection));
this._oAuthDetails = oAuthDetails ?? throw new ArgumentNullException(nameof(oAuthDetails));
if (connection.EndPointUri == null) throw new ArgumentNullException(nameof(connection.EndPointUri));
this.ApiClient = new GraphQLHttpClient(connection.EndPointUri, new NewtonsoftJsonSerializer());
this.ApiClient.HttpClient.DefaultRequestHeaders.Clear();
this.AddTokenToRequestHeaders();
if (connection.CollectionId.HasValue())
{
this.ApiClient.HttpClient.DefaultRequestHeaders.Add("collectionId", connection.CollectionId);
}
}

This is how we are disposing objects:
this.ApiClient.HttpClient.Dispose();
this.ApiClient.Dispose();

can someone help us in fixing the issue?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.