Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error while indexing invalid Javascript #458

Closed
deas opened this issue Aug 14, 2014 · 4 comments
Closed

Error while indexing invalid Javascript #458

deas opened this issue Aug 14, 2014 · 4 comments
Milestone

Comments

@deas
Copy link

deas commented Aug 14, 2014

I see an error in Intellij. The stacktrace reads

2014-08-14 12:22:37,169 [ 100725]  ERROR - api.project.CacheUpdateSession - Error while indexing /home/deas/.m2/repository/org/alfresco/alfresco-remote-api/5.0.a/alfresco-remote-api-5.0.a-sources.jar!/alfresco/templates/webscripts/org/alfresco/cmis/policies.get.js
To reindex this file IDEA has to be restarted 
java.lang.IllegalArgumentException: arg cannot be null
    at org.mozilla.javascript.ast.AstNode.assertNotNull(AstNode.java:441)
    at org.mozilla.javascript.ast.StringLiteral.setValue(StringLiteral.java:64)
    at org.mozilla.javascript.Parser.createStringLiteral(Parser.java:3377)
    at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2793)
    at org.mozilla.javascript.Parser.memberExpr(Parser.java:2406)
    at org.mozilla.javascript.Parser.unaryExpr(Parser.java:2304)
    at org.mozilla.javascript.Parser.mulExpr(Parser.java:2229)
    at org.mozilla.javascript.Parser.addExpr(Parser.java:2213)
    at org.mozilla.javascript.Parser.shiftExpr(Parser.java:2194)
    at org.mozilla.javascript.Parser.relExpr(Parser.java:2169)
    at org.mozilla.javascript.Parser.eqExpr(Parser.java:2141)
    at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:2130)
    at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:2119)
    at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:2108)
    at org.mozilla.javascript.Parser.andExpr(Parser.java:2097)
    at org.mozilla.javascript.Parser.orExpr(Parser.java:2086)
    at org.mozilla.javascript.Parser.condExpr(Parser.java:2062)
    at org.mozilla.javascript.Parser.assignExpr(Parser.java:2033)
    at org.mozilla.javascript.Parser.expr(Parser.java:2012)
    at org.mozilla.javascript.Parser.statementHelper(Parser.java:1039)
    at org.mozilla.javascript.Parser.statement(Parser.java:901)
    at org.mozilla.javascript.Parser.parse(Parser.java:540)
    at org.mozilla.javascript.Parser.parse(Parser.java:478)
    at org.mozilla.javascript.Parser.parse(Parser.java:497)
    at plugin.index.js$parse.invoke(js.clj:28)
    at plugin.index.js$index.invoke(js.clj:152)
    at plugin.index.js$index_javascript.invoke(js.clj:196)
    at clojure.lang.Var.invoke(Var.java:415)
    at cursive.api.DelayedFn.invoke(DelayedFn.java:31)
    at cursive.index.PsiDependentIndexExtension$1.map(PsiDependentIndexExtension.java:66)
    at cursive.index.PsiDependentIndexExtension$1.map(PsiDependentIndexExtension.java:39)
    at com.intellij.util.indexing.MapReduceIndex.update(MapReduceIndex.java:215)
    at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1827)
    at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1754)
    at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1717)
    at com.intellij.util.indexing.UnindexedFilesUpdater.processFile(UnindexedFilesUpdater.java:73)
    at com.intellij.openapi.project.CacheUpdateSession.processFile(CacheUpdateSession.java:103)
    at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable$1.run(CacheUpdateRunner.java:231)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:911)
    at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable$2.run(CacheUpdateRunner.java:241)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
    at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable.run(CacheUpdateRunner.java:236)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)

The code in question is:

<import resource="classpath:alfresco/templates/webscripts/org/alfresco/cmis/lib/read.lib.js">
<import resource="classpath:alfresco/templates/webscripts/org/alfresco/cmis/lib/constants.lib.js">

script:
{
    // locate node                                                                                                                                                                    
    var object = getObjectFromUrl();                                                                                                                                                  
    if (object.node == null)                                                                                                                                                          
    {
        break script;
    }
    model.node = object.node;

    // property filter
    var filter = args[cmisserver.ARG_FILTER];
    if (filter === null)
    {
        filter = "*";                                                                                                                                                                 
    }                                                                                                                                                                                 

    // retrieve policies                                                                                                                                                              
    var page = paging.createPageOrWindow(args);                                                                                                                                       
    var paged = cmisserver.getAppliedPolicies(model.node, filter, page);                                                                                                              
    model.results = paged.results;                                                                                                                                                    
    model.cursor = paged.cursor;                                                                                                                                                      
}     

It is in fact syntactically invalid JavaScript.

Still I think invalid source should just silently be skipped and not break the indexing.

@cursive-ide
Copy link
Owner

Thanks for the reproduction case - I'll fix this case and try to make the indexing more robust.

@cursive-ide cursive-ide modified the milestones: 0.1.31, 0.1.32, 0.1.33 Aug 14, 2014
@cursive-ide cursive-ide modified the milestones: 0.1.33, Shortlist Aug 23, 2014
@bilekt3
Copy link

bilekt3 commented Aug 25, 2014

I do not know if it is related but when I use Python projects without any Clojure I have this exception:

@NotNull method cursive/index/PsiDependentIndexExtension$1.map must not return null: @NotNull method cursive/index/PsiDependentIndexExtension$1.map must not return null
java.lang.IllegalStateException: @NotNull method cursive/index/PsiDependentIndexExtension$1.map must not return null
    at cursive.index.PsiDependentIndexExtension$1.map(PsiDependentIndexExtension.java:66)
    at cursive.index.PsiDependentIndexExtension$1.map(PsiDependentIndexExtension.java:39)
    at com.intellij.util.indexing.MapReduceIndex.update(MapReduceIndex.java:215)
    at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1827)
    at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1754)
    at com.intellij.util.indexing.FileBasedIndexImpl.access$5200(FileBasedIndexImpl.java:101)
    at com.intellij.util.indexing.FileBasedIndexImpl$ChangedFilesCollector.a(FileBasedIndexImpl.java:2332)
    at com.intellij.util.indexing.FileBasedIndexImpl$ChangedFilesCollector.a(FileBasedIndexImpl.java:2286)
    at com.intellij.util.indexing.FileBasedIndexImpl$ChangedFilesCollector.access$1600(FileBasedIndexImpl.java:1941)
    at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:819)
    at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:789)
    at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:244)
    at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:232)
    at com.intellij.psi.stubs.StubIndex.process(StubIndex.java:75)
    at com.intellij.psi.stubs.StubIndex.process(StubIndex.java:94)
    at com.intellij.psi.stubs.StubIndexImpl.get(StubIndexImpl.java:221)
    at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:142)
    at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:132)
    at com.jetbrains.python.psi.search.PyClassInheritorsSearchExecutor.processDirectInheritors(PyClassInheritorsSearchExecutor.java:59)
    at com.jetbrains.python.psi.search.PyClassInheritorsSearchExecutor.execute(PyClassInheritorsSearchExecutor.java:46)
    at com.jetbrains.python.psi.search.PyClassInheritorsSearchExecutor.execute(PyClassInheritorsSearchExecutor.java:37)
    at com.intellij.util.ExecutorsQuery.processResults(ExecutorsQuery.java:43)
    at com.intellij.util.AbstractQuery.forEach(AbstractQuery.java:77)
    at com.intellij.util.AbstractQuery.findFirst(AbstractQuery.java:54)
    at com.intellij.util.UniqueResultsQuery.findFirst(UniqueResultsQuery.java:51)
    at com.jetbrains.python.codeInsight.PyLineMarkerProvider.collectInheritingClasses(PyLineMarkerProvider.java:229)
    at com.jetbrains.python.codeInsight.PyLineMarkerProvider.collectSlowLineMarkers(PyLineMarkerProvider.java:219)
    at com.intellij.codeInsight.daemon.impl.SlowLineMarkersPass.addLineMarkers(SlowLineMarkersPass.java:79)
    at com.intellij.codeInsight.daemon.impl.SlowLineMarkersPass.doCollectInformation(SlowLineMarkersPass.java:66)
    at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:62)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:380)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1154)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:371)
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:368)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:344)
    at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask.exec(JobLauncherImpl.java:193)
    at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
    at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
    at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
    at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:109)

@cursive-ide
Copy link
Owner

Ah, interesting, thanks - I've seen that exception before but hadn't noticed that Python was involved. I'll take a look and see if I can fix that.

@omiel
Copy link

omiel commented Sep 8, 2014

I have the same issue as OP @deas :

Error while indexing /Users/omiel/.m2/repository/org/apache/avro/avro-ipc/1.7.4/avro-ipc-1.7.4-sources.jar!/org/apache/avro/ipc/trace/static/avrotrace.js
To reindex this file IDEA has to be restarted: Unmatched braces in the pattern.

