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 239483 - Exception: Path should be absolute: <WRONG FILE>
Summary: Exception: Path should be absolute: <WRONG FILE>
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Code Model (show other bugs)
Version: 8.0
Hardware: All All
: P3 normal (vote)
Assignee: Maria Tishkova
URL:
Keywords:
: 224755 239486 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-12-13 16:58 UTC by Vladimir Voskresensky
Modified: 2014-01-17 12:09 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter: 206004


Attachments
stacktrace (1.17 KB, text/plain)
2013-12-13 16:58 UTC, Vladimir Voskresensky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Voskresensky 2013-12-13 16:58:07 UTC
Build: NetBeans IDE Dev (Build 20131213-f41da123be36)
VM: Java HotSpot(TM) 64-Bit Server VM, 24.45-b08, Java(TM) SE Runtime Environment, 1.7.0_45-b18
OS: SunOS

User Comments:
vv159170: open project in IDE




Stacktrace: 
java.lang.Exception: Path should be absolute: <WRONG FILE>
   at org.netbeans.modules.cnd.utils.CndUtils.assertTrue(CndUtils.java:188)
   at org.netbeans.modules.cnd.modelimpl.content.project.FileContainer.getEntry(FileContainer.java:268)
   at org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.removeFile(ProjectBase.java:2709)
   at org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.removeFileImplsFromProjectInternal(ProjectBase.java:2445)
   at org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.onFileImplRemoved(ProjectBase.java:2434)
   at org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.checkForRemoved(ProjectBase.java:1372)
Comment 1 Vladimir Voskresensky 2013-12-13 16:58:09 UTC
Created attachment 143168 [details]
stacktrace
Comment 2 Vladimir Voskresensky 2013-12-13 17:03:04 UTC
FilePathsDictionary:
private static final String WORNG_PATH = "<WRONG FILE>"; // NOI18N

    CharSequence getFilePath(final int fileIdx) {
        synchronized (lock) {
            if (fileIdx >= paths.size()) {
                return WORNG_PATH;
            } else {
                return paths.get(fileIdx);
            }
        }
    }
Comment 3 Alexander Simon 2013-12-25 14:36:30 UTC
Investigation where repository starting to be broken:
Class Storage, method closeUnit(int, boolean, Set<Integer>).
Field filePathDictionaries does not contains unit index and variable file is null.
In this case Storage saves empty project-index.
However disk representation of unit had not empty project-index (before saving).

Important threads at tis point:

Closing repository:
org.netbeans.modules.cnd.repository.storage.Storage.closeUnit(Storage.java:445)
org.netbeans.modules.cnd.repository.storage.Storage.closeUnit(Storage.java:420)
org.netbeans.modules.cnd.repository.storage.Storage.shutdown(Storage.java:326)
org.netbeans.modules.cnd.repository.storage.StorageManager.shutdown(StorageManager.java:128)
org.netbeans.modules.cnd.repository.RepositoryImpl.shutdown(RepositoryImpl.java:208)
org.netbeans.modules.cnd.repository.api.Repository.shutdown(Repository.java:92)
org.netbeans.modules.cnd.modelimpl.repository.RepositoryUtils.shutdown(RepositoryUtils.java:285)
org.netbeans.modules.cnd.modelimpl.csm.core.ModelImpl.shutdown(ModelImpl.java:580)
org.netbeans.modules.cnd.modelimpl.platform.ModelSupport.shutdown(ModelSupport.java:233)
org.netbeans.modules.cnd.modelimpl.Installer$Stop$1.run(Installer.java:88)
org.netbeans.api.progress.ProgressUtils$RunnableWrapper.run(ProgressUtils.java:327)
org.netbeans.api.progress.ProgressUtils$RunnableWrapper.run(ProgressUtils.java:319)
org.netbeans.modules.progress.ui.RunOffEDTImpl$ProgressBackgroundRunner.runBackground(RunOffEDTImpl.java:458)
org.netbeans.modules.progress.ui.AbstractWindowRunner.call(AbstractWindowRunner.java:108)
java.util.concurrent.FutureTask.run(FutureTask.java:262)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1423)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

Live client:
org.netbeans.modules.cnd.modelimpl.repository.KeyObjectFactory.createObject(KeyObjectFactory.java:202)
org.netbeans.modules.cnd.repository.support.AbstractObjectFactory.readSelfPersistent(AbstractObjectFactory.java:78)
org.netbeans.modules.cnd.modelimpl.repository.KeyObjectFactory.readKey(KeyObjectFactory.java:79)
org.netbeans.modules.cnd.repository.impl.spi.LayerKey.read(LayerKey.java:154)
org.netbeans.modules.cnd.repository.disk.index.CompactFileIndex.<init>(CompactFileIndex.java:92)
org.netbeans.modules.cnd.repository.disk.index.FileIndexFactory.createObject(FileIndexFactory.java:109)
org.netbeans.modules.cnd.repository.support.AbstractObjectFactory.readSelfPersistent(AbstractObjectFactory.java:78)
org.netbeans.modules.cnd.repository.disk.index.FileIndexFactory.readIndex(FileIndexFactory.java:81)
org.netbeans.modules.cnd.repository.disk.IndexedStorageFile.loadIndex(IndexedStorageFile.java:375)
org.netbeans.modules.cnd.repository.disk.IndexedStorageFile.<init>(IndexedStorageFile.java:108)
org.netbeans.modules.cnd.repository.disk.DoubleFileStorage.open(DoubleFileStorage.java:108)
org.netbeans.modules.cnd.repository.disk.FilesAccessStrategyImpl$UnitStorage.getFileStorage(FilesAccessStrategyImpl.java:446)
org.netbeans.modules.cnd.repository.disk.FilesAccessStrategyImpl$UnitStorage.access$300(FilesAccessStrategyImpl.java:418)
org.netbeans.modules.cnd.repository.disk.FilesAccessStrategyImpl.read(FilesAccessStrategyImpl.java:281)
org.netbeans.modules.cnd.repository.storage.Storage.getInputStream(Storage.java:285)
org.netbeans.modules.cnd.repository.storage.StorageManager.getInputStream(StorageManager.java:88)
org.netbeans.modules.cnd.repository.RepositoryImpl.get(RepositoryImpl.java:114)
org.netbeans.modules.cnd.repository.api.Repository.get(Repository.java:27)
org.netbeans.modules.cnd.modelimpl.repository.RepositoryUtils.get(RepositoryUtils.java:118)
org.netbeans.modules.cnd.modelimpl.cache.impl.WeakContainer.getContainer(WeakContainer.java:92)
org.netbeans.modules.cnd.modelimpl.content.file.FileContent.getFileComponent(FileContent.java:466)
org.netbeans.modules.cnd.modelimpl.content.file.FileContent.getFileIncludes(FileContent.java:442)
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.getFileIncludes(FileImpl.java:2168)
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.getIncludes(FileImpl.java:1648)
org.netbeans.modules.cnd.modelimpl.impl.services.SelectImpl.getIncludes(SelectImpl.java:121)
org.netbeans.modules.cnd.api.model.services.CsmSelect$Default.getIncludes(CsmSelect.java:317)
org.netbeans.modules.cnd.api.model.services.CsmSelect.getIncludes(CsmSelect.java:96)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.gatherFileMaps(FileElementsCollector.java:231)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.gatherFileMaps(FileElementsCollector.java:247)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.gatherFileMaps(FileElementsCollector.java:247)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.gatherFileMaps(FileElementsCollector.java:247)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.gatherFileMaps(FileElementsCollector.java:247)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.gatherFileMaps(FileElementsCollector.java:247)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.gatherFileMaps(FileElementsCollector.java:247)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.gatherFileMaps(FileElementsCollector.java:247)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.gatherFileMaps(FileElementsCollector.java:222)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.initMaps(FileElementsCollector.java:209)
org.netbeans.modules.cnd.modelimpl.impl.services.FileElementsCollector.getUsedDeclarations(FileElementsCollector.java:165)
org.netbeans.modules.cnd.modelimpl.impl.services.UsingResolverImpl.findUsedDeclarations(UsingResolverImpl.java:89)
org.netbeans.modules.cnd.completion.csm.CompletionResolverImpl.getUsedDeclarations(CompletionResolverImpl.java:1892)
org.netbeans.modules.cnd.completion.csm.CompletionResolverImpl.getClassesEnums(CompletionResolverImpl.java:1006)
org.netbeans.modules.cnd.completion.csm.CompletionResolverImpl.resolveContext(CompletionResolverImpl.java:531)
org.netbeans.modules.cnd.completion.csm.CompletionResolverImpl.resolveContext(CompletionResolverImpl.java:262)
org.netbeans.modules.cnd.completion.csm.CompletionResolverImpl.resolve(CompletionResolverImpl.java:208)
org.netbeans.modules.cnd.completion.cplusplus.ext.CsmCompletionQuery$Context.resolve(CsmCompletionQuery.java:1325)
org.netbeans.modules.cnd.completion.cplusplus.ext.CsmCompletionQuery$Context.resolveItem(CsmCompletionQuery.java:1770)
org.netbeans.modules.cnd.completion.cplusplus.ext.CsmCompletionQuery$Context.resolveExp(CsmCompletionQuery.java:1696)
org.netbeans.modules.cnd.completion.cplusplus.ext.CsmCompletionQuery.getResult(CsmCompletionQuery.java:617)
org.netbeans.modules.cnd.completion.cplusplus.ext.CsmCompletionQuery.queryImpl(CsmCompletionQuery.java:446)
org.netbeans.modules.cnd.completion.cplusplus.ext.CsmCompletionQuery.query(CsmCompletionQuery.java:391)
org.netbeans.modules.cnd.completion.cplusplus.ext.CsmCompletionQuery.query(CsmCompletionQuery.java:384)
org.netbeans.modules.cnd.completion.csm.CompletionUtilities.findItemsReferencedAtCaretPos(CompletionUtilities.java:161)
org.netbeans.modules.cnd.completion.impl.xref.ReferencesSupport.findDeclaration(ReferencesSupport.java:478)
org.netbeans.modules.cnd.completion.impl.xref.ReferencesSupport.findDeclaration(ReferencesSupport.java:429)
org.netbeans.modules.cnd.completion.impl.xref.ReferencesSupport.findReferencedObject(ReferencesSupport.java:248)
org.netbeans.modules.cnd.completion.impl.xref.ReferenceImpl.getReferencedObject(ReferenceImpl.java:105)
org.netbeans.modules.cnd.highlight.semantic.ModelUtils$FieldReferenceCollector.visit(ModelUtils.java:133)
org.netbeans.modules.cnd.highlight.semantic.SemanticHighlighter$2.visit(SemanticHighlighter.java:255)
org.netbeans.modules.cnd.completion.impl.xref.FileReferencesImpl._accept(FileReferencesImpl.java:150)
org.netbeans.modules.cnd.completion.impl.xref.FileReferencesImpl.accept(FileReferencesImpl.java:106)
org.netbeans.modules.cnd.highlight.semantic.SemanticHighlighter.updateImpl(SemanticHighlighter.java:247)
org.netbeans.modules.cnd.highlight.semantic.SemanticHighlighter.update(SemanticHighlighter.java:170)
org.netbeans.modules.cnd.highlight.semantic.SemanticHighlighter.run(SemanticHighlighter.java:315)
org.netbeans.modules.cnd.highlight.semantic.SemanticHighlighter.run(SemanticHighlighter.java:87)
org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:568)
org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:744)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
java.util.concurrent.FutureTask.run(FutureTask.java:262)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1423)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)
Comment 4 Maria Tishkova 2014-01-10 11:06:12 UTC
fixed in http://hg.netbeans.org/cnd-main/rev/dca6a89752fb

open units when trying to read key
Comment 5 Maria Tishkova 2014-01-17 12:09:42 UTC
*** Bug 224755 has been marked as a duplicate of this bug. ***
Comment 6 Maria Tishkova 2014-01-17 12:09:48 UTC
*** Bug 239486 has been marked as a duplicate of this bug. ***