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 248449 - Empty new files (New C++ Main File, New C Main File, New Class wizards in full remote mode)
Summary: Empty new files (New C++ Main File, New C Main File, New Class wizards in ful...
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Remote (show other bugs)
Version: 8.0.1
Hardware: PC Solaris
: P2 normal (vote)
Assignee: issues@cnd
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-06 09:23 UTC by soldatov
Modified: 2015-06-18 02:42 UTC (History)
0 users

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 soldatov 2014-11-06 09:23:25 UTC
Scenario:
- Add remote USA host
- Call New Class wizard
- Press Finish
==> IDE creates newClass.cpp and newClass.h files, but files are empty
Comment 1 Alexander Simon 2014-11-06 10:26:40 UTC
I have seen such behavior on fast connection.
I got randomly empty file newClass.cpp or newClass.h.
Comment 2 Vladimir Kvashin 2015-06-16 13:51:33 UTC
Investigatiopn shows that when execution comes to this place (see the stack below), cache file is empty.

"wizard-descriptor-asynchronous-jobs"
	at org.netbeans.modules.remote.impl.fs.RemotePlainFile$DelegateOutputStream.close(RemotePlainFile.java:567)
	at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:320)
	at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:149)
	at java.io.OutputStreamWriter.close(OutputStreamWriter.java:233)
	at org.netbeans.modules.templates.ScriptingCreateFromTemplateHandler.createFromTemplate(ScriptingCreateFromTemplateHandler.java:135)
	at org.netbeans.api.templates.CreateFromTemplateImpl.build(CreateFromTemplateImpl.java:121)
	at org.netbeans.api.templates.CreateFromTemplateImpl.build(CreateFromTemplateImpl.java:92)
	at org.netbeans.api.templates.FileBuilder.build(FileBuilder.java:250)
	at org.netbeans.api.templates.FileBuilder.createFromTemplate(FileBuilder.java:351)
	at org.openide.loaders.MultiDataObject.handleCreateFromTemplate(MultiDataObject.java:878)
	at org.netbeans.modules.cnd.source.SourceDataObject.handleCreateFromTemplate(SourceDataObject.java:135)
	at org.openide.loaders.DataObject$CreateAction.run(DataObject.java:1597)
	at org.openide.loaders.DataObjectPool$1WrapAtomicAction.run(DataObjectPool.java:261)
	at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:127)
	at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:499)
	at org.openide.loaders.DataObjectPool.runAtomicAction(DataObjectPool.java:286)
	at org.openide.loaders.DataObject.invokeAtomicAction(DataObject.java:1051)
	at org.openide.loaders.DataObject.createFromTemplate(DataObject.java:983)
	at org.netbeans.modules.cnd.editor.filecreation.CndClassWizardIterator.instantiate(CndClassWizardIterator.java:95)
	at org.netbeans.modules.cnd.editor.filecreation.CCFSrcFileIterator.instantiate(CCFSrcFileIterator.java:155)
	at org.openide.loaders.TemplateWizard$InstantiatingIteratorBridge.instantiate(TemplateWizard.java:1051)
	at org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:605)
	at org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:439)
	at org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:253)
Comment 3 Vladimir Kvashin 2015-06-16 17:23:36 UTC
Here is a race:
Comment 4 Vladimir Kvashin 2015-06-16 17:26:51 UTC
(In reply to Vladimir Kvashin from comment #3)
> Here is a race:

"LocalHistoryStore"
	at org.netbeans.modules.remote.impl.fs.RemoteDirectory.ensureChildSync(RemoteDirectory.java:1573)
	at org.netbeans.modules.remote.impl.fs.RemotePlainFile.getInputStream(RemotePlainFile.java:333)
	at org.netbeans.modules.remote.impl.fileoperations.spi.FileOperationsProvider$FileOperations.getInputStream(FileOperationsProvider.java:362)
	at org.netbeans.modules.remotefs.versioning.spi.FileProxyProviderImpl$FileOperationsImpl.getInputStream(FileProxyProviderImpl.java:263)
	at org.netbeans.modules.versioning.core.api.VCSFileProxy.getInputStream(VCSFileProxy.java:361)
	at org.netbeans.modules.localhistory.utils.FileUtils.createInputStream(FileUtils.java:317)
	at org.netbeans.modules.localhistory.utils.FileUtils.copy(FileUtils.java:144)
	at org.netbeans.modules.localhistory.store.LocalHistoryStoreImpl.storeChangedSync(LocalHistoryStoreImpl.java:213)
	at org.netbeans.modules.localhistory.store.LocalHistoryStoreImpl.access$400(LocalHistoryStoreImpl.java:83)
	at org.netbeans.modules.localhistory.store.LocalHistoryStoreImpl$3.run(LocalHistoryStoreImpl.java:189)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058)

and 

"wizard-descriptor-asynchronous-jobs"
	at org.netbeans.modules.remote.impl.fs.RemotePlainFile$DelegateOutputStream.close(RemotePlainFile.java:588)
	at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:320)
	at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:149)
	at java.io.OutputStreamWriter.close(OutputStreamWriter.java:233)
	at org.netbeans.modules.templates.ScriptingCreateFromTemplateHandler.createFromTemplate(ScriptingCreateFromTemplateHandler.java:135)
	at org.netbeans.api.templates.CreateFromTemplateImpl.build(CreateFromTemplateImpl.java:121)
	at org.netbeans.api.templates.CreateFromTemplateImpl.build(CreateFromTemplateImpl.java:92)
	at org.netbeans.api.templates.FileBuilder.build(FileBuilder.java:250)
	at org.netbeans.api.templates.FileBuilder.createFromTemplate(FileBuilder.java:351)
	at org.openide.loaders.MultiDataObject.handleCreateFromTemplate(MultiDataObject.java:878)
	at org.netbeans.modules.cnd.source.SourceDataObject.handleCreateFromTemplate(SourceDataObject.java:135)
	at org.openide.loaders.DataObject$CreateAction.run(DataObject.java:1597)
	at org.openide.loaders.DataObjectPool$1WrapAtomicAction.run(DataObjectPool.java:261)
	at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:127)
	at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:499)
	at org.openide.loaders.DataObjectPool.runAtomicAction(DataObjectPool.java:286)
	at org.openide.loaders.DataObject.invokeAtomicAction(DataObject.java:1051)
	at org.openide.loaders.DataObject.createFromTemplate(DataObject.java:983)
	at org.netbeans.modules.cnd.editor.filecreation.CndClassWizardIterator.instantiate(CndClassWizardIterator.java:102)
	at org.netbeans.modules.cnd.editor.filecreation.CCFSrcFileIterator.instantiate(CCFSrcFileIterator.java:155)
	at org.openide.loaders.TemplateWizard$InstantiatingIteratorBridge.instantiate(TemplateWizard.java:1051)
	at org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:605)
	at org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:439)
	at org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:253)
	at org.openide.loaders.TemplateWizardIteratorWrapper$ProgressInstantiatingIterator.instantiate(TemplateWizardIteratorWrapper.java:180)
	at org.openide.WizardDescriptor.callInstantiateOpen(WizardDescriptor.java:1626)
	at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1570)
	at org.openide.WizardDescriptor.access$2300(WizardDescriptor.java:92)
	at org.openide.WizardDescriptor$Listener$2$1.run(WizardDescriptor.java:2257)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058)

The 1-st thread downloads file from remote (where it is still empty), the 2-nd one uploads the file to remote.
Comment 5 Vladimir Kvashin 2015-06-16 19:28:40 UTC
fixed in
http://hg.netbeans.org/cnd-main/rev/11860d724510
Comment 6 Quality Engineering 2015-06-18 02:42:19 UTC
Integrated into 'main-silver', will be available in build *201506180001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/11860d724510
User: Vladimir Kvashin <vkvashin@netbeans.org>
Log: fixed #248449 - Empty new files (New C++ Main File, New C Main File, New Class wizards in full remote mode)