This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | IDE freezes when opening hyperlinks by external browser | ||
---|---|---|---|
Product: | ide | Reporter: | ytn01 |
Component: | Extbrowser | Assignee: | Denis Anisimov <ads> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dkonecny, pjiricka |
Priority: | P2 | ||
Version: | 7.3 | ||
Hardware: | Macintosh | ||
OS: | Mac OS X | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: |
NetBeans Thread Dump when freeze occured
patch |
Description
ytn01
2012-09-28 11:30:08 UTC
Hi, can you please attach a thread dump of the IDE when this happens? See this page: http://wiki.netbeans.org/GenerateThreadDump After this happens, is the IDE frozen forever and you have to kill it, or does it "unfreeze" after a while? Thanks. Created attachment 126217 [details]
NetBeans Thread Dump when freeze occured
This thread dump was taken when this freeze occurred on a newer build (201210180002). Denis, any ideas? Can I help to investigate on Mac? Swing is blocked inside method org.netbeans.modules.extbrowser.MacBrowserImpl.getDefaultBrowserFamilyId() as I see from thread dump . The latter method is used to detect default browser type on the OS. I don't know the exact reason why external process is not terminated ( thread is blocked on the java.lang.UNIXProcess.waitFor() ) but it seems this functionality is outdated. I don't know the current approach with available IDE integrated browsers but it seems we have now only predefined browsers ( like Chrome, Chromium ) that are explicitly integrated with IDE. So they differ even from Chrome that is not integrated with IDE. MacBrowserImpl.getDefaultBrowserFamilyId() method is used to detect system default browser identifier which is definitely not an IDE integrated browser. So we probably don't need the current implementation of this method. IDE integrated browsers ( Chrome, Chromium ) have this method implemented statically ( BrowserFamilyId is CHROME or CHROMIUM and there is no any special procedure to detect it ). So this method works fine for those browsers. As a result I think we could avoid call getBrowserFamilyId() method for browsers that has no enhanced mode. Please see the proposed patch. Actually I don't know the details about browser integration and current ExtBrowserImpl.getLookup() implementation. I think David is the original author of this implementation. David, could you please review the patch and comment the issue ? Created attachment 126448 [details]
patch
The patch will avoid the problem. And most of ClientSide project code is not using SystemDefault browser anyway. I wonder why is it happening though - it sounds like it is always reproducible. (In reply to comment #7) > The patch will avoid the problem. And most of ClientSide project code is not > using SystemDefault browser anyway. I wonder why is it happening though - it > sounds like it is always reproducible. Thank you. web-main#bc481178e149 Integrated into 'main-golden', will be available in build *201210260001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/bc481178e149 User: Denis Anisimov <ads@netbeans.org> Log: Fix for BZ#219177 - IDE freezes when opening hyperlinks by external browser |