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 196884 - Imported remote project directory does not refresh after build
Summary: Imported remote project directory does not refresh after build
Status: VERIFIED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Remote (show other bugs)
Version: 7.0
Hardware: All All
: P1 normal (vote)
Assignee: Vladimir Kvashin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-20 10:55 UTC by Vladimir Kvashin
Modified: 2011-04-05 13:34 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
proposed fix as it was after todays review w/VVV (20.57 KB, patch)
2011-03-30 18:16 UTC, Vladimir Kvashin
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Kvashin 2011-03-20 10:55:45 UTC
My makefile contains commands that create a directory and generate some source files. Since I can't see sources if Files view due to issue 196882, I added my project remote directory to Favorites. But I can't see there generated files and directories either.
Comment 1 Alexander Pepin 2011-03-21 10:53:44 UTC
I believe it should be fixed by FCS (not in RC1).
Comment 2 Leonid Lenyashin 2011-03-21 10:59:00 UTC
It is an issue, but I'm not sure it is showstopper. Many users will not see it. Any workaround available?
Comment 3 Vladimir Kvashin 2011-03-22 09:53:48 UTC
Partial fix in cnd-main:
http://hg.netbeans.org/cnd-main/rev/3fe14134a914
Comment 4 Quality Engineering 2011-03-23 10:01:04 UTC
Integrated into 'main-golden', will be available in build *201103230400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/3fe14134a914
User: Vladimir Kvashin <vkvashin@netbeans.org>
Log: fixing #196884 - Imported remote project directory does not refresh after build, #196951 NPE
Comment 5 Vladimir Kvashin 2011-03-23 16:57:12 UTC
Extra fix in cnd-main:
http://hg.netbeans.org/cnd-main/rev/b5eaace9bf5a
Comment 6 Quality Engineering 2011-03-24 09:51:04 UTC
Integrated into 'main-golden', will be available in build *201103240400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/b5eaace9bf5a
User: Vladimir Kvashin <vkvashin@netbeans.org>
Log: extra fix for #196884 - Imported remote project directory does not refresh after build
Comment 7 Alexander Pepin 2011-03-24 13:31:01 UTC
Now each "clean and build" adds additional directories (dist and build) to the project in Projects view and does not update Files
Comment 8 Vladimir Kvashin 2011-03-24 16:18:50 UTC
Should now be fixed in cnd-main
http://hg.netbeans.org/cnd-main/rev/10c84a6af98f
Comment 9 Quality Engineering 2011-03-25 09:52:24 UTC
Integrated into 'main-golden', will be available in build *201103250400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/10c84a6af98f
User: Vladimir Kvashin <vkvashin@netbeans.org>
Log: extra fix for #196884 - Imported remote project directory does not refresh after build
Comment 10 Alexander Pepin 2011-03-25 18:31:24 UTC
It's still working very unstable especially on Windows. Please investigate.
Comment 11 Alexander Pepin 2011-03-28 12:31:41 UTC
I got an exception in build #5040 when called Clean&Build with opened Files view.

java.lang.IllegalArgumentException: All children must have the same parent: /export/hudson/home/working/Quote_mkfb/build vs. /export/hudson/home/working/Quote_mkfb/build
Children: [hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/cpu.o, hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/customer.o, hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/disk.o, hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/memory.o, hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/module.o, hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/quote.o, hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/system.o]
	at org.openide.filesystems.Ordering.getOrder(Ordering.java:113)
	at org.openide.filesystems.FileUtil.getOrder(FileUtil.java:2167)
	at org.openide.loaders.FolderChildren$1R.run(FolderChildren.java:160)
Caused: org.openide.util.RequestProcessor$SlowItem: task failed due to
	at org.openide.util.RequestProcessor.post(RequestProcessor.java:425)
	at org.openide.loaders.FolderChildren.refreshChildren(FolderChildren.java:194)
	at org.openide.loaders.FolderChildren.addNotify(FolderChildren.java:294)
	at org.openide.nodes.Children.callAddNotify(Children.java:568)
	at org.openide.nodes.EntrySupport$Lazy.checkInit(EntrySupport.java:1045)
	at org.openide.nodes.EntrySupport$Lazy.getNodesCount(EntrySupport.java:1245)
	at org.openide.nodes.Children.getNodesCount(Children.java:502)
	at org.openide.loaders.FolderChildren.getNodesCount(FolderChildren.java:268)
	at org.openide.nodes.FilterNode$Children$LazySupport.callGetNodesCount(FilterNode.java:1774)
	at org.openide.nodes.FilterNode$Children.getNodesCount(FilterNode.java:1612)
	at org.openide.explorer.view.TreeView$6.run(TreeView.java:1005)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)



After that I'm not able to refresh "build" directory in Files any more.
Comment 12 Alexander Pepin 2011-03-28 15:23:45 UTC
in build #5042 I somehow got on windows:
/bin/sh: C:\Users\ap153252\Documents\NetBeansProjects\Quote_mkfb_inner_shadow: does not exist

CLEAN FAILED (exit value 1, total time: 3ms)

It looks like Windows local shadow project path was applied for the remote solaris host.
Comment 13 Vladimir Kvashin 2011-03-28 22:22:53 UTC
I believe this should be fixed in cnd-main by
http://hg.netbeans.org/cnd-main/rev/4e058731e4d1
http://hg.netbeans.org/cnd-main/rev/41777fad14bf

Except for "C:\Users\ap153252\Documents\NetBeansProjects\Quote_mkfb_inner_shadow: does not exist", which I believe deserve a separate IZ
Comment 14 Vladimir Kvashin 2011-03-29 06:48:45 UTC
Extra fix:
http://hg.netbeans.org/cnd-main/rev/025987d8751b
Comment 15 Quality Engineering 2011-03-29 08:42:33 UTC
Integrated into 'main-golden', will be available in build *201103290400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/4e058731e4d1
User: Vladimir Kvashin <vkvashin@netbeans.org>
Log: fixing #196884 - Imported remote project directory does not refresh after build
- eliminate unnecessary refresh
Comment 16 Vladimir Kvashin 2011-03-29 09:20:36 UTC
After review it was decided to make one more additional fix
Comment 17 Vladimir Kvashin 2011-03-29 10:04:16 UTC
extra fix: if sftp reports "file not found", drop DirectoryStorage memory cache
http://hg.netbeans.org/cnd-main/rev/bf9ebfdaba66
Comment 18 Vladimir Voskresensky 2011-03-29 11:38:52 UTC
I've checked and in my env now it works.
Comment 19 Alexander Pepin 2011-03-29 13:13:18 UTC
If any of object files is deleted it does not appear any more after Build.
Comment 20 Alexander Pepin 2011-03-29 13:21:15 UTC
the exception mentioned in comment #11 still appears:
java.lang.IllegalArgumentException: All children must have the same parent: /export/hudson/home/working/Quote_mkfb/build vs. /export/hudson/home/working/Quote_mkfb/build
Children: [hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/cpu.o, hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/customer.o, hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/module.o, hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/quote.o, hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb/build/system.o]
	at org.openide.filesystems.Ordering.getOrder(Ordering.java:113)
	at org.openide.filesystems.FileUtil.getOrder(FileUtil.java:2167)
	at org.openide.loaders.FolderChildren$1R.run(FolderChildren.java:160)
Caused: org.openide.util.RequestProcessor$SlowItem: task failed due to
	at org.openide.util.RequestProcessor.post(RequestProcessor.java:425)
	at org.openide.loaders.FolderChildren.refreshChildren(FolderChildren.java:194)
	at org.openide.loaders.FolderChildren.fileDeleted(FolderChildren.java:345)
	at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:459)
	at $Proxy1.fileDeleted(Unknown Source)
	at org.openide.filesystems.FCLSupport$DispatchEventWrapper.dispatchEventImpl(FCLSupport.java:148)
	at org.openide.filesystems.FCLSupport$DispatchEventWrapper.dispatchEvent(FCLSupport.java:128)
	at org.openide.filesystems.FCLSupport.dispatchEvent(FCLSupport.java:105)
	at org.openide.filesystems.FileObject$ED.dispatch(FileObject.java:1146)
	at org.openide.filesystems.EventControl.invokeDispatchers(EventControl.java:208)
	at org.openide.filesystems.EventControl.exitAtomicAction(EventControl.java:182)
	at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:127)
	at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:566)
	at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:572)
	at org.netbeans.modules.refactoring.spi.impl.SafeDeleteAction.delete(SafeDeleteAction.java:153)
	at org.openide.explorer.ExplorerActionsImpl$DeleteActionPerformer.actionPerformed(ExplorerActionsImpl.java:609)
	at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:93)
	at org.openide.util.actions.ActionInvoker$ActionRunnable.actionPerformed(ActionInvoker.java:162)
	at org.netbeans.core.ModuleActions.invokeAction(ModuleActions.java:109)
	at org.netbeans.modules.openide.actions.ActionsBridgeImpl.invokeAction(ActionsBridgeImpl.java:60)
	at org.openide.util.actions.ActionInvoker$ActionRunnable.doRun(ActionInvoker.java:153)
	at org.openide.util.actions.ActionInvoker$2.run(ActionInvoker.java:110)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)
Comment 21 Vladimir Voskresensky 2011-03-29 18:18:14 UTC
(In reply to comment #19)
> If any of object files is deleted it does not appear any more after Build.
This should have workaround: IDE focus lost, IDE focus gained.
Does it help?
Comment 22 Quality Engineering 2011-03-30 08:42:35 UTC
Integrated into 'main-golden', will be available in build *201103300400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/025987d8751b
User: Vladimir Kvashin <vkvashin@netbeans.org>
Log: extra fix for #196884 - Imported remote project directory does not refresh after build
Comment 23 Alexander Pepin 2011-03-30 10:54:25 UTC
(In reply to comment #21)
> This should have workaround: IDE focus lost, IDE focus gained. Does it help?

The workaround works.
Comment 24 Alexander Pepin 2011-03-30 10:55:03 UTC
Please fix "java.lang.IllegalArgumentException: All children must have the same parent"
Comment 25 Vladimir Kvashin 2011-03-30 18:16:00 UTC
Created attachment 107389 [details]
proposed fix as it was after todays review w/VVV
Comment 26 Alexander Pepin 2011-03-31 15:10:45 UTC
the latest fix is verified in dev build #5066.
Comment 28 Quality Engineering 2011-04-01 08:40:40 UTC
Integrated into 'main-golden', will be available in build *201104010400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/ccd6ed6dde7b
User: Vladimir Kvashin <vkvashin@netbeans.org>
Log: fix for  #196884 - Imported remote project directory does not refresh after build
- corrected refresh order
- check validity in equals
Comment 29 Alexander Pepin 2011-04-01 12:24:57 UTC
In build #5076 I get "Error synchronizing project..." and IDE log contains:
INFO [cnd.remote.logger]: Error synchronizing project to hudson@nyx-intel2
java.io.IOException: Can not create folder private in hudson@nyx-intel2:22:/export/hudson/home/working/Quote_mkfb_proj/nbproject/private/full_remote_tmp
	at org.netbeans.modules.cnd.makeproject.actions.ShadowProjectSynchronizer.getOrCreateFileObject(ShadowProjectSynchronizer.java:677)
	at org.netbeans.modules.cnd.makeproject.actions.ShadowProjectSynchronizer.copy(ShadowProjectSynchronizer.java:688)
	at org.netbeans.modules.cnd.makeproject.actions.ShadowProjectSynchronizer.copy(ShadowProjectSynchronizer.java:695)
	at org.netbeans.modules.cnd.makeproject.actions.ShadowProjectSynchronizer.copy(ShadowProjectSynchronizer.java:683)
	at org.netbeans.modules.cnd.makeproject.actions.ShadowProjectSynchronizer.updateRemoteProjectImpl(ShadowProjectSynchronizer.java:318)
	at org.netbeans.modules.cnd.makeproject.actions.ShadowProjectSynchronizer.updateRemoteProject(ShadowProjectSynchronizer.java:172)
[catch] at org.netbeans.modules.cnd.makeproject.actions.FullRemoteExtensionProviderImpl.updateRemoteProject(FullRemoteExtensionProviderImpl.java:130)
	at org.netbeans.modules.cnd.makeproject.actions.FullRemoteExtensionProviderImpl.configurationSaved(FullRemoteExtensionProviderImpl.java:105)
	at org.netbeans.modules.cnd.makeproject.FullRemoteExtension.configurationSaved(FullRemoteExtension.java:73)
	at org.netbeans.modules.cnd.makeproject.api.configurations.MakeConfigurationDescriptor$SaveRunnable.run(MakeConfigurationDescriptor.java:779)
	at org.netbeans.modules.cnd.makeproject.api.configurations.MakeConfigurationDescriptor.save(MakeConfigurationDescriptor.java:724)
	at org.netbeans.modules.cnd.makeproject.api.ProjectSupport.saveAllProjects(ProjectSupport.java:80)
	at org.netbeans.modules.cnd.makeproject.MakeActionProvider.onSaveStep(MakeActionProvider.java:510)
	at org.netbeans.modules.cnd.makeproject.MakeActionProvider.addTarget(MakeActionProvider.java:470)
	at org.netbeans.modules.cnd.makeproject.MakeActionProvider.addAction(MakeActionProvider.java:456)
	at org.netbeans.modules.cnd.makeproject.MakeActionProvider.access$100(MakeActionProvider.java:148)
	at org.netbeans.modules.cnd.makeproject.MakeActionProvider$1.runImpl(MakeActionProvider.java:327)
	at org.netbeans.modules.cnd.makeproject.MakeActionProvider$CancellableTask.run(MakeActionProvider.java:1537)
	at org.netbeans.modules.cnd.utils.ui.ModalMessageDlg$WindowAdapterImpl$1.runImpl(ModalMessageDlg.java:265)
	at org.netbeans.modules.cnd.utils.NamedRunnable.run(NamedRunnable.java:62)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)
Comment 30 Alexander Pepin 2011-04-01 14:19:06 UTC
As the main problem reported in the bug is fixed than the showstopper can be considered as fixed and verified. Synchronization issue will be addressed in bug #196501
Please integrate the fix into release70 branch.
Comment 31 Vladimir Voskresensky 2011-04-04 13:24:59 UTC
fixes are reviewed and they should be integrated
Comment 33 Alexander Pepin 2011-04-05 13:34:01 UTC
verified in RC2 build 20110405