mumble-voip / mumble

Mumble is an open-source, low-latency, high quality voice chat software.
https://www.mumble.info
Other
6.28k stars 1.11k forks source link

"The program can't start because qwave.dll is missing from your computer. ... " - False System Error message - Mumble Server won't run on my Server #5284

Closed life777eternal closed 2 years ago

life777eternal commented 2 years ago

Describe the bug "The program can't start because qwave.dll is missing from your computer. Try reinstalling the program to fix this problem."

2021-10-14 19_44 - Remote Desktop Connection

Steps to Reproduce Steps to reproduce the behavior:

  1. Installed Mumble Server
  2. Tried to run it
  3. See error screenshot above.

Expected behavior Some kind of running program.

Screenshots See above.

Desktop (please complete the following information):

Additional context Uninstalled it with Geek Uninstaller, and installed it again... with same result.

Krzmbrzl commented 2 years ago

It seems there is entry in our FAQ about this: https://wiki.mumble.info/wiki/FAQ/English#I_get_the_error_.22Meta:_Failed_to_load_qWave.dll.2C_no_QoS_available.22_in_the_Murmur_log_when_I_start_Murmur

And here is some general info what qWave seems to be: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831592(v=ws.11)

It seems to me that this is a system DLL that should always be present. Have you tried letting Windows repair your installation? :thinking:

That being said I am wondering why we require this thing in the first place (for the server) :eyes:

/CC @davidebeatrici

Krzmbrzl commented 2 years ago

Okay after having checked, I see now why we require it but it should not be a dependency that stops the program from working if it Is not met.

For reference: https://github.com/mumble-voip/mumble/blob/2d2225b85f2bcec7883b7d9cc430fcb9eacdb2c5/src/mumble/ServerHandler.cpp#L77-L104

life777eternal commented 2 years ago

It seems there is entry in our FAQ about this: https://wiki.mumble.info/wiki/FAQ/English#I_get_the_error_.22Meta:_Failed_to_load_qWave.dll.2C_no_QoS_available.22_in_the_Murmur_log_when_I_start_Murmur

And here is some general info what qWave seems to be: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831592(v=ws.11)

It seems to me that this is a system DLL that should always be present. Have you tried letting Windows repair your installation? thinking

That being said I am wondering why we require this thing in the first place (for the server) eyes

Thank you, although it looks like I don't have QWave available to install. Unless it's part of that "Desktop Experience" ?

The installation command listed on the blog below doesn't work. Apparently Qwave used to be an available feature to install, but it's not now. Also the wiki noted above doesn't really help to know where to find this "qwave.dll" ... is it included in a Windows Update? There's no updates apparently available for my copy of Windows Web Server 2008 R2 through the Windows Update, I already have 74 updates installed. Also that Microsoft Doc you linked applies to Windows Server 2012, which I don't have.

https://duckduckgo.com/?q=qwave.dll+windows+web+server+2008+r2&ia=web

https://social.msdn.microsoft.com/forums/en-US/85f2ba18-93b8-4720-ab8a-fca473755bbd/using-qwave-on-windows-server-2008-but-cannot-find-dll

https://web.archive.org/web/20100430190304/http://blogs.techrepublic.com.com/datacenter/?p=294

2021-10-15 10_36_06 - Remote Desktop Connection

2021-10-15 10_20_43 - Remote Desktop Connection

2021-10-15 10_22_27 - Remote Desktop Connection

2021-10-15 10_23_16- Remote Desktop Connection

life777eternal commented 2 years ago

Actually, my server does have the qwave.dll, as I found from one of the folder locations that Vinhold Starbrook sent me. But that system error still appears, preventing the program from running. And I tried to add a registry entry to point to the location, as he instructed in a text file, but that didn't change anything. The same system error still appears. ... Also copying the qwave.dll to the Mumble Server folder just breaks the program.

Thank you.

2021-10-15 12_07- Remote Desktop Connection

An extension/add-on for Mumble on Halcyon isn't really in existence yet, though I believe one or more people are attempting to build one. It was hoped that one had already been started by somebody, as that was heard, but that doesn't seem to be the case in actuality, unfortunately. https://github.com/HalcyonGrid/halcyon/issues/131

Kissaki commented 2 years ago

From the screenshot the qwave.dll is in a wow64 folder, so I suspect it is a 32-bit dll. Given you installed a 64-bit Mumble server it that mismatch may be why it crashes (and why it correctly does not find this one on launch).

Kissaki commented 2 years ago

Notably, the current Windows Server networking docs do not have a section on qWAVE. I wonder if this feature was dropped? Then it could make sense that it is still on 32-bit, but not on 64-bit, and not going forward.

Kissaki commented 2 years ago

Either way, as krzmbrzl said, it should not be a required dependency.

And what the Windows Server state for this is - installable or dropped feature, would be interesting for us to know too, to document it or take action according to it.

life777eternal commented 2 years ago

My server is Windows Web Server 2008 R2, not 2012.

Notably, the current Windows Server networking docs do not have a section on qWAVE. I wonder if this feature was dropped? Then it could make sense that it is still on 32-bit, but not on 64-bit, and not going forward.

@Kissaki Since you mentioned the 23-bit version, I uninstalled the 64-bit version today and installed the 32-bit version, though the same system error appears, and the program doesn't run at all. (although of course I prefer the 64-bit versions if they're available.)

Thank you.

2021-10-16 17_42- Remote Desktop Connection

Krzmbrzl commented 2 years ago

So I was looking into this some more and found out that we in fact link to qwave here: https://github.com/mumble-voip/mumble/blob/e2d5fcc6c8762f9eb015cc577c71affa53759c03/src/CMakeLists.txt#L159 and it is also mentioned here: https://github.com/mumble-voip/mumble/blob/e2d5fcc6c8762f9eb015cc577c71affa53759c03/src/mumble/CMakeLists.txt#L548

Removing the explicit linking to qwave.lib causes a compile error at https://github.com/mumble-voip/mumble/blob/e2d5fcc6c8762f9eb015cc577c71affa53759c03/src/murmur/Meta.cpp#L634 (unresolved symbol error from the linker)

With everything as-is, there seems to be a dependency to C:\Windows\system32\qwave.dll for the server executable. But even when removing the explicit linking to qwave.lib (and commenting out all QOS* functions in the source code) this dependency remains.

I don't see how this dependency is coming to be :eyes:

In any case though it seems that qwave.dll is what is called an "import library" and thus by linking to it, we are effectively linking to qwave.dll and as such its presence is indeed required. Therefore, I'll convert this issue back into a support issue.

Krzmbrzl commented 2 years ago

@life777eternal you siad that you found qwave.dll in some weird location on your machine. I assume that that location is not in the standard library search path (see https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order) and is therefore not found. It is probably interesting why it isn't in one of the standard locations but maybe moving/copying it to such a location is enough to fix the issue?

In my Windows VM (Win10 client), qwave.dll is under C:\Windows\system32.

life777eternal commented 2 years ago

@Krzmbrzl Last month, Vinhold Starbrook sent me a zip file with some info about the qwave files on his Windows Web Server 2008 R2, noted the file folder locations to look for, and I found them all and I have all the same dll files on my server. Plus he noted in a text file to add a registry "url' entry which I did, and the system error still appears for Mumble Server.

2021-11-21 12_22_55-142 44 178 114 - Remote Desktop Connection

2021-11-21 12_18_21-142 44 178 114 - Remote Desktop Connection

2021-11-21 12_07_23-142 44 178 114 - Remote Desktop Connection

qWaveFiles.zip

2021-11-21 12_26_14-142 44 178 114 - Remote Desktop Connection

qWaveFiles.zip

Krzmbrzl commented 2 years ago

Who's Vinhold Starbrook?

I have no clue about windows servers but from the error I am quite sure that the DLL is not in the path that is searched. Either that or the DLL is for some reason not loadable on your system.

life777eternal commented 2 years ago

He is one of the developers for Halcyon World which is the online 3D world that we're hoping Mumble can be made workable on. As an alternative to the Vivox Voice service.

https://github.com/HalcyonGrid/halcyon

https://github.com/HalcyonGrid/halcyon/issues?q=is%3Aopen+is%3Aissue+Vinhold

Krzmbrzl commented 2 years ago

Ah okay, I see.

Might be relevant: https://social.msdn.microsoft.com/forums/en-US/85f2ba18-93b8-4720-ab8a-fca473755bbd/using-qwave-on-windows-server-2008-but-cannot-find-dll

And this: https://m.imgur.com/a/RDS6J

life777eternal commented 2 years ago

Ok, Thank you @Krzmbrzl I have actually seen that first link before, and the other link on that page is a microsoft site that was discontinued a while ago, so I found it on Archive.org here. ... And the imgur.com tutorial is helpful although the available features on my server is missing two of the Features that are shown in the third screenshot with the '6' & '7' ... "Peer Name Resolution Protocol" & "Quality Windows Audio Video Experience" are missing on my server.

2021-11-21 13_35_00-142 44 178 114 - Remote Desktop Connection

Krzmbrzl commented 2 years ago

Then I don't know what is the issue. Do you know of anyone who is running Mumble successfully on their Windows server 2008? Maybe this is just too old by now 👀

life777eternal commented 2 years ago

Ok, no I don't know anyone else who is running Mumble successfully on Windows Web Server 2008 R2. Vinhold hasn't been able to get to trying out Mumble server yet.

davidebeatrici commented 2 years ago

Quality Windows Audio Video Experience is the feature you should install.

For reference: https://docs.microsoft.com/en-us/previous-versions/windows/desktop/qos/quality-windows-audio-video-experience--qwave-

I see it's missing in your screenshot, I honestly don't know why.

life777eternal commented 2 years ago

Quality Windows Audio Video Experience is the feature you should install.

Aye, I've noticed that that's the one I probably have to install. Though it's not in the list 📃 on my server.

I see it's missing in your screenshot, I honestly don't know why.

Aye it is missing, that's what I was trying to show... I don't know why either. Might have to call 📞 Microsoft I imagine.

Krzmbrzl commented 2 years ago

If you do call them, please share what they told you. Maybe this information turns out to be useful for someone else in the future.

stale[bot] commented 2 years ago

This support-issue has been automatically marked as stale because it has not had recent activity. If no further activity occurs, the issue will be automatically closed as we'll assume your problem to be fixed.

k1ttt-remote commented 2 years ago

just trying mumble server 1.4.230 x64 on win server 2012r2 essentials and get the same error about not having cwave.dll. anything new on this???

Krzmbrzl commented 2 years ago

@k1ttt-remote is this just a double-posting of the support request you created or is this a separate issue that actually says it is missing cwave.dll?

k1ttt-remote commented 2 years ago

well, i posted here but then thought that maybe this one wouldn't be seen because the case was closed so started a new issue.... so this one could be ignored.

Krzmbrzl commented 2 years ago

Alright :+1: