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 - FS watcher not initialized on Kubuntu 10.10
Summary: FS watcher not initialized on Kubuntu 10.10
Status: RESOLVED WONTFIX
Alias: None
Product: platform
Classification: Unclassified
Component: Filesystems (show other bugs)
Version: 7.0
Hardware: Other Linux
: P2 normal (vote)
Assignee: Jaroslav Tulach
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-08 08:33 UTC by Jaroslav Tulach
Modified: 2010-11-24 16:32 UTC (History)
3 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 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)