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 59319 - ClearCase: Can't create new Project inside NFS work dir under solaris
Summary: ClearCase: Can't create new Project inside NFS work dir under solaris
Status: RESOLVED FIXED
Alias: None
Product: obsolete
Classification: Unclassified
Component: vcsgeneric (show other bugs)
Version: 4.x
Hardware: Sun Solaris
: P1 blocker (vote)
Assignee: issues@obsolete
URL:
Keywords:
Depends on: 57534
Blocks:
  Show dependency tree
 
Reported: 2005-05-27 12:12 UTC by Andrew Korostelev
Modified: 2005-07-13 14:59 UTC (History)
2 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 Andrew Korostelev 2005-05-27 12:12:59 UTC
reproduced in buzz build 7a under solaris 9 on sparc.

User can't create new project with mounted ClearCase VOB as a Project Location
( ClearCase VOB is NFS mounted directory ). 

At the same time if registered ClearCase working directory actually points to
NFS mounted directory, but not to the real ClearCase VOB (it is not correct to
do this, we we've tried for test purposes), project would be created without
problems.

How to reproduce:
- Start new project creation by invoking "File|New Project" menu item
- Select Category "General" and Project type "Java Application". Press "Next >".
- accept default project name.
- Set project location value to mounted NFS directory (ClearCase VOB) and 
press "Finish"

The results are:
- "Invalid argument" error message.
- Button "Finish" is disabled
- exception in the output (at the end of description).


At the same time JSE created project directory, but can't open, because it is
broken.


If we create the same project not in ClearCase VOB directory and then copy it to
the VOB, JSE can open it without problems.


The following exception we've got in the output:

INFORMATIONAL *********** Exception occurred ************ at 5:16 PM on Jan 3, 2005
Annotation: Invalid argument
java.io.IOException: Invalid argument
        at sun.nio.ch.FileChannelImpl.lock0(Native Method)
        at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:822)
        at java.nio.channels.FileChannel.tryLock(FileChannel.java:967)
        at
org.netbeans.modules.masterfs.filebasedfs.fileobjects.WriteLock.<init>(WriteLock.java:85)
        at
org.netbeans.modules.masterfs.filebasedfs.fileobjects.WriteLock.tryLock(WriteLock.java:64)
        at
org.netbeans.modules.masterfs.Delegate$FileLockImpl.initLock(Delegate.java:260)
        at
org.netbeans.modules.masterfs.Delegate$FileLockImpl.access$200(Delegate.java:243)
        at org.netbeans.modules.masterfs.Delegate.lock(Delegate.java:170)
        at
org.netbeans.modules.masterfs.MasterFileObject.lock(MasterFileObject.java:154)
        at
org.netbeans.spi.project.support.ant.ProjectGenerator$1.run(ProjectGenerator.java:99)
        at org.openide.util.Mutex.writeAccess(Mutex.java:310)
        at
org.netbeans.spi.project.support.ant.ProjectGenerator.createProject0(ProjectGenerator.java:78)
        at
org.netbeans.spi.project.support.ant.ProjectGenerator.createProject(ProjectGenerator.java:73)
        at
org.netbeans.modules.java.j2seproject.J2SEProjectGenerator.createProject(J2SEProjectGenerator.java:138)
        at
org.netbeans.modules.java.j2seproject.J2SEProjectGenerator.createProject(J2SEProjectGenerator.java:58)
        at
org.netbeans.modules.java.j2seproject.ui.wizards.NewJ2SEProjectWizardIterator.instantiate(NewJ2SEProjectWizardIterator.java:118)
        at
org.openide.loaders.TemplateWizard$Brigde2Iterator.instantiate(TemplateWizard.java:969)
        at
org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:557)
        at
org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:396)
        at
org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:218)
        at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1425)
        at org.openide.WizardDescriptor.access$900(WizardDescriptor.java:63)
[catch] at
org.openide.WizardDescriptor$Listener.actionPerformed(WizardDescriptor.java:1327)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:383)
        at $Proxy12.actionPerformed(Unknown Source)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
        at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
        at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
        at java.awt.Component.processMouseEvent(Component.java:5488)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
        at java.awt.Component.processEvent(Component.java:5253)
        at java.awt.Container.processEvent(Container.java:1966)
        at java.awt.Component.dispatchEventImpl(Component.java:3955)
        at java.awt.Container.dispatchEventImpl(Container.java:2024)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
        at java.awt.Container.dispatchEventImpl(Container.java:2010)
        at java.awt.Window.dispatchEventImpl(Window.java:1766)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
        at java.awt.Dialog$1.run(Dialog.java:515)
        at java.awt.Dialog.show(Dialog.java:536)
        at
org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:800)
        at
org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:843)
        at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:831)
        at org.openide.util.Mutex$1.run(Mutex.java:1058)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

andrew.korostelev@sun.com 2005-05-14 11:47:22 GMT
denis.anisimov@sun.com 2005-05-18 08:16:36 GMT
Comment 1 Martin Entlicher 2005-05-27 15:52:10 UTC
ClearCase is an experimental profile for NetBeans and we can not test it.

From that report I do not see what's the real problem. You said, that the JSE 
project was created, but broken. Does that mean that there is problem in
creation of only some specific files? Are the directories read-only? Can you
create the files in shell?

Can that be caused by channel.tryLock()? Perhaps it does something that NFS+VOB
does not like...
Comment 2 Andrew Korostelev 2005-05-27 17:19:19 UTC
Situation with file system and broken project is the following:

VOB directory is checked out.
We can create view private files and directories from shell.
We can create CC controlled directories and files using 'cleartool'.

After failed attempt to create project in registered VOB directory, we have the
following directories and files structure:

VOB directory is: '/export/ClearCase/testccvob'

bash-2.05$ pwd
/export/ClearCase/testccvob
bash-2.05$ ls -al
total 7
drwxr-xr-x   6 avk      java         217 Jan 16 21:57 .
drwxrwxr-x   8 root     orion        512 Jan  7 15:15 ..
-rw-r--r--   1 avk      java         708 Jan 15 23:26 .nbintdb
drwxr-xr-x   5 avk      java         286 Jan 15 20:59 AnagramGame
drwxr-xr-x   3 avk      java         141 Jan 16 21:57 JavaApplication4
drwxr-xr-x   2 avk      java           0 Jan  7 15:13 lost+found
drwxr-xr-x   2 avk      java           0 Jan 16 21:46 vvv
bash-2.05$ ls -al JavaApplication4/
total 3
drwxr-xr-x   3 avk      java         141 Jan 16 21:57 .
drwxr-xr-x   6 avk      java         217 Jan 16 21:57 ..
drwxr-xr-x   2 avk      java         202 Jan 16 21:57 nbproject
bash-2.05$ ls -al JavaApplication4/nbproject/
total 2
drwxr-xr-x   2 avk      java         202 Jan 16 21:57 .
drwxr-xr-x   3 avk      java         141 Jan 16 21:57 ..
-rw-r--r--   1 avk      java           0 Jan 16 21:57 .LCKproject.xml~
-rw-r--r--   1 avk      java           0 Jan 16 21:57 project.xml



About channel.tryLock() as a cause of a problem:
The following exception is thrown in console (paste it because you have no
ability to reproduce this bug):

bash-2.05$ INFORMATIONAL *********** Exception occurred ************ at 10:13 PM
on Jan 16, 2005
Annotation: Invalid argument
java.io.IOException: Invalid argument
        at sun.nio.ch.FileChannelImpl.lock0(Native Method)
        at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:822)
        at java.nio.channels.FileChannel.tryLock(FileChannel.java:967)
        at
org.netbeans.modules.masterfs.filebasedfs.fileobjects.WriteLock.<init>(WriteLock.java:85)
        at
org.netbeans.modules.masterfs.filebasedfs.fileobjects.WriteLock.tryLock(WriteLock.java:64)
        at
org.netbeans.modules.masterfs.Delegate$FileLockImpl.initLock(Delegate.java:260)
        at
org.netbeans.modules.masterfs.Delegate$FileLockImpl.access$200(Delegate.java:243)
        at org.netbeans.modules.masterfs.Delegate.lock(Delegate.java:170)
        at
org.netbeans.modules.masterfs.MasterFileObject.lock(MasterFileObject.java:154)
        at
org.netbeans.spi.project.support.ant.ProjectGenerator$1.run(ProjectGenerator.java:99)
        at org.openide.util.Mutex.writeAccess(Mutex.java:310)
        at
org.netbeans.spi.project.support.ant.ProjectGenerator.createProject0(ProjectGenerator.java:78)
        at
org.netbeans.spi.project.support.ant.ProjectGenerator.createProject(ProjectGenerator.java:73)
        at
org.netbeans.modules.java.j2seproject.J2SEProjectGenerator.createProject(J2SEProjectGenerator.java:138)
        at
org.netbeans.modules.java.j2seproject.J2SEProjectGenerator.createProject(J2SEProjectGenerator.java:58)
        at
org.netbeans.modules.java.j2seproject.ui.wizards.NewJ2SEProjectWizardIterator.instantiate(NewJ2SEProjectWizardIterator.java:118
        at
org.openide.loaders.TemplateWizard$Brigde2Iterator.instantiate(TemplateWizard.java:969)
        at
org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:557)
        at
org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:396)
        at
org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:218)
        at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1425)
        at org.openide.WizardDescriptor.access$900(WizardDescriptor.java:63)
[catch] at
org.openide.WizardDescriptor$Listener.actionPerformed(WizardDescriptor.java:1327)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:383)
        at $Proxy19.actionPerformed(Unknown Source)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
        at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
        at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
        at java.awt.Component.processMouseEvent(Component.java:5488)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
        at java.awt.Component.processEvent(Component.java:5253)
        at java.awt.Container.processEvent(Container.java:1966)
        at java.awt.Component.dispatchEventImpl(Component.java:3955)
        at java.awt.Container.dispatchEventImpl(Container.java:2024)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
        at java.awt.Container.dispatchEventImpl(Container.java:2010)
        at java.awt.Window.dispatchEventImpl(Window.java:1766)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
        at java.awt.Dialog$1.run(Dialog.java:515)
        at java.awt.Dialog.show(Dialog.java:536)
        at
org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:800)
        at
org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:843)
        at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:831)
        at org.openide.util.Mutex$1.run(Mutex.java:1058)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Comment 3 Unknown 2005-06-07 22:51:58 UTC
This seems related to http://www.netbeans.org/issues/show_bug.cgi?id=57534.
Though 57534 was reported against mac os x, it is in essence an issue reported
against file locking issues with NFS files.

The final comments from issue 57534:
   The issue remains in NetBeans 4.1 release. We have recommendation how to use
   this release and avoid the issue.
   The simple workaround is to copy module .jar file from NetBeans release 4.0
   (netbeans/platform4/modules/org-netbeans-modules-masterfs.jar)
   and paste it to release 4.1 build into the directory        
   netbeans/platform5/modules/
   Filelocking feature is missing then of course.
   I replaced the masterfs module and everythi ng works fine when working with
   project on remote server (accessed by samba). 

Comment 5 Andrew Korostelev 2005-06-09 16:06:04 UTC
I've verified this bug using actual ClearCase VOB and VIEW with both versions of
masterfs.jar (from nb4.0 and nb4.1)

We have not this bug in nb4.0
We have bug in nb4.1 with native masterfs.jar
And this bug disappears if we start nb4.1 with masterfs.jar copied from nb4.0

About attempts to reproduce this bug: it is reproducible with actual ClearCase
VOB, but not with any directory mounted using NFS(it doesn't matter, if we
register directory mounted by nfs as a fake ClearCase VOB or simply create new
project in such directory).
Comment 6 Viliam Sivaninec 2005-07-13 14:59:13 UTC
Fixed by fixing Issue# 57534.