-
Notifications
You must be signed in to change notification settings - Fork 378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows: JACK 1.9.11_64, if installed on the system, causes Mixxx 2.2.4 64-bit to crash on startup. #623
Comments
I did not notice this was so serious, thanks for bring that up (again). I just removed the (old) macos and windows links from the jackaudio.org download page, so, thanks. Updated binaries are coming later, I am on the final steps for setting up the CI/CD. |
Let me know if i can help with anything at all! I'm thinking a NSIS installer can be built on Linux (though i never tried) so would NSIS script be a relevant task? JackRouter is useful. I'll try to build the master and see whether the issue has potentially been resolved or whether i can fix it. |
I have used InnoSetup for another project, which seems very simple and easy to follow, it does pretty much all that is needed without complications. Regarding JackRouter, help is appreciated for sure. I dont even know how to build it, but @sletz will have some ideas :) |
NSIS is very simple, open-source, and builds on Linux. please use NSIS 👍 Here is an example we are using for the LookingGlass project which is used by a CI builder on a Linux system cross compiling for Windows. |
Maybe I've misunderstand what's happening, but I thought you had to register the JackRouter ASIO driver for it to work? Maybe mixx doesn't crash if you run the following command?
|
New builds now available. See https://github.com/jackaudio/jack2-releases/releases Tested a bit with Carla in a VM, that works well. Bitwig also works, Ardour has a few issues. Zrythm developer will be doing testing today. |
@siana if you could please uninstall the previous jack version and install the one from https://github.com/jackaudio/jack2-releases/releases, that would be very appreciated. qjackctl needs some tweaks so that it works better in windows, but at least we have things running now. |
I've just gone through a long debug session with a guy where portaudio crashed. It would probably be good to ensure this patch is attached (or at least somehow manage to compile portaudio with NDEBUG): --- a/src/hostapi/wdmks/pa_win_wdmks.c~ 2020-09-12 03:23:02.000000000 +0200
+++ b/src/hostapi/wdmks/pa_win_wdmks.c 2020-09-13 12:03:40.279668210 +0200
@@ -1058,6 +1058,5 @@
}
PA_DEBUG(("FindStartConnectionFrom: returning NULL\n"));
- assert(FALSE);
return 0;
} Also see my report to the portaudio list: |
Good work by the way. Finally. |
s/attached/applied/ |
|
Good. Have you tested it? Does it still work if you insert "assert(0)" into the top of that function? |
I did not test it, I do not know when that function is triggered. But the rule of |
Because I tried to add -DNDEBUG to CFLAGS, and it didn't work. I had to remove the assert() line. |
That function should be triggered every time jack starts up if you compile portaudio with wdmks included in the "--with-winapi=" list. It is also triggered in qjackctl when you press the "Interface" combo box in Setup. |
Tried where and how? you need to have some compiler optimizations enabled too I think. Anyway, I saw no crashes regarding that. |
Test it like this:
I don't see any crashes either (when using an unpatched portaudio library), but for one Radium user it crashes every time. Removing that assert call fixed it. Adding NDEBUG didn't make a difference, don't know why, didn't really investigate either, but I reported it to the portaudio list.
Yes, it's always been working as far as I know. |
well, it does not on the current qjackctl build. let me check if portaudio got disabled somehow. |
Also, this crash is not a single user problem. There are several hits when googling the crash. Both users of Python and Ardour have experienced crash because of that assertion in portaudio. It happens when probing soundcard interfaces. |
Here's my build of qjackctl: |
Found the issue, there is a typo in configure.ac, leading to portaudio being disabled in the build. I tried adding some prints around the function that you want to test the assertion on, but it seems it is never triggered. I guess this build does not have the wdmks driver..? Going to add -X winmme by default too, so we get the MIDI bridge. |
wdmks is supposed to be a very efficient driver type, but I don't really know. I just use ASIO and WASPI. Could be people who rely on it though, I don't know. |
Yes, I guess the portaudio build doesn't have wdmks driver. Again, don't know if it's needed. |
How is one supposed to install jack on win10 and use it now without the router? The installer from jack2 releases doesn't come with the router and I have no clue how to set up audio now. (Most guides including the one on Jacks website start with setting up the router via command line) |
You can use JACK by itself, with JACK-aware applications. The list of that is not extensive for Windows, but we got at least:
|
Haa, I was going to use JACK to route audio for OBS recording but I guess with the jackrouter gone for now that isn't possible use case anymore. Is it still in the plans to include the router one day on windows side? As for the general setup Audacity is listed in the Jack aware apps page in the main website but it links to dead link for how to set it up. LMMS is also listed. But LMMS side native jack seems to only work on Linux (in their audio settings documentation Jack is listed as linux only while SDL and PortAudio are listed for Win) Though even then I think I'm doing something wrong. When I select my ASIO UMC 404 as my interface and start the server I get 4 system inputs and outputs but they don't seem to actually be anything but placeholders without being connected to any of my actual devices. |
noted. there are some resources out there already regarding setting up jack on windows, but a bit too spread out. two good entry points for reading already: |
On Thu, Oct 1, 2020 at 6:22 PM 3Rton ***@***.***> wrote:
Haa, I was going to use JACK to route audio for OBS recording but I guess
with the jackrouter gone for now that isn't possible use case anymore. Is
it still in the plans to include the router one day on windows side?
In my opinion, the asio jack driver should be separated into a separate
project. It's a driver, so it might, and it already has, screwed up the
system for people, causing people to wrongfully blame jack, and people
wrongfully thinking that jack itself is some sort of asio driver.
|
1.9.15 release no longer includes jack-router, so this issue can no longer happen (for new installs). thanks a lot for the report, it was the kicker to get jack-router out of jack2 codebase, we needed that. |
Hi, I am facing the exact same problem, but with MaxMSP. Greetings, Marijn |
@marijncin the 1.9.17 release includes JackRouter and AFAIU has this problem resolved. |
Running on Windows 10 64-bit 20.04
repro:
Install latest Jack 64-bit release for Windows
Install latest Mixxx 64-bit release for Windows
Observe: Mixxx crashes on startup.
Uninstall JACK
Observe: Mixxx no longer crashes on startup.
The crash occurs during PortAudio initialisation in Mixxx, presumably while loading the ASIO driver provided by JACK. It doesn't matter whether JACK server is running or not.
A similar looking issue has occurred in FlexASIO version 1.4. It was remedied in version 1.5. PortAudio was chain loaded by FlexASIO, but because the DLL basename matched an already loaded module, but was not compatible, FlexASIO would crash. Is it plausible that the mechanism is similar at all? Corresponding issue dechamps/FlexASIO#47
Potentially related issues:
rodrigodzf/Jack-Audio-For-Unity#15
#393
#275
#332
#380
#351
jamulussoftware/jamulus#93
It is actually completely untenable that a software causes a multitude of other applications to break so rampantly and with no connection obvious to the user. In my opinion, release should be nuked or only distributed with a visible warning.
The text was updated successfully, but these errors were encountered: