Thanks for investigating this.

Please move the discussion over to dev@ as it seems a problem with NetBeans 
Platform itself and more NetBeans developers will be on dev@ than users@.

It's unclear to me why the application crashes. Clearly we would have learned 
about it so far, NetBeans does have some users on macOS and I've been using 
NetBeans on Mac exclusively for ages.

So... there must be something about how your code behaves too.

Could you report the issue on JIRA (on 
https://issues.apache.org/jira/projects/NETBEANS/issues ) and also make a small 
module/class reproducing the bug and attach it to the issue?

PS: Not sure what you mean about recompiling the package. If the fix will get 
added it will be part of the next Apache release. If you need commercial help, 
it is available from a few people 
https://netbeans.apache.org/help/commercial-support.html , including me.

--emi

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On 1 May 2018 2:24 PM, frederic <frede...@ancestris.org> wrote:

> Dear all,
> 
> I have found a bug in Netbeans on MacOS which makes the applications crash on 
> MacOS. I would like to know if it is possible to fix it in Netbeans 8.0.1 or 
> at least to make sure it is not in Netbeans 8.2.
> 
> The bug :
> 
> ======
> 
> I'm using Netbeans 8.0.1 for Ancestris. There seems to be a conflicting 
> thread in MainWindow.java that compromises the removal of lookup listeners.
> 
> Therefore, if an updateLookup runs in the application, the following thread 
> is activated which itself runs an updateLookup.
> 
> The application ends up multiplying the number of listeners up to several 
> tens of thousands and crashes on Mac.
> 
> Here is the code with the bug: (in MainWindow.java in package 
> org.netbeans.core.windows.view.ui)
> 
>        if (Utilities.getOperatingSystem() == Utilities.OS_MAC) {
> 
>            //Show a "save dot" in the close button if a modified file is
> 
>            //being edited
> 
>            //Show the icon of the edited file in the window titlebar like
> 
>            //other mac apps
> 
>            saveResult = Utilities.actionsGlobalContext().lookupResult 
> (SaveCookie.class);
> 
>            dobResult = Utilities.actionsGlobalContext().lookupResult 
> (DataObject.class);
> 
>            if( null != saveResult && null != dobResult ) {
> 
>                saveListener = new LookupListener() {
> 
>                    @Override
> 
>                    public void resultChanged(final LookupEvent ev) {
> 
>                        RP.post( new Runnable() {
> 
>                            @Override
> 
>                            public void run() {
> 
>                                updateMacDocumentProperties(ev);
> 
>                            }
> 
>                        });
> 
>                    }
> 
>                };
> 
>                saveResult.addLookupListener(saveListener);
> 
>                dobResult.addLookupListener(saveListener);
> 
>            }
> 
>            dobResult.allItems();
> 
>        }
> 
> The " updateMacDocumentProperties(ev)" includes :
> 
> - saveResult.allItems()
> 
> - dobResult.allItems()
> 
> which trigger an updateLookup as well, creating two threads updating the same 
> lookups (removeListener, addListener).
> 
> The fix:
> 
> =====
> 
> I would be ok to just replace :
> 
> "Utilities.getOperatingSystem() == Utilities.OS_MAC"
> 
> with
> 
> "Utilities.getOperatingSystem() == Utilities.OS_MAC & false"
> 
> because I do not think we need this on Mac in the Ancestris application at 
> least.
> 
> Can someone recompile the package with this fix and send it back to me ? Or 
> else can someone help me fix it myself localy (I do not have the code to 
> recompile this package) ?
> 
> Many thanks in advance if it can be done.
> 
> Best regards,
> 
> Frederic

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org
For additional commands, e-mail: users-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to