Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 521423 - Cannot compile my project anymore due to java.lang.StackOverflowError at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.collectInferenceVariables(ParameterizedTypeBinding.java:958)
Summary: Cannot compile my project anymore due to java.lang.StackOverflowError at org....
Status: CLOSED DUPLICATE of bug 518095
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 4.7   Edit
Hardware: PC Windows 10
: P3 blocker (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-08-25 12:04 EDT by Christian Bulitta CLA
Modified: 2017-08-29 03:37 EDT (History)
1 user (show)

See Also:


Attachments
eclipse workspace log file (397.60 KB, application/octet-stream)
2017-08-25 12:04 EDT, Christian Bulitta CLA
no flags Details
Screenshot (29.98 KB, image/png)
2017-08-25 12:06 EDT, Christian Bulitta CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Bulitta CLA 2017-08-25 12:04:34 EDT
Created attachment 269980 [details]
eclipse workspace log file

A multi-module maven project which could be compiled successfully using Luna cannot be compiled anymore with Oxygen (eclipse-jee-oxygen-R-win32-x86_64) or Neon (eclipse-jee-neon-3-win32-x86_64).

The log (as attached) repeatedly shows the following exception:

!ENTRY org.eclipse.core.jobs 4 2 2017-08-25 17:19:24.806
!MESSAGE An internal error occurred during: "Building workspace".
!STACK 0
java.lang.StackOverflowError
	at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.collectInferenceVariables(ParameterizedTypeBinding.java:959)
	at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.collectInferenceVariables(ParameterizedTypeBinding.java:959)
        <omitted approx 1000 lines>
	at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.collectInferenceVariables(ParameterizedTypeBinding.java:959)
	at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.collectInferenceVariables(ParameterizedTypeBinding.java:959)

!ENTRY org.eclipse.core.jobs 4 2 2017-08-25 17:19:38.150
!MESSAGE An internal error occurred during: "Building workspace".
!STACK 0
java.lang.StackOverflowError
	at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.collectInferenceVariables(ParameterizedTypeBinding.java:959)
	at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.collectInferenceVariables(ParameterizedTypeBinding.java:959)
	at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.collectInferenceVariables(ParameterizedTypeBinding.java:959)
        <omitted approx 1000 lines>
	at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.collectInferenceVariables(ParameterizedTypeBinding.java:959)
	at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.collectInferenceVariables(ParameterizedTypeBinding.java:959)



After using and loving eclipse for more than 15 year I now have to use IntelliJ to do any work at all.

Is there a fix for this? Any tipps how to analyse the issue?

Thanks in advance,
Chris
Comment 1 Christian Bulitta CLA 2017-08-25 12:06:25 EDT
Created attachment 269981 [details]
Screenshot
Comment 2 Stephan Herrmann CLA 2017-08-26 20:54:26 EDT
I think we have a fix for this in the pipeline, just didn't find the time to finish it due to priority on Java 9 work.

You could still help by contributing a reproducing example for our regression suite, since nobody in the team was yet able to reproduce the bug.

Maybe the reporter in bug 518095 can provide hints about the code pattern that triggers this. Hopefully this pattern can be avoided on your side. We only know that you probably have an unexpected cycle in your types.

*** This bug has been marked as a duplicate of bug 518095 ***
Comment 3 Christian Bulitta CLA 2017-08-29 03:37:45 EDT
Hello Stephan,

I'd love to give you a reproducible example. Unfortunately I have none and due to IP reasons I cannot give avay the full sourcecode of my company (34 maven modules, 2500+ .java Files). Is there any type of debugging I can do on my side to isolate the problem?

If I knew what to look for I would be really happy. I'm open for optios to avoid certain patterns and change our code. But I can also wait and we can use IntelliJ in the team until a bugfix is available...