ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andree Wormuth (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IVYDE-385) IvyFileContentDescriber hangs with huge XML files
Date Wed, 26 Oct 2016 12:16:58 GMT

    [ https://issues.apache.org/jira/browse/IVYDE-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15608274#comment-15608274
] 

Andree Wormuth commented on IVYDE-385:
--------------------------------------

*Background:*
I have several non-java projects in my eclipse workspace which contain really huge XML files
( some hundreds of MBs or even gt 1 GB).

Of course it would be impossible to edit these within eclipse, but I wish to access several
other configuration files from these project within eclipse, so that's why these "General
Projects" exist.

>From time to time while traversing these projects - not opening the huge files, mind you
- Eclipse starts to take all available CPU power and hangs, consuming all available memory
and working excessively. After about half an hour it's done and everything's fine again.

I connected with Java Mission Control to the java process during the latest "hang period"
and dug out the stacktrace listed above.

To me it seems that the {{IvyFileContentDescriber}} is asked to describe the content of at
least one of these huge XML files and opens it to do so - which is nigh impossible and takes
a lot of time.

I checked out the latest version from {{svn trunk}} and found that {{IvyFileContentDescriber}}
has been removed as "unnecessary file", so - just as expected - I have not been able to reproduce
the problem since I have installed the latest nightly built from the trunk.

Unfortunately I haven't been able to build a version from branch {{2.2.final}}, always getting
a "inter-plug-in dependency" issue, though I have installed the plug-ins as described in doc:
{quote}
[java] [eclipse.buildScript] Some inter-plug-in dependencies have not been satisfied.
Bundle org.apache.ivyde.eclipse.resolvevisualizer:
Missing required plug-in org.eclipse.zest.core_[1.2.0,2.0.0).
Missing required plug-in org.eclipse.zest.layouts_[1.1.0,2.0.0).
Bundle org.apache.ivyde.eclipse:
Another singleton version selected: org.apache.ivyde.eclipse_2.3.0.beta1-201610261253-dev
{quote}
Because of that and because I do not know why Eclipse takes each XML file it finds in a general
project and asks the IvyDE plugin to handle it, I am not really able to suggest a solution
or improvement here, let alone a patch.

But I fancy it should be possible to avoid opening all these files.

Perhaps it would be possible to create another bugfix release for 2.2. without these files?


> IvyFileContentDescriber hangs with huge XML files
> -------------------------------------------------
>
>                 Key: IVYDE-385
>                 URL: https://issues.apache.org/jira/browse/IVYDE-385
>             Project: IvyDE
>          Issue Type: Improvement
>    Affects Versions: 2.2.0.final
>         Environment: Each of the recent Eclipse versions (Helios. Mars, Neon)
> Win 10
> Java 8
>            Reporter: Andree Wormuth
>
> The {{IvyFileContentDescriber}} seems to open each XML it's presented to check if it's
an ivy file:
> {quote}java.io.FileInputStream.readBytes line: not available native method
> java.io.FileInputStream.read line: 255
> org.eclipse.core.internal.resources.ContentDescriptionManager$LazyFileInputStream.read
line: 173
> java.io.InputStream.read line: 101
> org.eclipse.core.internal.content.LazyInputStream.loadBlock line: 101
> org.eclipse.core.internal.content.LazyInputStream.ensureAvailable line: 65
> org.eclipse.core.internal.content.LazyInputStream.read line: 139
> org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read line: not available
> org.apache.xerces.impl.io.UTF8Reader.read line: not available
> org.apache.xerces.impl.XMLEntityScanner.load line: not available
> org.apache.xerces.impl.XMLEntityScanner.scanContent line: not available
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanContent line: not available
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch
line: not available
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument line: not available
> org.apache.xerces.parsers.XML11Configuration.parse line: not available
> org.apache.xerces.parsers.XML11Configuration.parse line: not available
> org.apache.xerces.parsers.XMLParser.parse line: not available
> org.apache.xerces.parsers.AbstractSAXParser.parse line: not available
> org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse line: not available
> org.apache.xerces.jaxp.SAXParserImpl.parse line: not available
> org.apache.ivyde.internal.eclipse.XMLHelper.parse line: 76
> org.apache.ivyde.internal.eclipse.ui.editors.IvyFileContentDescriber.checkCriteria line:
70
> org.apache.ivyde.internal.eclipse.ui.editors.IvyFileContentDescriber.describe line: 53
> org.eclipse.core.internal.content.ContentTypeCatalog.describe line: 229
> org.eclipse.core.internal.content.ContentTypeCatalog.collectMatchingByContents line:
201
> org.eclipse.core.internal.content.ContentTypeCatalog.internalFindContentTypesFor line:
414
> org.eclipse.core.internal.content.ContentTypeCatalog.internalFindContentTypesFor line:
461
> org.eclipse.core.internal.content.ContentTypeCatalog.getDescriptionFor line: 357
> org.eclipse.core.internal.content.ContentTypeCatalog.getDescriptionFor line: 371
> org.eclipse.core.internal.content.ContentTypeMatcher.getDescriptionFor line: 76
> org.eclipse.core.internal.resources.ContentDescriptionManager.readDescription line: 453
> org.eclipse.core.internal.resources.ContentDescriptionManager.getDescriptionFor line:
363
> org.eclipse.core.internal.resources.File.getContentDescription line: 263
> org.eclipse.ui.internal.ide.model.WorkbenchResource.testContentTypeProperty line: 148
> org.eclipse.ui.internal.ide.model.WorkbenchResource.testAttribute line: 115
> org.eclipse.ui.internal.ActionExpression$ObjectStateExpression.preciselyMatches line:
512
> org.eclipse.ui.internal.ActionExpression$ObjectStateExpression.isEnabledFor line: 481
> org.eclipse.ui.internal.ActionExpression$AndExpression.isEnabledFor line: 131
> org.eclipse.ui.internal.ActionExpression$SingleExpression.isEnabledFor line: 716
> org.eclipse.ui.internal.ActionExpression.isEnabledFor line: 1022
> org.eclipse.ui.internal.decorators.DecoratorDefinition.isEnabledFor line: 282
> org.eclipse.ui.internal.decorators.DecoratorManager.getDecoratorsFor line: 323
> org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecoratorsFor line:
333
> org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations line: 358
> org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached line: 367
> org.eclipse.ui.internal.decorators.DecorationScheduler$1.run line: 327
> org.eclipse.core.internal.jobs.Worker.run line: 55{quote}
> This fails if a project contains huge XML files.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message