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.

Bug 220990 - Disabling Auto-Refresh breaks communication between IDE and Chrome
Summary: Disabling Auto-Refresh breaks communication between IDE and Chrome
Status: VERIFIED FIXED
Alias: None
Product: web
Classification: Unclassified
Component: HTML Project (show other bugs)
Version: 7.3
Hardware: All All
: P2 normal (vote)
Assignee: David Konecny
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-29 08:23 UTC by Vladimir Riha
Modified: 2012-11-06 09:55 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Riha 2012-10-29 08:23:40 UTC
To reproduce:
- run IDE with fresh user dir
- create HTML project (all default)
- run the file
- modify HTML source and save it => file is reloaded in browser
- go to Project Properties and disable Auto Refresh
=> the Chrome's infobar "NetBeans IDE plugin is debugging this tab" (or something like that :) disappears, Inspect (Select Mode) is not working, icons in Navigator are gray, JS debugger is not working etc. All communication is stopped.

If you re-enable Auto Refresh and save the file, page in browser is reloaded and it all seems fine again. Please note that this also happens only once per project. If I try to repeat steps again for the same project, it all works.

Since it is regression and it breaks all Easel features (albeit for workaround is easy), I think it is more P2 than P3


I'm reporting it here because it does not happen with Embedded browser. I'm sorry if it's wrong.


Product Version: NetBeans IDE Dev (Build 201210290001)
Java: 1.7.0_10-ea; Java HotSpot(TM) Client VM 23.6-b04
Runtime: Java(TM) SE Runtime Environment 1.7.0_10-ea-b11
System: Linux version 3.2.0-31-generic-pae running on i386; UTF-8; en_US (nb)
Comment 1 Tomas Mysik 2012-10-29 08:29:15 UTC
Reassigning to Honza, he knows a lot more about this area. Thanks.
Comment 2 Vladimir Riha 2012-11-01 08:47:09 UTC
Although it happens only once per project, I think this should be fixed for beta2
Comment 3 Jan Stola 2012-11-01 11:08:59 UTC
I don't see any reason why this should be a beta stopper. It happens at most once per project and never with the default settings (i.e., you have to modify an option in Project Properties to trigger this problem). Note that you even considered filling this issue with P3 priority in the initial comment.

Anyway, this seems to be a bug in handling of project configurations. You can see the stack-trace of the call that cancels the page inspection below. If I understand correctly then the active configuration is not set internally when the project is created. When a property is modified (note that this happens for 'Synchronize Navigator and browser element highlighting' property as well) in Project Properties then the active configuration is set, the corresponding change is fired and the current session is canceled/closed.

"Default RequestProcessor"
o.n.m.web.inspect.PageInspectorImpl$InspectionMessageListener.messageReceived
(PageInspectorImpl.java:360)
o.n.m.web.browser.spi.MessageDispatcher.dispatchMessage
(MessageDispatcher.java:91)
o.n.m.extbrowser.plugins.MessageDispatcherImpl.dispatchMessage
(MessageDispatcherImpl.java:56)
o.n.m.extbrowser.plugins.ExternalBrowserPlugin$BrowserTabDescriptor.deinitialize
(ExternalBrowserPlugin.java:740)
o.n.m.extbrowser.plugins.ExternalBrowserPlugin$BrowserTabDescriptor.access$400
(ExternalBrowserPlugin.java:603)
o.n.m.extbrowser.plugins.ExternalBrowserPlugin.close
(ExternalBrowserPlugin.java:148)
o.n.m.extbrowser.ExtBrowserImpl.close(ExtBrowserImpl.java:240)
o.n.m.web.browser.api.WebBrowserPane.close(WebBrowserPane.java:147)
o.n.m.web.browser.api.BrowserSupport.close(BrowserSupport.java:269)
o.n.m.web.clientproject.browser.ClientProjectConfigurationImpl.deactivate
(ClientProjectConfigurationImpl.java:185)
o.n.modules.web.clientproject.ClientSideProject$1.propertyChange
(ClientSideProject.java:148)
java.beans.PropertyChangeSupport.firePropertyChange
(PropertyChangeSupport.java:339)
java.beans.PropertyChangeSupport.firePropertyChange
(PropertyChangeSupport.java:276)
o.n.m.web.clientproject.ClientSideConfigurationProvider$2.propertyChange
(ClientSideConfigurationProvider.java:104)
java.beans.PropertyChangeSupport.firePropertyChange
(PropertyChangeSupport.java:339)
org.netbeans.spi.project.support.ant.SequentialPropertyEvaluator.stateChanged
(SequentialPropertyEvaluator.java:208)
org.openide.util.WeakListenerImpl$Change.stateChanged(WeakListenerImpl.java:329)
org.openide.util.ChangeSupport.fireChange(ChangeSupport.java:133)
org.openide.util.ChangeSupport.fireChange(ChangeSupport.java:119)
org.netbeans.spi.project.support.ant.ProjectProperties$PP$2.run
(ProjectProperties.java:348)
org.netbeans.spi.project.support.ant.ProjectProperties$PP$2.run
(ProjectProperties.java:346)
org.openide.util.Mutex.readAccess(Mutex.java:290)
org.netbeans.spi.project.support.ant.ProjectProperties$PP.fireChange
(ProjectProperties.java:354)
org.netbeans.spi.project.support.ant.ProjectProperties$PP.put
(ProjectProperties.java:223)
org.netbeans.spi.project.support.ant.ProjectProperties.putProperties
(ProjectProperties.java:131)
org.netbeans.spi.project.support.ant.AntProjectHelper$6.run
(AntProjectHelper.java:749)
org.netbeans.spi.project.support.ant.AntProjectHelper$6.run
(AntProjectHelper.java:747)
org.openide.util.Mutex.writeAccess(Mutex.java:399)
org.netbeans.spi.project.support.ant.AntProjectHelper.putProperties
(AntProjectHelper.java:747)
o.n.m.w.clientproject.ClientSideConfigurationProvider.setActiveConfiguration
(ClientSideConfigurationProvider.java:160)
o.n.m.w.clientproject.ui.customizer.ClientSideProjectProperties.setActiveConfig
(ClientSideProjectProperties.java:192)
o.n.m.w.clientproject.ui.customizer.ClientSideProjectProperties$2.run
(ClientSideProjectProperties.java:151)
o.n.m.w.clientproject.ui.customizer.ClientSideProjectProperties$2.run
(ClientSideProjectProperties.java:146)
org.openide.util.Mutex.writeAccess(Mutex.java:438)
o.n.m.w.clientproject.ui.customizer.ClientSideProjectProperties.save
(ClientSideProjectProperties.java:146)
o.n.m.w.clientproject.ui.customizer.CustomizerProviderImpl$StoreListener.
actionPerformed(CustomizerProviderImpl.java:151)
o.n.m.project.uiapi.CustomizerDialog$OptionListener$2$1$1.run
(CustomizerDialog.java:306)
org.openide.filesystems.FileUtil$2.run(FileUtil.java:621)
org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:127)
org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:607)
org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:605)
org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:625)
o.n.m.project.uiapi.CustomizerDialog$OptionListener$2$1.run
(CustomizerDialog.java:301)
org.openide.util.Mutex.writeAccess(Mutex.java:399)
o.n.m.project.uiapi.CustomizerDialog$OptionListener$2.run
(CustomizerDialog.java:298)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1454)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2036)
Comment 4 Vladimir Riha 2012-11-01 12:11:21 UTC
(In reply to comment #3)
> I don't see any reason why this should be a beta stopper. It happens at most
> once per project and never with the default settings

Because it happens for the first time you change this setting and out of nowhere "nothing" works. If the fix is not too risky, I think it should be fixed.
Comment 5 David Konecny 2012-11-04 22:23:16 UTC
web-main#dc8aec734fab

Tomas, could you review please? The fix is simple and should be save - calculating active configuration should be save to call from the constructor. I also removed firing of ProjectConfigurationProvider.PROP_CONFIGURATION_ACTIVE because project's evaluator listener on PROP_CONFIG will take care of that.

I think we should put this fix in Beta2 because it happens even without changing "Auto Refresh" or other checkboxes - just open Run panel in project properties and press OK will result in the same outcome (for each project the first time).
Comment 6 David Konecny 2012-11-05 00:57:50 UTC
Integrated into release73_beta2 as dcdef043c867
Comment 7 Tomas Mysik 2012-11-05 06:31:42 UTC
The patch seems OK to me.

Davide, one note: you have added trailing whitespace in your commit - to avoid it for the next time, you can easily configure NetBeans, see Tools > Options > Editor > Remove Traling Whitespace - From Modified Lines Only (this will not affect SCM history of the files).

Láďo, I have added "73beta2-fixed" SW - the process is the same as for Beta1 I guess, right?

Thanks.
Comment 8 Vladimir Riha 2012-11-05 07:45:19 UTC
(In reply to comment #7)
> Láďo, I have added "73beta2-fixed" SW - the process is the same as for Beta1 I
> guess, right?

Yes, only the SW is stopper-fixed.

Thanks, verified in

Product Version: NetBeans IDE Dev (Build web-main-9101-on-20121104)
Java: 1.7.0_10-ea; Java HotSpot(TM) Client VM 23.6-b04
Runtime: Java(TM) SE Runtime Environment 1.7.0_10-ea-b11
System: Linux version 3.2.0-32-generic-pae running on i386; UTF-8; en_US (nb)
Comment 9 David Konecny 2012-11-05 20:06:16 UTC
(In reply to comment #7)
> Davide, one note: you have added trailing whitespace in your commit

Thanks! I had to nuke my IDE settings after I upgraded to Ubuntu 12.04 and obviously lost this one.
Comment 10 Quality Engineering 2012-11-05 23:17:12 UTC
Integrated into 'releases', will be available in build *201211052012* or newer. Wait for official and publicly available build.
Changeset: http://hg.netbeans.org/releases/rev/dcdef043c867
User: David Konecny <dkonecny@netbeans.org>
Log: #220990 - Disabling Auto-Refresh breaks communication between IDE and Chrome
Comment 11 Quality Engineering 2012-11-06 03:12:07 UTC
Integrated into 'main-golden', will be available in build *201211060001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/dc8aec734fab
User: David Konecny <dkonecny@netbeans.org>
Log: #220990 - Disabling Auto-Refresh breaks communication between IDE and Chrome
Comment 12 Vladimir Riha 2012-11-06 09:55:47 UTC
Verified in Beta2


Product Version: NetBeans IDE 7.3 Beta 2 (Build 201211052012)
Java: 1.7.0_10-ea; Java HotSpot(TM) Client VM 23.6-b04
Runtime: Java(TM) SE Runtime Environment 1.7.0_10-ea-b11
System: Linux version 3.2.0-32-generic-pae running on i386; UTF-8; en_US (nb)