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 101753 - AssertionError in APTIncludeHandlerImpl.pushIncludeImpl()
Summary: AssertionError in APTIncludeHandlerImpl.pushIncludeImpl()
Status: CLOSED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: -- Other -- (show other bugs)
Version: 5.x
Hardware: All All
: P1 blocker (vote)
Assignee: Vladimir Voskresensky
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-19 12:39 UTC by Alexander Simon
Modified: 2007-11-29 16:37 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
proposed patch: copy shared objects to prevent corrupting (2.87 KB, patch)
2007-04-25 16:38 UTC, Vladimir Voskresensky
Details | Diff
updated patch after review needed changes (4.04 KB, patch)
2007-04-26 11:42 UTC, Vladimir Voskresensky
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Simon 2007-04-19 12:39:34 UTC
java.lang.AssertionError: [(1:
/export/home/as204739/Projects/sfbay/clucene-0.9.10/test/test.h), (3:
/export/home/as204739/Projects/sfbay/clucene-0.9.10/src/CLucene.h), (9:
/export/home/as204739/Projects/sfbay/clucene-0.9.10/src/CLucene/index/IndexWriter.h),
(11:
/export/home/as204739/Projects/sfbay/clucene-0.9.10/src/CLucene/search/Similarity.h)]
started on
/export/home/as204739/Projects/sfbay/clucene-0.9.10/test/queryParser/TestQueryParser.cpp
        at
org.netbeans.modules.cnd.apt.impl.support.APTIncludeHandlerImpl.pushIncludeImpl(APTIncludeHandlerImpl.java:209)
        at
org.netbeans.modules.cnd.apt.impl.support.APTIncludeHandlerImpl.pushInclude(APTIncludeHandlerImpl.java:64)
        at
org.netbeans.modules.cnd.modelimpl.parser.apt.APTParseFileWalker.include(APTParseFileWalker.java:252)
        at
org.netbeans.modules.cnd.modelimpl.parser.apt.APTParseFileWalker.onInclude(APTParseFileWalker.java:121)
        at org.netbeans.modules.cnd.apt.support.APTWalker.onAPT(APTWalker.java:225)
        at
org.netbeans.modules.cnd.apt.support.APTWalker.toNextNode(APTWalker.java:329)
        at
org.netbeans.modules.cnd.apt.support.APTWalker.nextTokenImpl(APTWalker.java:293)
        at
org.netbeans.modules.cnd.apt.support.APTWalker.access$100(APTWalker.java:38)
        at
org.netbeans.modules.cnd.apt.support.APTWalker$WalkerTokenStream.nextToken(APTWalker.java:91)
        at
org.netbeans.modules.cnd.apt.utils.APTCommentsFilter.nextToken(APTCommentsFilter.java:39)
        at antlr.TokenStreamSelector.nextToken(TokenStreamSelector.java:41)
        at
org.netbeans.modules.cnd.apt.impl.support.APTExpandedStream.nextToken(APTExpandedStream.java:77)
        at
org.netbeans.modules.cnd.apt.impl.support.lang.APTBaseLanguageFilter$FilterStream.nextToken(APTBaseLanguageFilter.java:104)
        at antlr.TokenBuffer.<init>(TokenBuffer.java:51)
        at antlr.LLkParser.<init>(LLkParser.java:32)
        at antlr.LLkParserNoEx.<init>(LLkParserNoEx.java:42)
        at
org.netbeans.modules.cnd.modelimpl.parser.generated.CPPParser.<init>(CPPParser.java:406)
        at
org.netbeans.modules.cnd.modelimpl.parser.generated.CPPParser.<init>(CPPParser.java:413)
        at
org.netbeans.modules.cnd.modelimpl.parser.CPPParserEx.<init>(CPPParserEx.java:121)
        at
org.netbeans.modules.cnd.modelimpl.parser.CPPParserEx.getInstance(CPPParserEx.java:135)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:507)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl._reparse(FileImpl.java:280)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.reparse(FileImpl.java:256)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.ensureParsed(FileImpl.java:208)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ParserThread.run(ParserThread.java:66)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ParserThreadManager$Wrapper.run(ParserThreadManager.java:60)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:499)
        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:932)
Comment 1 Vladimir Voskresensky 2007-04-19 18:10:48 UTC
fixed:
- support for copying states
- use copy of state to prevent modification of non-sharable include info data 

cvs log:
Checking in apt/src/org/netbeans/modules/cnd/apt/support/APTIncludeHandler.java;
/shared/data/ccvs/repository/cnd/apt/src/org/netbeans/modules/cnd/apt/support/APTIncludeHandler.java,v
 <--  APTIncludeHandler.java
new revision: 1.1.2.4; previous revision: 1.1.2.3
done
Checking in apt/src/org/netbeans/modules/cnd/apt/support/APTPreprocState.java;
/shared/data/ccvs/repository/cnd/apt/src/org/netbeans/modules/cnd/apt/support/APTPreprocState.java,v
 <--  APTPreprocState.java
new revision: 1.1.2.4; previous revision: 1.1.2.3
done
Checking in
modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/ProjectBase.java;
/shared/data/ccvs/repository/cnd/modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/ProjectBase.java,v
 <--  ProjectBase.java
new revision: 1.2.2.27.2.89; previous revision: 1.2.2.27.2.88
done
Checking in
apt/src/org/netbeans/modules/cnd/apt/impl/support/APTIncludeHandlerImpl.java;
/shared/data/ccvs/repository/cnd/apt/src/org/netbeans/modules/cnd/apt/impl/support/APTIncludeHandlerImpl.java,v
 <--  APTIncludeHandlerImpl.java
new revision: 1.1.2.15; previous revision: 1.1.2.14
done
Checking in
modelimpl/src/org/netbeans/modules/cnd/modelimpl/parser/apt/APTPreprocStateImpl.java;
/shared/data/ccvs/repository/cnd/modelimpl/src/org/netbeans/modules/cnd/modelimpl/parser/apt/APTPreprocStateImpl.java,v
 <--  APTPreprocStateImpl.java
new revision: 1.1.2.11; previous revision: 1.1.2.10
done
Comment 2 Vladimir Voskresensky 2007-04-25 16:13:24 UTC
The bug is reproducible on the many CPUs machine during reparse phase.
Comment 3 Vladimir Voskresensky 2007-04-25 16:16:33 UTC
This problem affects the correctness of reparsing and the result of filling
model by new values.

The problem is that there should not be "clean" operations on shared states, the
clean should be done on exclusive object and then it need to be put into storage
of states
Comment 4 Vladimir Voskresensky 2007-04-25 16:38:52 UTC
Created attachment 41644 [details]
proposed patch: copy shared objects to prevent corrupting
Comment 5 Vladimir Voskresensky 2007-04-26 11:42:58 UTC
Created attachment 41716 [details]
updated patch after review needed changes
Comment 6 Vladimir Voskresensky 2007-04-26 11:58:17 UTC
patch reviewed and integrated 
- put copy of shared object in storage
- use lock when put objects in storage

cvs log:
Checking in
modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/ProjectBase.java;
/shared/data/ccvs/repository/cnd/modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/ProjectBase.java,v
 <--  ProjectBase.java
new revision: 1.2.2.27.2.94; previous revision: 1.2.2.27.2.93
done
Checking in
modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/FileContainer.java;
/shared/data/ccvs/repository/cnd/modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/FileContainer.java,v
 <--  FileContainer.java
new revision: 1.1.2.7; previous revision: 1.1.2.6
done
Checking in
apt/src/org/netbeans/modules/cnd/apt/impl/support/APTIncludeHandlerImpl.java;
/shared/data/ccvs/repository/cnd/apt/src/org/netbeans/modules/cnd/apt/impl/support/APTIncludeHandlerImpl.java,v
 <--  APTIncludeHandlerImpl.java
new revision: 1.1.2.17; previous revision: 1.1.2.16
done