java.lang.IllegalArgumentException: Unmatched braces in the pattern.
    at java.text.MessageFormat.applyPattern(MessageFormat.java:476)
    at java.text.MessageFormat.<init>(MessageFormat.java:350)
    at org.mozilla.javascript.ScriptRuntime$DefaultMessageProvider.getMessage(ScriptRuntime.java:3656)
    at org.mozilla.javascript.ScriptRuntime.getMessage(ScriptRuntime.java:3625)
    at org.mozilla.javascript.ScriptRuntime.getMessage0(ScriptRuntime.java:3573)
    at org.mozilla.javascript.Parser.lookupMessage(Parser.java:197)
    at org.mozilla.javascript.Parser.addError(Parser.java:177)
    at org.mozilla.javascript.Parser.addError(Parser.java:166)
    at org.mozilla.javascript.Parser.reportError(Parser.java:223)
    at org.mozilla.javascript.Parser.reportError(Parser.java:210)
    at org.mozilla.javascript.Parser.reportError(Parser.java:203)
    at org.mozilla.javascript.Parser.parseFunctionBody(Parser.java:597)
    at org.mozilla.javascript.Parser.function(Parser.java:795)
    at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2761)
    at org.mozilla.javascript.Parser.memberExpr(Parser.java:2406)
    at org.mozilla.javascript.Parser.unaryExpr(Parser.java:2304)
    at org.mozilla.javascript.Parser.mulExpr(Parser.java:2229)
    at org.mozilla.javascript.Parser.addExpr(Parser.java:2213)
    at org.mozilla.javascript.Parser.shiftExpr(Parser.java:2194)
    at org.mozilla.javascript.Parser.relExpr(Parser.java:2169)
    at org.mozilla.javascript.Parser.eqExpr(Parser.java:2141)
    at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:2130)
    at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:2119)
    at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:2108)
    at org.mozilla.javascript.Parser.andExpr(Parser.java:2097)
    at org.mozilla.javascript.Parser.orExpr(Parser.java:2086)
    at org.mozilla.javascript.Parser.condExpr(Parser.java:2062)
    at org.mozilla.javascript.Parser.assignExpr(Parser.java:2033)
    at org.mozilla.javascript.Parser.argumentList(Parser.java:2373)
    at org.mozilla.javascript.Parser.memberExprTail(Parser.java:2523)
    at org.mozilla.javascript.Parser.memberExpr(Parser.java:2442)
    at org.mozilla.javascript.Parser.unaryExpr(Parser.java:2304)
    at org.mozilla.javascript.Parser.mulExpr(Parser.java:2229)
    at org.mozilla.javascript.Parser.addExpr(Parser.java:2213)
    at org.mozilla.javascript.Parser.shiftExpr(Parser.java:2194)
    at org.mozilla.javascript.Parser.relExpr(Parser.java:2169)
    at org.mozilla.javascript.Parser.eqExpr(Parser.java:2141)
    at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:2130)
    at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:2119)
    at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:2108)
    at org.mozilla.javascript.Parser.andExpr(Parser.java:2097)
    at org.mozilla.javascript.Parser.orExpr(Parser.java:2086)
    at org.mozilla.javascript.Parser.condExpr(Parser.java:2062)
    at org.mozilla.javascript.Parser.assignExpr(Parser.java:2033)
    at org.mozilla.javascript.Parser.expr(Parser.java:2012)
    at org.mozilla.javascript.Parser.nameOrLabel(Parser.java:1765)
    at org.mozilla.javascript.Parser.statementHelper(Parser.java:1032)
    at org.mozilla.javascript.Parser.statement(Parser.java:901)
    at org.mozilla.javascript.Parser.parseFunctionBody(Parser.java:634)
    at org.mozilla.javascript.Parser.function(Parser.java:795)
    at org.mozilla.javascript.Parser.parse(Parser.java:533)
    at org.mozilla.javascript.Parser.parse(Parser.java:478)
    at org.mozilla.javascript.Parser.parse(Parser.java:497)
    at plugin.index.js$parse.invoke(js.clj:28)
    at plugin.index.js$index.invoke(js.clj:152)
    at plugin.index.js$index_javascript.invoke(js.clj:196)
    at clojure.lang.Var.invoke(Var.java:415)
    at cursive.api.DelayedFn.invoke(DelayedFn.java:31)
    at cursive.index.PsiDependentIndexExtension$1.map(PsiDependentIndexExtension.java:66)
    at cursive.index.PsiDependentIndexExtension$1.map(PsiDependentIndexExtension.java:39)
    at com.intellij.util.indexing.MapReduceIndex.update(MapReduceIndex.java:215)
    at com.intellij.util.indexing.FileBasedIndexImpl.updateSingleIndex(FileBasedIndexImpl.java:1827)
    at com.intellij.util.indexing.FileBasedIndexImpl.doIndexFileContent(FileBasedIndexImpl.java:1754)
    at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1717)
    at com.intellij.util.indexing.UnindexedFilesUpdater.processFile(UnindexedFilesUpdater.java:73)
    at com.intellij.openapi.project.CacheUpdateSession.processFile(CacheUpdateSession.java:103)
    at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable$1.run(CacheUpdateRunner.java:231)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:911)
    at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable$2.run(CacheUpdateRunner.java:241)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
    at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable.run(CacheUpdateRunner.java:236)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:695)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)

@cursive-ide cursive-ide modified the milestones: 0.1.37, Shortlist Oct 3, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants