Bug 79882 - [index] NPE in IndexManager
Summary: [index] NPE in IndexManager
Status: RESOLVED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 3.1 M4   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: vm
Depends on:
Blocks:
 
Reported: 2004-12-01 10:55 EST by Marcel CLA
Modified: 2005-02-16 09:41 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcel CLA 2004-12-01 10:55:27 EST
I've been developing plugins for eclipse for some 2-3 months now and this seem 
to drive the eclipse 'crazy'.

These problems happen both on v3.0 and on v3.1 M2/M3.

1) After a while (shorter if I'm running a debug session) most (maybe all) 
shortcuts cease to work. Usually CTRL+space and CTRL+F11 or F11 are the first 
key I notice to be unresponsive.
The problem is more extrem since even if I choose these from the menu NOTHING 
happens.

2) CTRL+space throws an exception without giving the reason why it happened. 
Looking at the .log file I suspect it has something to do with the indexer. 
Saving the editor and pressing CTRL+space again works.

3) When in debug mode and I'm stopping at a breakpoint I get an ellipsis 
instead of stack trace and variable.
This used to be a rare thing, but is happening more and more often now.
Needless to say I cannot debug 'blind'.
Also, most times problem 1 happens immediately after ...

Marcel
Comment 1 Kim Horne CLA 2004-12-01 11:31:43 EST
This looks like it may be multiple problems.  Passing to debug for comment
because they're mentioned the most.  ;)
Comment 2 Darin Swanson CLA 2004-12-01 12:05:43 EST
For future consideration Marcel it is a much better idea to break the bug 
reports up into the separate issues that can then be dealt with by the 
appropriate teams/components. It is very unlikely that all of these problems 
are the same issue. Thanks.

For 2. can you please provide the stack trace from the log file?
Comment 3 Marcel CLA 2004-12-02 04:04:29 EST
I think this is the relevant stack trace for 2.

!ENTRY org.eclipse.jdt.core 4 4 אוג 30, 2004 12:42:46.181
!MESSAGE Background Indexer Crash Recovery
!STACK 0
java.lang.NullPointerException
	at 
org.eclipse.jdt.internal.core.search.indexing.IndexManager.saveIndexes
(IndexManager.java(Compiled Code))
	at org.eclipse.jdt.internal.core.search.indexing.IndexManager.notifyIdle
(IndexManager.java:369)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run
(JobManager.java:344)
	at java.lang.Thread.run(Thread.java:568)

!ENTRY org.eclipse.ui 4 4 אוג 30, 2004 12:42:47.342
!MESSAGE The command for the key you pressed failed

!ENTRY org.eclipse.ui 4 0 אוג 30, 2004 12:42:47.342
!MESSAGE The command for the key you pressed failed
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex
(IndexManager.java(Compiled Code))
	at org.eclipse.jdt.internal.core.search.PatternSearchJob.getIndexes
(PatternSearchJob.java(Compiled Code))
	at org.eclipse.jdt.internal.core.search.PatternSearchJob.execute
(PatternSearchJob.java(Compiled Code))
	at 
org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob
(JobManager.java:253)
	at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames
(SearchEngine.java:866)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.findTypes
(SearchableEnvironment.java:253)
	at 
org.eclipse.jdt.internal.codeassist.CompletionEngine.findTypesAndPackages
(CompletionEngine.java:2834)
	at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete
(CompletionEngine.java:479)
	at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete
(CompletionEngine.java:966)
	at org.eclipse.jdt.internal.core.Openable.codeComplete
(Openable.java:124)
	at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete
(CompilationUnit.java:201)
	at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete
(CompilationUnit.java:195)
	at 
org.eclipse.jdt.internal.ui.text.java.JavaCompletionProcessor.internalComputeCom
pletionProposals(JavaCompletionProcessor.java:358)
	at 
org.eclipse.jdt.internal.ui.text.java.JavaCompletionProcessor.computeCompletionP
roposals(JavaCompletionProcessor.java:332)
	at 
org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals
(ContentAssistant.java:1472)
	at 
org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals
(CompletionProposalPopup.java:242)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$7
(CompletionProposalPopup.java:238)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup$1.run
(CompletionProposalPopup.java:197)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java
(Compiled Code))
	at 
org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals
(CompletionProposalPopup.java:192)
	at 
org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions
(ContentAssistant.java:1320)
	at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer
.doOperation(CompilationUnitEditor.java:180)
	at org.eclipse.ui.texteditor.ContentAssistAction$1.run
(ContentAssistAction.java:82)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java
(Compiled Code))
	at org.eclipse.ui.texteditor.ContentAssistAction.run
(ContentAssistAction.java:80)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
	at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:141)
	at org.eclipse.ui.internal.commands.Command.execute(Command.java:132)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand
(WorkbenchKeyboard.java:471)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press
(WorkbenchKeyboard.java(Compiled Code))
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent
(WorkbenchKeyboard.java(Compiled Code))
	at 
org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings
(WorkbenchKeyboard.java(Compiled Code))
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$2
(WorkbenchKeyboard.java(Inlined Compiled Code))
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard$1.handleEvent
(WorkbenchKeyboard.java(Compiled Code))
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java(Inlined 
Compiled Code))
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined 
Compiled Code))
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Compiled Code))
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined 
Compiled Code))
	at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java(Compiled 
Code))
	at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java(Inlined 
Compiled Code))
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java(Compiled Code))
	at org.eclipse.swt.widgets.Control.windowProc(Control.java(Compiled 
Code))
	at org.eclipse.swt.widgets.Display.windowProc(Display.java(Compiled 
Code))
	at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java(Inlined 
Compiled Code))
	at org.eclipse.swt.internal.BidiUtil.windowProc(BidiUtil.java(Compiled 
Code))
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java(Inlined 
Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:254)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
	at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:96)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:335)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:273)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:129)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:79)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:41)
	at java.lang.reflect.Method.invoke(Method.java:371)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:183)
	at org.eclipse.core.launcher.Main.run(Main.java:644)
	at org.eclipse.core.launcher.Main.main(Main.java:628)
Comment 4 Darin Wright CLA 2004-12-02 09:30:55 EST
Moving to JCORE. Problem (3) sounds similar to bug 79901. 
Comment 5 Marcel CLA 2004-12-06 11:07:38 EST
Some additional info for #3.
It seems that if I'm NOT using the inspect or display options during debug this 
ellipsis problem doesn't appear anymore (or I just manage to finish my debug 
session before that happens).
Comment 6 Jerome Lanneluc CLA 2004-12-09 07:51:47 EST
Please enter separate bugs for point 1 and 3. Since point 2 is about the Java
indexer, we'll keep this bug with this new title '[index] NPE in IndexManager'.

We cannot reproduce this NPE. Can you please provide a test case where this
happens ? Also what VM are you using to run Eclipse ?
Comment 7 Marcel CLA 2004-12-12 04:31:09 EST
If I'm not mistaken, bullets (1) and (3) have already been re-assigned.

The java version used is:
java version "1.4.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1)
Classic VM (build 1.4.1, J2RE 1.4.1 IBM Windows 32 build cn141-20030522 (JIT ena
bled: jitc))

This IndexManager error:

!ENTRY org.eclipse.jdt.core 4 4 אוג 30, 2004 12:10:19.642
!MESSAGE Background Indexer Crash Recovery
!STACK 0
java.lang.NullPointerException
	at 
org.eclipse.jdt.internal.core.search.indexing.IndexManager.saveIndexes
(IndexManager.java(Compiled Code))
	at org.eclipse.jdt.internal.core.search.indexing.IndexManager.notifyIdle
(IndexManager.java:369)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run
(JobManager.java:344)
	at java.lang.Thread.run(Thread.java:568)

was recieved immediately after using the create new class wizard.
I created - public class MDrillDownAdapter extends DrillDownAdapter
and chose the option to add c'tors from super class.

This could be a good start point to investigate the problem, but I get such 
indexing errors every few minutes, so I guess reasons vary.

The IndexManager errors do not seem to affect anything, unless the more serious 
errors (bullets 1 and 3) are a side effect.
Comment 8 Jerome Lanneluc CLA 2004-12-13 05:52:53 EST
You're using a rather old VM (20030522). Could you please try with a more recent
VM, like a 1.4.2 VM ?
Comment 9 Olivier Thomann CLA 2004-12-13 21:26:31 EST
This is likely a JIT bug. You can also try to disable the JIT, but this will
slow down the environment. You better upgrade to a more recent VM.
Closing as WORKSFORME. Please reopen if you get it again regularly using a newer VM.