hbeni / fgcom-mumble

A (flightsim) radio communication simulation based on mumble
GNU General Public License v3.0
16 stars 6 forks source link

Bug: Windows updater cannot replace old version due to locked DLL #131

Closed hbeni closed 3 years ago

hbeni commented 3 years ago

Describe the bug The windows update procedure currently cannot delete the old plugin, even when it was unloaded / not loaded. Edit: exactly this: https://github.com/microsoft/vcpkg/pull/12056

Follow up from: https://github.com/mumble-voip/mumble/pull/5152 Related to: https://github.com/mumble-voip/mumble/issues/4946

The second issue was that if a plugin was loaded while it is being updated, on some OS (e.g. Windows) the corresponding library file is locked and can thus not be overwritten. Therefore plugins are now explicitly cleared before an overwrite is attempted.

Workaround: manually delete the old plugin library from the app roaming path of the user.

To Reproduce

Expected behavior Mumble should be able to replace the plugin seanlessly

Logfiles See the other ticket. We already know that the update mechanism works with acre2 (https://github.com/mumble-voip/mumble/pull/5152#issuecomment-869874042):

code of acre2: https://github.com/IDI-Systems/acre2/tree/mumble-plugin/extensions/src/ACRE2Mumble

we also already know that the threads are probably not the problem, it’s probably something related to build time or definitions

hbeni commented 3 years ago

Should be fixed, by adding no-pinshared to the compilation recipe. Works with most recent OpenSSL stable release 1.1.1k.

hbeni commented 3 years ago

Github Action release build does work too :)

@krzmbrzl Looks good to me now :)


Two unrelated final things:

  1. Will my plugin containing the Mumble API update to 1.0.2 work with Mumble 1.4.0?
  2. I had some mumble crashes here when starting your supplied test build, and submitted a crash report using the button from the mumble crash report.
Krzmbrzl commented 3 years ago

Closing Mumble between installs should not be necessary :thinking:


  1. Yes. Only the minor version number increased meaning that only bug fixes were made.
  2. The crash report is currently completely broken. Anything specific that you were doing before it crashed?
hbeni commented 3 years ago

The crash report is currently completely broken. Anything specific that you were doing before it crashed?

I just started mumble (double-clicked desktop shortcut). Its also not happening every startup, and even without my plugin installed at all.

hbeni commented 3 years ago

The .mumble_plugin bundle feature is also in 1.4.0? And the latest Snapshot on the dl page too?

Krzmbrzl commented 3 years ago

Hm okay then 🤷

The .mumble_plugin bundle feature is also in 1.4.0?

Yes

And the latest Snapshot on the dl page too?

If you mean our website, then no. It's not part of that yet.

hbeni commented 3 years ago

Reference: it was exactly this happening: https://github.com/microsoft/vcpkg/pull/12056 Too bad my web research did not dig out this thread, would have saved me several days.

hbeni commented 3 years ago

(Also related: https://github.com/mumble-voip/mumble/issues/4946 )