dotnet / dotnet/runtime

[browser][coreCLR] Two callbacks with the same symbol 'xxx' are not supported.

Open
#123,029 5 comments 0 reactions 2 assignees Claimed by @lewing View on GitHub
arch-wasm area-Interop-coreclr os-browser
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

This happens because the generator is recursively searching the input folder and can find the same DLL multiple times deeper in the tree.

```
./dotnet.cmd build -bl /p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=Release src\libraries\System.Runtime.InteropServices.JavaScript\tests\System.Runtime.InteropServices.JavaScript.UnitTests
./dotnet.cmd build -bl /t:RunGenerator /p:RuntimeFlavor=CoreCLR /p:GeneratorOutputPath="/runtime/src/coreclr/vm/wasm/" /p:AssembliesScanPath="/runtime/artifacts/bin/System.Runtime.InteropServices.JavaScript.Tests/Release/net11.0-browser/browser-wasm/" src/tasks/WasmAppBuilder/WasmAppBuilder.csproj
`

```
System_Private_CoreLib_System_GC__RegisterNoGCRegionCallback_g__Callback_7C_72_0_I32_RetVoid
System_Private_CoreLib_System_Threading_ThreadPool_BackgroundJobHandler_Void_RetVoid
System_Private_CoreLib_System_GC_ConfigCallback_I32_I32_I32_I32_I64_RetVoid
System_Private_CoreLib_System_Globalization_CalendarData_EnumCalendarInfoCallback_I32_I32_RetVoid
System_Private_CoreLib_Internal_Runtime_InteropServices_ComActivator_GetClassFactoryForTypeInternal_I32_RetI32
System_Private_CoreLib_Internal_Runtime_InteropServices_ComponentActivator_GetFunctionPointer_I32_I32_I32_I32_I32_I32_RetI32
System_Private_CoreLib_Internal_Runtime_InteropServices_ComponentActivator_LoadAssembly_I32_I32_I32_RetI32
System_Private_CoreLib_Internal_Runtime_InteropServices_ComponentActivator_LoadAssemblyAndGetFunctionPointer_I32_I32_I32_I32_I32_I32_RetI32
System_Private_CoreLib_Internal_Runtime_InteropServices_ComponentActivator_LoadAssemblyBytes_I32_I32_I32_I32_I32_I32_RetI32
System_Private_CoreLib_System_Runtime_InteropServices_TypeMapLazyDictionary_NewExternalTypeEntry_I32_I32_RetI32
System_Private_CoreLib_System_Runtime_InteropServices_TypeMapLazyDictionary_NewProxyTypeEntry_I32_I32_RetI32
System_Private_CoreLib_Internal_Runtime_InteropServices_ComActivator_RegisterClassForTypeInternal_I32_RetI32
System_Private_CoreLib_System_Threading_TimerQueue_TimerHandler_Void_RetVoid
System_Private_CoreLib_Internal_Runtime_InteropServices_ComActivator_UnregisterClassForTypeInternal_I32_RetI32
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.