Skip to content
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

Jamulus 3.7 hangs -eventually- on Mac Big Sur #1791

Closed
RonCohen1 opened this issue May 31, 2021 · 30 comments
Closed

Jamulus 3.7 hangs -eventually- on Mac Big Sur #1791

RonCohen1 opened this issue May 31, 2021 · 30 comments
Labels
bug Something isn't working
Milestone

Comments

@RonCohen1
Copy link

Describe the bug

Jamulus hangs -- pretty much every time -- after a while -- can be 5 minutes, can be an hour, on my Macbook Pro (2020, 2 GHz Intel quad-core I5) running Big Sur 11.2.3. Not a problem with same Jamulus version on an older Mac running an older OS.

To Reproduce
Join a Jamulus session, then don't touch anything. Eventually I will get a spinning ball and can't activate any Jamulus controls. Sometimes Jamulus continues to function; at other times, the connection drops. (does not happen with current Jamulus on an old Mac running High Sierra.)

Expected behavior

Expected behavior is a normal Jamulus session.

Screenshots

Operating system

MacOS 11.2.3

Version of Jamulus

Jamulus on this same machine seems to have buffer underruns/overflows -- sound gets glitchy: I can temporarily cure it by re-setting the buffer delay. It seems to be when I don't do reset the buffer delay that the hang occurs.
@RonCohen1 RonCohen1 added the bug Something isn't working label May 31, 2021
@hoffie
Copy link
Member

hoffie commented May 31, 2021

Hi!
Thanks for the report. This sounds very similar to #1643, but I'd like to keep it open for now as the other issue mainly targeted a regression introduced in 3.8.0 (despite the initial report).

We suspect a general problem in the Qt event handling on Mac with recent Qt versions and yet have to find a way to work around it.

It would help if you could try the following:

hoffie added a commit to hoffie/jamulus that referenced this issue May 31, 2021
Let the autobuild default to latest xcode (= 12.x) again, but still
ensure that we limit SDK support to 10.15 due to lack of Qt-wise support
for newer versions.

This is a different approach to the already merged jamulussoftware#1655.
This change has a (low) chance of fixing recent Mac issues on Big Sur
(jamulussoftware#1643, jamulussoftware#1791). At least, it makes us use the latest officially
recommended setup.

This only touches the regular Mac build, not the legacy build.

Support matrix:
https://doc.qt.io/qt-5/macos.html

Variables:
https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-mac-sdk

Explanations:
https://doc.qt.io/qt-5/macos-deployment.html
hoffie added a commit to hoffie/jamulus that referenced this issue May 31, 2021
Let the autobuild default to latest xcode (= 12.x) again, but still
ensure that we limit SDK support to 10.15 due to lack of Qt-wise support
for newer versions.

This is a different approach to the already merged jamulussoftware#1655.
This change has a (low) chance of fixing recent Mac issues on Big Sur
(jamulussoftware#1643, jamulussoftware#1791). At least, it makes us use the latest officially
recommended setup.

This only touches the regular Mac build, not the legacy build.

Support matrix:
https://doc.qt.io/qt-5/macos.html

Variables:
https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-mac-sdk

Explanations:
https://doc.qt.io/qt-5/macos-deployment.html
hoffie added a commit to hoffie/jamulus that referenced this issue May 31, 2021
Let the autobuild default to latest xcode (= 12.x) again, but still
ensure that we limit SDK support to 10.15 due to lack of Qt-wise support
for newer versions.

This is a different approach to the already merged jamulussoftware#1655.
This change has a (low) chance of fixing recent Mac issues on Big Sur
(jamulussoftware#1643, jamulussoftware#1791). At least, it makes us use the latest officially
recommended setup.

This only touches the regular Mac build, not the legacy build.

Support matrix:
https://doc.qt.io/qt-5/macos.html

Variables:
https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-mac-sdk

Explanations:
https://doc.qt.io/qt-5/macos-deployment.html
hoffie added a commit to hoffie/jamulus that referenced this issue May 31, 2021
Let the autobuild default to latest xcode (= 12.x) again, but still
ensure that we limit SDK support to 10.15 due to lack of Qt-wise support
for newer versions.

This is a different approach to the already merged jamulussoftware#1655.
This change has a (low) chance of fixing recent Mac issues on Big Sur
(jamulussoftware#1643, jamulussoftware#1791). At least, it makes us use the latest officially
recommended setup.

This only touches the regular Mac build, not the legacy build.

Support matrix:
https://doc.qt.io/qt-5/macos.html

Variables:
https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-mac-sdk

Explanations:
https://doc.qt.io/qt-5/macos-deployment.html
hoffie added a commit to hoffie/jamulus that referenced this issue May 31, 2021
Let the autobuild default to latest xcode (= 12.x) again, but still
ensure that we limit SDK support to 10.15 due to lack of Qt-wise support
for newer versions.

This is a different approach to the already merged jamulussoftware#1655.
This change has a (low) chance of fixing recent Mac issues on Big Sur
(jamulussoftware#1643, jamulussoftware#1791). At least, it makes us use the latest officially
recommended setup.

This only touches the regular Mac build, not the legacy build.

Support matrix:
https://doc.qt.io/qt-5/macos.html

Variables:
https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-mac-sdk

Explanations:
https://doc.qt.io/qt-5/macos-deployment.html
hoffie added a commit to hoffie/jamulus that referenced this issue May 31, 2021
Let the autobuild default to Xcode 12 again, but still ensure
that we limit SDK support to 10.15 due to lack of Qt-wise support
for newer versions.

This is a different approach to the already merged jamulussoftware#1655.

We are limited to <= Xcode-12.0 though because we require SDK 10.15
which is not shipped on more recent versions anymore.
This change has a (low) chance of fixing recent Mac issues on Big Sur
(jamulussoftware#1643, jamulussoftware#1791). At least, it makes us use the latest officially
recommended setup.

This only touches the regular Mac build, not the legacy build.

Support matrix:
https://doc.qt.io/qt-5/macos.html

Variables:
https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-mac-sdk

Explanations:
https://doc.qt.io/qt-5/macos-deployment.html
hoffie added a commit to hoffie/jamulus that referenced this issue May 31, 2021
Let the autobuild default to Xcode 12 again, but still ensure
that we limit SDK support to 10.15 due to lack of Qt-wise support
for newer versions.

This is a different approach to the already merged jamulussoftware#1655.

We are limited to <= Xcode-12.0 though because we require SDK 10.15
which is not shipped on more recent versions anymore.
This change has a (low) chance of fixing recent Mac issues on Big Sur
(jamulussoftware#1643, jamulussoftware#1791). At least, it makes us use the latest officially
recommended setup.

This only touches the regular Mac build, not the legacy build.

Support matrix:
https://doc.qt.io/qt-5/macos.html

Variables:
https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-mac-sdk

Explanations:
https://doc.qt.io/qt-5/macos-deployment.html
@hoffie
Copy link
Member

hoffie commented May 31, 2021

Linked another build to try based on #1794 in the comment above now.

@softins
Copy link
Member

softins commented May 31, 2021

Also @RonCohen1 could you say which skin you are using? Normal, Compact or Fancy? And could you try using a different one to see if it makes any difference?

@RonCohen1
Copy link
Author

RonCohen1 commented May 31, 2021 via email

@hoffie
Copy link
Member

hoffie commented May 31, 2021

@RonCohen1 Thanks for the feedback!

Just a short brain dump of things to play around with, although all of it seems QML-related so might have no effect for us:
https://doc.qt.io/qt-5/qtquick-visualcanvas-scenegraph.html QSG_RENDER_LOOP=threaded vs QSG_RENDER_LOOP=basic.

https://doc.qt.io/qt-5/qtquick-visualcanvas-scenegraph-renderer.html#performance

https://bugreports.qt.io/browse/QTBUG-88248 sounds related (event-related leaks), but seems to only occur with Qt 5.14 or newer while our previous builds were based on 5.9, IIRC.

hoffie added a commit to hoffie/jamulus that referenced this issue May 31, 2021
Let the autobuild default to Xcode 12 again, but still ensure
that we limit SDK support to 10.15 due to lack of Qt-wise support
for newer versions.

This is a slightly different approach to the already merged jamulussoftware#1655.

We are limited to <= Xcode-12.1.1 though because we require SDK 10.15
which is not shipped on more recent versions anymore.
This change has a (low) chance of fixing recent Mac issues on Big Sur
(jamulussoftware#1643, jamulussoftware#1791). At least, it makes us use the latest officially
recommended setup.

This only touches the regular Mac build, not the legacy build.

Support matrix:
https://doc.qt.io/qt-5/macos.html

Variables:
https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-mac-sdk

Explanations:
https://doc.qt.io/qt-5/macos-deployment.html
@gilgongo

This comment has been minimized.

@jamulussoftware jamulussoftware locked as too heated and limited conversation to collaborators Jun 1, 2021
@ann0see ann0see closed this as completed Jun 1, 2021
@ann0see ann0see removed the duplicate label Jun 1, 2021
@jamulussoftware jamulussoftware unlocked this conversation Jun 1, 2021
@ann0see ann0see reopened this Jun 1, 2021
@ann0see ann0see added this to the Release 3.8.1 milestone Jun 1, 2021
@ann0see
Copy link
Member

ann0see commented Jun 1, 2021

Reopening based on chat agreement that this is not a duplicate of #1643 but somehow related. Issue investigation should continue here.

@RonCohen1
Copy link
Author

I have installed the three versions of 3.8rc2 in the post three days ago from Christian Hoffmann hoffie. I have had some limited opportunity today for testing. Most interesting is that for the "post-3.80rc2 build" https://github.com/jamulussoftware/jamulus/suites/2873144701/artifacts/64218065, the top utility shows memory usage that (for me) seems to grow then reset. So it seems that memory is being cleaned up periodically. I have not yet been able to test other versions with a significant number of users connected. I did observe GUI issues with the legacy build, as expected: in the Settings window, I can't read the name of the selected tab.

@MattMerz-Violin
Copy link

Hi, did a 3h session with the 3.8 release version of Jamulus on a MacBook Pro 2015, MacOS 11.4 (up to 15 players). As soon as Jamulus is running in the background (Chat and Main window open, Preferences closed) memory usage increases about 3MB per every 5 seconds (visible in MacOS activity monitor). When switching back to Jamulus, Memory usage go’s down again.

@softins
Copy link
Member

softins commented Jun 4, 2021

Hi, did a 3h session with the 3.8 release version of Jamulus on a MacBook Pro 2015, MacOS 11.4 (up to 15 players). As soon as Jamulus is running in the background (Chat and Main window open, Preferences closed) memory usage increases about 3MB per every 5 seconds (visible in MacOS activity monitor). When switching back to Jamulus, Memory usage go’s down again.

Thanks. I think this is a similar scenario to the one we tried to address by moving the ping stats. Maybe by putting them on the main window we just moved the problem to everyone, rather than only those with the settings window open? :(

What happens if you have the Jamulus main window on top, but not interacting with it?

@MattMerz-Violin
Copy link

Hi, i tries this scenario, had Jamulus main window on top all the time, but did not interact and Memory usage climbed from 130MB in the beginning to 450MB after about 1hour and 15 minutes session with three people in total. Trying to interact with Jamulus showed the beach ball for about 5 to 10 seconds and then it was reacting again.

@Rob-NY
Copy link
Contributor

Rob-NY commented Jun 7, 2021

FWIW, I am having this same issue with 3.8rc2 on a recently updated Big Sur mini. The server is started from the command line (not via applications). When jamulus hangs, it takes out the network entirely on the Mini. It is normally (or coincidentally) preceded by a few "Bad Address" errors when trying to register with the CS (Genre2). It might also be worth nothing that the Genre2 CS seems to be acting a bit wonky of late -- even when using explorer.jamulus.io I occasionally get "no data" messages on auto-refresh. All along I thought it was on my end until I stumbled across this thread.

@gilgongo gilgongo mentioned this issue Sep 9, 2021
57 tasks
@gilgongo gilgongo removed this from the Release 3.8.1 milestone Sep 9, 2021
@gilgongo
Copy link
Member

gilgongo commented Nov 7, 2021

had Jamulus main window on top all the time, but did not interact and Memory usage climbed from 130MB in the beginning to 450MB after about 1hour and 15 minutes

I can't reproduce this on 3.8.1 BigSur 11.6. Memory sits at about 115-120Mb consistently after running for about 45mins. Jamulus remains responsive. Widow mostly in the background. I was the only one on the server most of the time though, and muted.

@MattMerz-Violin
Copy link

I still have the issue under MacOS Big Sur latest version and Jamulus 3.8.1. Intel MacBook Pro late 2015.

when Jamulus is not the App with active Window is becomes unresponsive after some minutes of jamming and shows the beach ball for up to 20 Seconds before responding again.

@gilgongo
Copy link
Member

gilgongo commented Nov 7, 2021

OK I didn't try playing on the connection (I'm on a MacBook Air 2019 BTW). I'll see if I can do that with this Mac (I'm usually on either Linux or Windows)

@gilgongo
Copy link
Member

gilgongo commented Dec 8, 2021

Tried this while playing the other day for about 45mins. Can't reproduce the issue.

@softins
Copy link
Member

softins commented Dec 8, 2021

Tried this while playing the other day for about 45mins. Can't reproduce the issue.

I regularly observe it using 3.8.1 on Mojave. It only happens if I have been playing for a long time (e.g. an hour) without touching the computer, and without Jamulus having focus. I have two screens, with Jamulus on one, and Chrome running Jitsi on the other. Typically, the last thing I touched was Chrome, so Jamulus, although visible on the other screen, does not have focus. When much later I go to click on the Disconnect button in Jamulus, I get the spinning beach ball for quite a few seconds before it starts responding again.

@gilgongo
Copy link
Member

gilgongo commented Dec 8, 2021

I wasn't running any apps other than Jamulus. But then maybe I'd not been playing long enough to see the issue?

@softins
Copy link
Member

softins commented Dec 8, 2021

I wasn't running any apps other than Jamulus. But then maybe I'd not been playing long enough to see the issue?

I think it only happens when Jamulus does not have focus for an extended period of time.

@hoffie hoffie mentioned this issue Jan 27, 2022
11 tasks
@hoffie
Copy link
Member

hoffie commented Jan 27, 2022

There is a small chance that moving our builds to Qt6 might help with this issue.
If someone wants to try, feel free to download the completely untested Qt6 Mac build from PR #2300. Expect breakage though.

Please post in this issue, if you can still observe the described bug with this build or if things get better or worse.
Please post to #2300 if you find any other issues with this build.

@MattMerz-Violin
Copy link

Tried it today with latest MacOS 11 version. Still the same issue unfortunately :-(

@chrisrimple
Copy link

This seems to be (1) not specific to a MacOS version (has been reported on Mojave, Big Sur, and maybe others) and (2) requires that no Jamulus windows have focus for some time (amount of time varies). I haven't seen any reports for a M1 Mac (all seem to be Intel), but I have an M1 so will see if I can replicate.

@hoffie
Copy link
Member

hoffie commented Mar 4, 2022

Here's another build to try: https://github.com/jamulussoftware/jamulus/suites/5504510055/artifacts/176206626
It's from #2449 which uses a newer Xcode/macOS SDK. Again, there's only a rather small chance that it helps, but it would be helpful to know.

Feedback appreciated!

@hoffie
Copy link
Member

hoffie commented Mar 7, 2022

Another thing to try: Could someone try running export QT_MAC_WANTS_LAYER=1 and starting Jamulus via command line (from the same Terminal)?

(The linked bug report does not match exactly what's reported here. Still, it's also about UI-related hangs starting with Big Sur, so there's at least some chance... And btw, Qt 5.12.3 5.15.3, which was just released, claims to have a fix for exactly the linked issue).

@MattMerz-Violin
Copy link

I tried it today in an online session. The bug is still there, but it is much better now. memory usage does only increase slowly. Here you can find a few videos showing the activity window of MacOS 11.6.4. when Jamulus is in front or not and when quitting Jamulus.

http://www.vaskez.de/jamulus_bug/Jamulus_in_front.mov
http://www.vaskez.de/jamulus_bug/Jamulus_not_in_front.mov
http://www.vaskez.de/jamulus_bug/Quit_Jamulus.mov

So it looks like the switch to QT6 at least brings some changes. I hope this is helpful.

@MattMerz-Violin
Copy link

Hi, under Jamulus 3.9 beta 2 and MacOS 11.6.8 this bug is no longer exiting. I had a session today with Jamulus running in the background a lot and it remained responsive and there was no hang at all :-)

Great improvement!

@pljones
Copy link
Collaborator

pljones commented Jul 22, 2022

Can you confirm which MacOS build you used?
image
Thanks!

@MattMerz-Violin
Copy link

Hi, I used the jamulus_3.9.0beta_mac.dmg build.

Best regards, Matt

@pljones
Copy link
Collaborator

pljones commented Jul 22, 2022

@MattMerz-Violin

Cheers

@RonCohen1 @Rob-NY @chrisrimple,

Can you comment at all on the 3.9.0beta2 release?

Thanks

@hoffie
Copy link
Member

hoffie commented Aug 16, 2022

As there is at least one positive report that this issue should be fixed as of 3.9.0, I'm closing this for now. If someone has different experiences, please comment or open a new issue. Thanks.

@hoffie hoffie closed this as completed Aug 16, 2022
@pljones pljones added this to the Release 3.9.0 milestone Oct 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

9 participants