microsoft / microsoft/microsoft-performance-toolkit-sdk

Loading a type multiple times during assembly discovery doesn't cleanup properly

Open
#329 0 comments 0 reactions 1 assignee View on GitHub

@mslukebo is already working on this.

Since Sep 27, 2023.

bug untriaged
Dominant language
C#
Stars
239
Forks
78
Avg merge
4d 3h
Merged PRs (30d)
2

Description

Describe the bug
If a DLL exists in multiple directories, it may be loaded and its types enumerated multiple times during assembly discovery. When this happens, the second time a type is loaded as a ProcessingSourceReference (for example), no references to it are kept, but it is not properly disposed of.

To Reproduce
Steps to reproduce the behavior:

  1. Create a plugin that uses feature X/does Y
  2. Load the plugin with WPA/the Engine
  3. Perform actions ...

Expected behavior
A clear and concise description of what you expected to happen.

Actual behavior
A clear and concise description of what actually happens.

Screenshots
If applicable, add screenshots to help explain your problem.

Version information (please complete the following information):

  • SDK version:
  • Engine version (if applicable):
  • WPA version (if applicable):

Additional context
Add any other context about the problem here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.