| Summary: | Errors when opening/closing PHP files, result in stack overflow | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Jacob Weber <jacob> | ||||
| Component: | PDT | Assignee: | PHP UI <php.ui-inbox> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | eclipse.org, gadi, ganoro, janne.suominen, todd | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | Macintosh | ||||||
| OS: | Mac OS X - Carbon (unsup.) | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | 312145 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
|
Description
Jacob Weber
obviously there is a bug but with this information it will be quite difficult to resolve it. Can you provide more details like - the content of the file that makes this exception. btw, have you noticed that a newer version is out? (20100505 - http://eclipse.org/downloads/?tab=developer) thanks for reporting! Some additional information: When I open a PHP file, a "Semantic Highlighting Job" task appears in the Progress view (if I have "Show sleeping and system operations" turned on). If I close the file before the job has completed, I get that error. If I wait for the job to complete, I don't. It doesn't seem to depend on the file's content. Hi Jacob The stack overflow bug has been fixed already,actually the reason is the same as bug 311720.And about "Semantic Highlighting Job" bug,I will create a bug for wtp. mark as fixed for bug 312145,but we need use wtp RC1 or later version. (In reply to comment #4) > mark as fixed for bug 312145,but we need use wtp RC1 or later version. Great Job Zhao for the cross team work! RC1 should be out soon (today / tomorrow)! mark as fixed At previously PDT RC`s have similar problem when just close and after that open it again. Now at PDT-2.2.0.v20100616 the same problem cannot be find anymore Closing this issue for now, but feel free to reopened it if see the same behavior again Verified by Teodor Kirkov teodor.k@zend.com I am having this problem in PDT 2.2.0.v20100519. It's happening so often that I can no longer use Eclipse. Created attachment 179451 [details]
stack trace
Please reopen this bug.
I'm now having this issue on Eclipse Helios + PDT 2.2.0.v20100519 on Arch Linux 64 bits.
I noticed it a couple times already in PHP perspective.
I just had it now in the PHP Debug perspective.
Attached is the stack trace.
I think this needs to be reopened.
The op stack trace seem different than mine, but both show a loop over some methods, which should help identify an infinite loop.
I'll try to report more information next time it occurs.
Here's another stacktrace, occured in compare editor: java.lang.StackOverflowError at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:106) at org.eclipse.core.internal.filesystem.local.LocalFile.openInputStream(LocalFile.java:362) at org.eclipse.dltk.core.internal.environment.EFSFileHandle.openInputStream(EFSFileHandle.java:133) at org.eclipse.dltk.internal.core.util.Util.getResourceContentsAsCharArrayNoCache(Util.java:516) at org.eclipse.dltk.internal.core.FileCacheStub.get(FileCacheStub.java:49) at org.eclipse.dltk.internal.core.util.Util.getResourceContentsAsCharArray(Util.java:503) at org.eclipse.dltk.internal.core.ExternalSourceModule.getBufferContent(ExternalSourceModule.java:108) at org.eclipse.dltk.internal.core.AbstractSourceModule.getSource(AbstractSourceModule.java:300) at org.eclipse.php.internal.core.codeassist.PHPSelectionEngine.internalASTResolve(PHPSelectionEngine.java:155) at org.eclipse.php.internal.core.codeassist.PHPSelectionEngine.select(PHPSelectionEngine.java:97) at org.eclipse.dltk.internal.core.Openable.codeSelect(Openable.java:578) at org.eclipse.dltk.internal.core.AbstractSourceModule.codeSelect(AbstractSourceModule.java:85) at org.eclipse.dltk.internal.core.AbstractSourceModule.codeSelect(AbstractSourceModule.java:76) at org.eclipse.php.internal.core.ast.nodes.DefaultBindingResolver.resolveFunction(DefaultBindingResolver.java:548) at org.eclipse.php.internal.core.ast.nodes.FunctionDeclaration.resolveFunctionBinding(FunctionDeclaration.java:343) at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151) at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111) at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220) at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223) at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231) at org.eclipse.php.internal.core.typeinference.PHPTypeInferenceUtils.resolveExpression(PHPTypeInferenceUtils.java:92) at org.eclipse.php.internal.core.typeinference.BindingUtility.getFunctionReturnType(BindingUtility.java:490) at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:148) at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:154) at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111) at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220) at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223) at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231) at org.eclipse.php.internal.core.typeinference.PHPTypeInferenceUtils.resolveExpression(PHPTypeInferenceUtils.java:92) at org.eclipse.php.internal.core.typeinference.BindingUtility.getFunctionReturnType(BindingUtility.java:490) at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:148) at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:154) at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111) at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220) .... yeah. eclipse just got unusable for me too. heap error and what not. osx, 1.6, latest helios from eclipse.org. i'm going back to netbeans until this is solved. please, please change this to unsolved. eclipse.buildId=I20100608-0911 java.version=1.6.0_22 java.vendor=Apple Inc. BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US Framework arguments: -product org.eclipse.epp.package.php.product -keyring /Users/janne/.eclipse_keyring -showlocation Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.php.product -keyring /Users/janne/.eclipse_keyring -showlocation stack trace: java.lang.OutOfMemoryError: Java heap space at org.eclipse.php.internal.core.compiler.ast.parser.DocumentorLexer.<init>(DocumentorLexer.java:405) at org.eclipse.php.internal.core.compiler.ast.parser.php5.CompilerAstLexer.getDocumentorLexer(CompilerAstLexer.java:60) at org.eclipse.php.internal.core.ast.scanner.php5.PhpAstLexer.parsePHPDoc(PhpAstLexer.java:1210) at org.eclipse.php.internal.core.compiler.ast.parser.php5.CompilerAstLexer.parsePHPDoc(CompilerAstLexer.java:65) at org.eclipse.php.internal.core.ast.scanner.php5.PhpAstLexer.next_token(PhpAstLexer.java:2226) at java_cup.runtime.lr_parser.scan(lr_parser.java:335) at java_cup.runtime.lr_parser.parse(lr_parser.java:563) at org.eclipse.php.internal.core.compiler.ast.parser.AbstractPHPSourceParser.parse(AbstractPHPSourceParser.java:59) at org.eclipse.php.internal.core.compiler.ast.parser.php5.PhpSourceParser.parse(PhpSourceParser.java:36) at org.eclipse.php.internal.core.compiler.ast.parser.AbstractPHPSourceParser.parse(AbstractPHPSourceParser.java:40) at org.eclipse.php.internal.core.compiler.ast.parser.PHPSourceParserFactory.parse(PHPSourceParserFactory.java:41) at org.eclipse.dltk.core.SourceParserUtil.parse(SourceParserUtil.java:137) at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:197) at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:183) at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:168) at org.eclipse.php.internal.core.typeinference.evaluators.GlobalVariableReferencesEvaluator.init(GlobalVariableReferencesEvaluator.java:115) at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220) at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223) at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231) at org.eclipse.php.internal.core.typeinference.PHPTypeInferenceUtils.resolveExpression(PHPTypeInferenceUtils.java:92) at org.eclipse.php.internal.core.typeinference.BindingUtility.getFunctionReturnType(BindingUtility.java:490) at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:148) at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:154) at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111) at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220) at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223) at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231) at org.eclipse.php.internal.core.typeinference.PHPTypeInferenceUtils.resolveExpression(PHPTypeInferenceUtils.java:92) at org.eclipse.php.internal.core.typeinference.BindingUtility.getFunctionReturnType(BindingUtility.java:490) at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:148) at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:154) at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111) Janne, I don't remember how I did it, but using the Eclipse options I managed to turn off the semantic highlighting and that solved the problem for me. Hope that helps. |