Bug 50991 - Exception on startup
Exception on startup
Status: RESOLVED FIXED
Product: platform
Classification: Unclassified
Component: Filesystems
4.x
Macintosh Mac OS X
: P3 (vote)
: 4.x
Assigned To: Petr Nejedly
issues@platform
: RANDOM, THREAD
Depends on:
Blocks:
  Show dependency treegraph
 
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
:


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


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo