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 50991 - Exception on startup
Summary: Exception on startup
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Filesystems (show other bugs)
Version: 4.x
Hardware: Macintosh Mac OS X
: P3 blocker (vote)
Assignee: Petr Nejedly
URL:
Keywords: RANDOM, THREAD
Depends on:
Blocks:
 
Reported: 2004-10-30 05:00 UTC by _ tboudreau
Modified: 2008-12-22 20:03 UTC (History)
1 user (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 _ tboudreau 2004-10-30 05:00:27 UTC
Occurs intermittently with a relatively new userdir, logged as 
informational, but definitely looks disturbing

INFORMATIONAL *********** Exception occurred ************ at 
5:26 AM on Oct 30, 2004
java.lang.IndexOutOfBoundsException: Index: 444184766, Size: 
83
        at java.util.ArrayList.RangeCheck(ArrayList.java:507)
        at java.util.ArrayList.get(ArrayList.java:324)
[catch] at 
org.netbeans.core.projects.cache.BinaryFS$BFSFile.lastModified(B
inaryFS.java:666)
        at 
org.openide.filesystems.MultiFileObject.lastModified(MultiFileObj
ect.java:408)
        at 
org.openide.filesystems.MultiFileObject.lastModified(MultiFileObj
ect.java:408)
        at 
org.openide.loaders.InstanceDataObject$Ser.instanceOf(Instance
DataObject.java:1124)
        at 
org.openide.loaders.InstanceDataObject.instanceOf(InstanceData
Object.java:672)
        at 
org.openide.loaders.FolderLookup$ICItem.instanceOf(FolderLoo
kup.java:456)
        at 
org.openide.util.lookup.InheritanceTree$1VerifyJob.before(Inheri
tanceTree.java:333)
        at 
org.openide.util.lookup.AbstractLookup$ISE.recover(AbstractLoo
kup.java:1132)
        at 
org.openide.util.lookup.AbstractLookup.lookup(AbstractLookup.
java:374)
        at 
org.openide.util.lookup.ProxyLookup$R.initResults(ProxyLookup
.java:238)
        at 
org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyL
ookup.java:424)
        at 
org.openide.util.lookup.ProxyLookup$R.beforeLookup(ProxyLoo
kup.java:442)
        at 
org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyL
ookup.java:430)
        at 
org.openide.util.lookup.ProxyLookup$R.computeResult(ProxyLo
okup.java:355)
        at 
org.openide.util.lookup.ProxyLookup$R.allInstances(ProxyLooku
p.java:329)
        at 
org.openide.util.SharedClassObject$1SOLoader.resultChanged(S
haredClassObject.java:490)
        at 
org.openide.util.lookup.AbstractLookup.notifyListeners(Abstract
Lookup.java:405)
        at 
org.openide.util.lookup.ProxyLookup$R.resultChanged(ProxyLoo
kup.java:415)
        at 
org.openide.util.lookup.ProxyLookup.setLookups(ProxyLookup.j
ava:109)
        at 
org.netbeans.core.NbTopManager$Lkp.doInitializeLookup(NbTo
pManager.java:812)
        at 
org.netbeans.core.NbTopManager$Lkp.modulesClassPathInitializ
ed(NbTopManager.java:795)
        at 
org.netbeans.core.modules.NbInstaller.load(NbInstaller.java:231)
        at 
org.netbeans.core.modules.ModuleManager.enable(ModuleMana
ger.java:869)
        at 
org.netbeans.core.modules.ModuleList.installNew(ModuleList.jav
a:350)
        at 
org.netbeans.core.modules.ModuleList.trigger(ModuleList.java:
284)
        at 
org.netbeans.core.modules.ModuleSystem.restore(ModuleSyste
m.java:253)
        at org.netbeans.core.NonGui.run(NonGui.java:369)
        at org.netbeans.core.Main.run(Main.java:170)
        at 
org.netbeans.core.NbTopManager.getNbTopManager(NbTopMan
ager.java:239)
        at 
org.netbeans.core.NbTopManager.get(NbTopManager.java:188)
        at org.netbeans.core.Main.start(Main.java:312)
        at 
org.netbeans.core.TopThreadGroup.run(TopThreadGroup.java:
90)
        at java.lang.Thread.run(Thread.java:552)
Comment 1 rmatous 2004-11-08 08:33:38 UTC
Petr, please look at it.
Comment 2 Petr Nejedly 2004-11-08 09:00:23 UTC
Very strange. Did it happen again? Do you have your userdir with
umnodified layer.bin?
Comment 3 Petr Nejedly 2004-11-08 12:22:54 UTC
Now I probably got it.
It have to be a race condition on the lastModified variable.
Two threads calling lastModified at once, both finding the
lastModified variable negative (index into array).
First of them resolves the real value and stores it, then the second
finds the real value and treats it like the index.

It should be very unlikely to happen, so I won't fix it for 4.0.
Comment 4 Petr Nejedly 2005-02-23 15:04:13 UTC
Fixed.
core/src/org/netbeans/core/projects/cache/BinaryFS.java,v1.15