-
Notifications
You must be signed in to change notification settings - Fork 2
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
Hang on macOS #28
Comments
Hi folks, I have persistent issues in gephi with Mac OS hangs and I'm wondering why that might be the case for us but not for Sweet Home 3D or other JOGL applications. I'm using the same JOGL versions (rc-4 + this 20221118 hotfix). In any event, as the root cause is unknown this is, and probably will continue to be a big issue. The hang always happen in a similar stacktrace than involve
|
Hi @mbastian By reading the Gephi discussion I understand that
the Do not forget that Emmanuel encountered such hang when a Java application is ran concurrently with other natives applications (see discussion above). The using this This would be helpful to discuss this issue with Apple developers to verify what may be wrong with the |
Thanks @jzy3d for the additional context. As you may have read it on the thread, I've had this questionnaire to users about this hang issue :) Although this is based on the 0.9.7 version, which is prior to my fix attempt it showed me that it's encountered in the wild by various Mac OS versions. See below the results (N=16): I also know that most users experience it at startup. I've never been able to reproduce this situation myself. I only got it to hang when switching perspective in Gephi, which is equivalent to hide and the re-show the GLCanvas. Correct me if I'm wrong, but I though Emmanuel's patch was purely focused on the
Ok I think I've somehow missed that. I'll look into that more closely in my debugging. |
That's great to have such statistics!
Yes, you are right.
It is worth knowing OSXmisc, the macos native source code file backing OSXUtil.java. Maybe from there we can identify AppKit functions and read their doc to verify if they're properly used. I notified Emmanuel about this discussion, he will probably have good advices. |
Hi @mbastian , Here is an idea : the common point between init and deletion of the context is the use of What you could try would be to apply here the patch that Emmanuel applied here, where the patch is as follow (nb : I send the location of Emmanuel patch but none of us actually commited the change here) String osVersion = System.getProperty("os.version");
boolean wait = osVersion.startsWith("10.")
&& !osVersion.startsWith("10.14")
&& !osVersion.startsWith("10.15")
&& !osVersion.startsWith("10.16");
OSXUtil.RunOnMainThread(wait /* wait */, true /* kickNSApp */, new Runnable() {
@Override
public void run() {
[...]
} } ); The hard point then becomes to customize JOGL without rebuilding everything. Let me know if you can achieve this! |
Hi @mbastian , Another thought about this problem : in JOGL, Since For Gephi user experiencing a hang, I would try to run with the VM arg |
Thanks @jzy3d, for now I haven't been looking at changing JOGL code but rather see if I'm doing something special/wrong or find a workaround. It's still an option but higher effort as I would need to get familiar with that process, which doesn't look easy. Obviously if everything else fails I would need to get started on that :)
I did found this as well and tried it but in that case my application didn't even boot so I abandoned. But I can try again. I thought this was reserved for SWT apps but I'm Swing / Netbeans Platform. |
@mbastian I am sorry, the exact VM arg is |
Yes, that's what I'm using. I do find reports on the web that Swing + this VM arg isn't working but I'm digging deeper. |
After giving a try on a panama stub, I also notice that this arg makes swing hang. Removing SwingUtilities.invokeLater helps going further when this arg is here but did not completely solved the non displayed window. |
Yes, I gave up after reading a bit and seeing that this isn't gonna work with my full Swing application. I searched Netbeans repo for this parameter and found zero hits, which probably means it's a stupid thing to do... EDIT: Found this: |
Initially discussed here by Manu
Problem
Solution
Next
The text was updated successfully, but these errors were encountered: