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 191720

Summary: FS watcher not initialized on Kubuntu 10.10
Product: platform Reporter: Jaroslav Tulach <jtulach>
Component: FilesystemsAssignee: Jaroslav Tulach <jtulach>
Status: RESOLVED WONTFIX    
Severity: normal CC: anebuzelsky, mmirilovic, saubrecht
Priority: P2    
Version: 7.0   
Hardware: Other   
OS: Linux   
Issue Type: DEFECT Exception Reporter:

Description Jaroslav Tulach 2010-11-08 08:33:35 UTC
The masterfs needs to be ready to work before ModuleInstall of any module is called. According to last week's explanation by Petr NejedlĂ˝, the following bug is caused by masterfs trying to access the disk sooner than libs.jna module install is called. 

You can either delay the initialization or change the libs.jna module to initialize as soon as its clases are first used.


java.lang.UnsatisfiedLinkError: com.sun.jna.Native.pointerSize()I
com.sun.jna.Native.pointerSize(Native Method)
com.sun.jna.Native.<clinit>(Native.java:88)
org.netbeans.modules.masterfs.watcher.LinuxNotifier.<init>(LinuxNotifier.java:97)
 [catch] at org.netbeans.modules.masterfs.watcher.Watcher.getNotifierForPlatform(Watcher.java:230)
org.netbeans.modules.masterfs.watcher.Watcher.<init>(Watcher.java:82)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:532)
java.lang.Class.newInstance0(Class.java:372)
java.lang.Class.newInstance(Class.java:325)
org.openide.util.lookup.implspi.SharedClassObjectBridge.newInstance(SharedClassObjectBridge.java:64)
org.openide.util.lookup.MetaInfServicesLookup$P.getInstance(MetaInfServicesLookup.java:488)
org.openide.util.lookup.AbstractLookup$R.allInstances(AbstractLookup.java:1005)
org.openide.util.lookup.ProxyLookup$R.computeResult(ProxyLookup.java:551)
org.openide.util.lookup.ProxyLookup$R.allInstances(ProxyLookup.java:491)
org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem$StatusImpl.resultChanged(FileBasedFileSystem.java:253)
org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem$StatusImpl.<init>(FileBasedFileSystem.java:238)
org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem.<init>(FileBasedFileSystem.java:77)
org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem.<clinit>(FileBasedFileSystem.java:75)
org.netbeans.modules.masterfs.filebasedfs.FileBasedURLMapper.getFileObjects(FileBasedURLMapper.java:134)
org.netbeans.modules.masterfs.MasterURLMapper.getFileObjects(MasterURLMapper.java:65)
org.openide.filesystems.URLMapper.findFileObject(URLMapper.java:216)
org.netbeans.core.startup.layers.NbinstURLMapper.decodeURL(NbinstURLMapper.java:113)
org.netbeans.core.startup.layers.NbinstURLMapper.getFileObjects(NbinstURLMapper.java:85)
org.openide.filesystems.URLMapper.findFileObject(URLMapper.java:216)
org.netbeans.modules.java.j2seplatform.libraries.J2SELibraryTypeProvider.addLibraryIntoBuild(J2SELibraryTypeProvider.java:196)
org.netbeans.modules.java.j2seplatform.libraries.J2SELibraryTypeProvider.access$000(J2SELibraryTypeProvider.java:78)
org.netbeans.modules.java.j2seplatform.libraries.J2SELibraryTypeProvider$1.run(J2SELibraryTypeProvider.java:128)
org.openide.util.Mutex.postRequest(Mutex.java:1256)
org.openide.util.Mutex.postWriteRequest(Mutex.java:585)
org.netbeans.modules.java.j2seplatform.libraries.J2SELibraryTypeProvider.libraryCreated(J2SELibraryTypeProvider.java:123)
org.netbeans.modules.project.libraries.LibrariesStorage.loadFromStorage(LibrariesStorage.java:175)
org.netbeans.modules.project.libraries.LibrariesStorage.initStorage(LibrariesStorage.java:221)
org.netbeans.modules.project.libraries.LibrariesStorage.getLibraries(LibrariesStorage.java:324)
org.netbeans.modules.project.libraries.LibrariesModule.initProviders(LibrariesModule.java:66)
org.netbeans.modules.project.libraries.LibrariesModule.restored(LibrariesModule.java:61)
org.netbeans.core.startup.NbInstaller.loadCode(NbInstaller.java:426)
org.netbeans.core.startup.NbInstaller.load(NbInstaller.java:366)
org.netbeans.ModuleManager.enable(ModuleManager.java:1010)
org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:318)
org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:254)
org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:286)
org.netbeans.core.startup.Main.getModuleSystem(Main.java:172)
org.netbeans.core.startup.Main.start(Main.java:308)
org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:114)
java.lang.Thread.run(Thread.java:636)
Comment 1 Petr Nejedly 2010-11-08 15:25:47 UTC
Standa is already working on replacing the JNA initialization with proper library layout (which needs no ModuleInstall).
Comment 2 Tomas Danek 2010-11-10 10:35:24 UTC
making p2, since i don't want it to be beta stopper. According to Petr this should issue not affect ability to do fs refresh. Standa has fix already, it will go to trunk.
Comment 3 Jaroslav Tulach 2010-11-10 17:41:47 UTC
"A major functionality is not going to work in beta for unknown, but not small number of users" is not a beta stopper!? OK.
Comment 4 Petr Nejedly 2010-11-11 15:41:44 UTC
It seems that the problem is related to openjdk (vs. sun jdk) on given machine and is broken for every JNA user, not only filesystems.
Comment 5 Jaroslav Tulach 2010-11-24 13:30:20 UTC
OpenJDK problem. Propriatery Sun's JDK works fine.
Comment 6 Antonin Nebuzelsky 2010-11-24 13:49:52 UTC
Will the exception be shown to the user or is it only logged and we silently fallback to the recursive FS refresh on "focus gained" events?
Comment 7 Jaroslav Tulach 2010-11-24 16:32:59 UTC
Yes, we will fallback to the "refresh on focus" behavior.

However the OpenJDK shall really be fixed. Marian, Tonda says, that QA is the right person to contact someone from OpenJDK. Can you please report a bug for them?


/usr/lib/jvm/java-1.6.0-openjdk/bin/java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.1) (6b20-1.9.1-1ubuntu3)
OpenJDK Server VM (build 17.0-b16, mixed mode)