Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash due to circular reference #96

Closed
bill-long opened this issue May 22, 2023 · 0 comments · Fixed by #97
Closed

Crash due to circular reference #96

bill-long opened this issue May 22, 2023 · 0 comments · Fixed by #97
Labels
bug Something isn't working

Comments

@bill-long
Copy link
Member

bill-long commented May 22, 2023

Event properties can have account information with circular references. This causes a crash when we attempt to write to the debug log.

2023-05-22T12:18:30.4408684-05:00 System.Text.Json.JsonException: A possible object cycle was detected. This can either be due to a cycle or if the object depth is larger than the maximum allowed depth of 64. Consider using ReferenceHandler.Preserve on JsonSerializerOptions to support cycles. Path: $.NewEvent.Properties.Value.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.AccountDomainSid.BinaryLength.
...
   at System.Text.Json.Serialization.JsonConverter`1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.GetMemberAndWriteJson(Object obj, WriteStack& state, Utf8JsonWriter writer)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryWrite(Utf8JsonWriter writer, T value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.Converters.IEnumerableDefaultConverter`2.OnWriteResume(Utf8JsonWriter writer, TCollection value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonCollectionConverter`2.OnTryWrite(Utf8JsonWriter writer, TCollection value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.GetMemberAndWriteJson(Object obj, WriteStack& state, Utf8JsonWriter writer)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryWrite(Utf8JsonWriter writer, T value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.GetMemberAndWriteJson(Object obj, WriteStack& state, Utf8JsonWriter writer)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryWrite(Utf8JsonWriter writer, T value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.WriteCore(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.WriteCoreAsObject(Utf8JsonWriter writer, Object value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.JsonSerializer.WriteCore[TValue](Utf8JsonWriter writer, TValue& value, JsonTypeInfo`1 jsonTypeInfo)
   at System.Text.Json.JsonSerializer.WriteString[TValue](TValue& value, JsonTypeInfo`1 jsonTypeInfo)
   at EventLogExpert.Store.LoggingMiddleware.BeforeDispatch(Object action)
   at Fluxor.Store.ExecuteMiddlewareBeforeDispatch(Object actionAboutToBeDispatched) in C:\Data\Mine\Code\Fluxor\Source\Lib\Fluxor\Store.cs:line 247
   at Fluxor.Store.DequeueActions() in C:\Data\Mine\Code\Fluxor\Source\Lib\Fluxor\Store.cs:line 287
   at Fluxor.Store.ActionDispatched(Object sender, ActionDispatchedEventArgs e) in C:\Data\Mine\Code\Fluxor\Source\Lib\Fluxor\Store.cs:line 173
   at Fluxor.Dispatcher.Dispatch(Object action) in C:\Data\Mine\Code\Fluxor\Source\Lib\Fluxor\Dispatcher.cs:line 51
   at EventLogExpert.Store.EventLog.LiveLogWatcher.<StartWatching>b__9_0(Object watcher, EventRecordWrittenEventArgs eventArgs)
   at System.Diagnostics.Eventing.Reader.EventLogWatcher.HandleEventsRequestCompletion()
   at System.Diagnostics.Eventing.Reader.EventLogWatcher.RequestEvents()
   at System.Diagnostics.Eventing.Reader.EventLogWatcher.SubscribedEventsAvailableCallback(Object state, Boolean timedOut)
   at System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context_f(Object state)
@bill-long bill-long added the bug Something isn't working label May 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant