Skip to content

Bug in IntervalList causes leak in locks. #1784

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

Closed
lukebakken opened this issue Feb 20, 2025 · 4 comments · Fixed by #1790
Closed

Bug in IntervalList causes leak in locks. #1784

lukebakken opened this issue Feb 20, 2025 · 4 comments · Fixed by #1790
Assignees
Labels
Milestone

Comments

@lukebakken
Copy link
Collaborator

Describe the bug

Reported here:
#1751 (comment)

Reproduction steps

Not provided.

Expected behavior

MonitorHeld metric does not increase.

Additional context

#1751

@lukebakken
Copy link
Collaborator Author

@DenisMayorko - do you see the same symptoms as initially reported in this issue - what appears to be a deadlock in CloseAsync? My guess is yes based on the output you provided but I'd like to be sure.

@DenisMayorko
Copy link

@DenisMayorko - do you see the same symptoms as initially reported in this issue - what appears to be a deadlock in CloseAsync? My guess is yes based on the output you provided but I'd like to be sure.

Hmm… I see a large number of ShutdownEvent and a corresponding deadlock, an increase in the number of timers, etc., but I don’t see any mentions of Close or Dispose methods in the StackTrace. I’m starting to doubt that the issues are related, although the problem also seems to occur when shutting down the channel, judging by the call stack.

I also see a large number of the following dumpasync outputs; in the version after the changes, they are significantly fewer.

<< Awaiting: 00007e21d0837818 00007f2a0d6c0018 System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<System.Boolean>+ConfiguredValueTaskAwaiter >>
  00007e21d08376f0 00007f2a0db9ca88 (6) RabbitMQ.Client.ConsumerDispatching.AsyncConsumerDispatcher+<ProcessChannelAsync>d__1
    00007e21cda354c8 00007f2a0db70800 ( ) System.Threading.Tasks.UnwrapPromise<System.Threading.Tasks.VoidTaskResult>

@lukebakken
Copy link
Collaborator Author

@DenisMayorko - please give version 7.1.1-alpha.0 a test in your environment. It's available here:

https://www.myget.org/feed/rabbitmq-dotnet-client/package/nuget/RabbitMQ.Client

@lukebakken
Copy link
Collaborator Author

This issue will be fixed for good by #1790

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants