Skip to content

AsyncRx.NET GroupByUntil can crash when group keys reused #2200

@idg10

Description

@idg10

Bug

Which library version?

6.0.0-alpha.18

What is the use case or problem?

When the source for GroupByUntil calls OnCompleted, if there are any unexpired groups still active the GroupByUntil operator ends up calling OnCompleted twice, which violates the Rx observer grammar.

This happens because there are two different code paths that call OnCompletedAsync on a group, but only one of them records the fact that has already completed the group, enabling the double call.

What is the expected outcome?

Each group should call OnCompleted exactly once on each observer.

What is the actual outcome?

Some groups call OnCompleted twice on their observers.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions