Plugin dll loading issue

Hi,
We have a sporadic issue with loading a plugin DLL. For some users the DLL will not load up properly.

We are using a custom plugin DLL with several supported functions (Let’s say funcA, funcB, funcC).
We have detected cases where the DLL is loading but not all functions are available (only funcA) and the available function execution get timed out.

It’s loading properly in our tests and for most users. But we have detected an issue where the plugin will not load properly for some users - and when it doesn’t, it never will for them (consistent per user).

The full problematic scenario that we see is this:

  1. We want to use funcA from the plugin
  2. We try to load the plugin using overwolf.extensions.current.getExtraObject
  3. After 5 seconds that we don’t get a response, we time out and retry
  4. We again try to load the plugin using overwolf.extensions.current.getExtraObject
  5. Success, but when we print the object functions we see that some functions are missing (funcA is there, but funcB and funcC that should be there are not there).
  6. We try to use funcA
  7. We are not getting response after 10 seconds and time out

(see relevant logs with the tag [IOPlugin] in outplayed/bacground.log)

It does work as expected from our tests and we are unable to find what might be the issue for those users.

Some thoughts

  • In the Overwolf Doc - it says that we only need to provide x64 DLL - maybe we need to provide x86?
  • For all cases we have checked it’s always the same - first load gets time out, then we load again and succeed but the same functions are missing.
  • Maybe we are using .NET version or something that is not available for the users?
  • We are not getting any callback for the first overwolf.extensions.current.getExtraObject - it just left hanged it seems
  • It seems to happen more for Win7 users - but not just, also some win10 cases

We have added many logs and collected many logs but can’t seems to find the cause.

Any help will be greatly appreciated.
Thanks

We are using this .NET framework when building the DLL
image

We build x64 only.

ow_4c3ae5c5-f568-43c7-b6c3-6ca9f42e6fd5-2020-09-06-09-01-21.zip (1.5 MB)

ow_5d2d1002-4914-4e4b-a38e-ab305189493f-2020-09-06-08-36-24.zip (1.9 MB)

(Other cases can be provided if needed)

HI @Eyal,

  • Overwolf version 116.2 and all later versions will only support 64 bit CPUs, and therefore you’ll be required to compile your plugin to target the x64 platform.
  • DLLs must be compiled with the .NET 4.5 framework and NOT with earlier or other versions.

Please try to compile it with .NET 4.5 framework and update if that helped.

Thanks.

Hi @eransharv, thanks for the fast reply!

It says: * DLLs must be compiled with the .NET 4.5 framework and NOT with an earlier version.
But I am using a later .NET (NOT earlier) - you mean it must be exactly 4.5 ?

@Eyal yes please use .NET 4.5. That should fix it. I will change the docs to be clearer about it.

Thanks.

1 Like

Great! Thank you for the help.