Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 333017

Summary: [Query2] BufferUnderFlowException in SerializationStrategyFactory$DumpReadBuffer
Product: [Modeling] EMF Reporter: Thomas Goldschmidt <thomas.goldschmidt>
Component: Query2Assignee: Project Inbox <emf.query2-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3 CC: ahunter.eclipse
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Thomas Goldschmidt CLA 2010-12-21 09:29:35 EST
Build Identifier: 

I currently get the exception below. Very hard to reproduce,
unfortunately. Is there anything you can see from looking at the sources about
what may be going wrong?


Caused by: java.nio.BufferUnderflowException
	at java.nio.DirectByteBuffer.get(Unknown Source)
	at org.eclipse.emf.query.index.internal.impl.SerializationStrategyFactory$DumpReadBuffer.getString(SerializationStrategyFactory.java:168)
	at org.eclipse.emf.query.index.internal.impl.SerializationStrategyFactory$LocalTypeMapStrategy.readKey(SerializationStrategyFactory.java:544)
	at org.eclipse.emf.query.index.internal.impl.SerializationStrategyFactory$LocalTypeMapStrategy.readKey(SerializationStrategyFactory.java:1)
	at org.eclipse.emf.query.index.internal.maps.ListMap.deserialize(ListMap.java:409)
	at org.eclipse.emf.query.index.internal.impl.PageableResourceDescriptorImpl.deserialize(PageableResourceDescriptorImpl.java:251)
	at org.eclipse.emf.query.index.internal.impl.PageableResourceDescriptorImpl.pageIn(PageableResourceDescriptorImpl.java:287)
	at org.eclipse.emf.query.index.internal.impl.PagingStrategyImpl.loadElement(PagingStrategyImpl.java:269)
	at org.eclipse.emf.query.index.internal.impl.PagingStrategyImpl.lock(PagingStrategyImpl.java:312)
	at org.eclipse.emf.query.index.internal.impl.PagingResourceDescriptorMap.acquire(PagingResourceDescriptorMap.java:68)
	at org.eclipse.emf.query.index.internal.impl.query.EObjectQueryImpl$1.getNextIterator(EObjectQueryImpl.java:107)
	at org.eclipse.emf.query.index.internal.util.FilteredIterableMulti$2.hasNext(FilteredIterableMulti.java:55)
	at org.eclipse.emf.query.index.internal.impl.query.QueryResultImpl$1.hasNext(QueryResultImpl.java:39)
	at org.eclipse.emf.query2.internal.index.IndexQueryService$5.execute(IndexQueryService.java:248)
	at org.eclipse.emf.query.index.internal.impl.PageableIndexImpl.executeQueryCommand(PageableIndexImpl.java:94)
	at org.eclipse.emf.query2.internal.index.IndexQueryService.getPartitionsOfInstances(IndexQueryService.java:244)
	at org.eclipse.emf.query2.internal.bql.engine.BasicQueryProcessorMemoryEstimationImpl.adaptScopeForInstancesOfTypesInMee(BasicQueryProcessorMemoryEstimationImpl.java:377)
	at org.eclipse.emf.query2.internal.bql.engine.BasicQueryProcessorMemoryEstimationImpl.adaptScopeForInstancesOfTypes(BasicQueryProcessorMemoryEstimationImpl.java:345)
	at org.eclipse.emf.query2.internal.bql.engine.BasicQueryProcessorMemoryEstimationImpl.estimate(BasicQueryProcessorMemoryEstimationImpl.java:296)
	at org.eclipse.emf.query2.internal.bql.engine.BasicQueryProcessorMemoryEstimationImpl.execute(BasicQueryProcessorMemoryEstimationImpl.java:100)
	at org.eclipse.emf.query2.internal.moinql.engine.InterpreterImpl.executeLeafQuery(InterpreterImpl.java:399)
	at org.eclipse.emf.query2.internal.moinql.engine.InterpreterImpl.executeInternalQuery(InterpreterImpl.java:259)
	at org.eclipse.emf.query2.internal.moinql.engine.InterpreterImpl.execute(InterpreterImpl.java:136)
	at org.eclipse.emf.query2.internal.moinql.controller.QueryProcessorImpl.executeSecuredInternal(QueryProcessorImpl.java:502)
	at org.eclipse.emf.query2.internal.moinql.controller.QueryProcessorImpl.access$0(QueryProcessorImpl.java:461)
	at org.eclipse.emf.query2.internal.moinql.controller.QueryProcessorImpl$1.execute(QueryProcessorImpl.java:453)
	at org.eclipse.emf.query.index.internal.impl.PageableIndexImpl.executeQueryCommand(PageableIndexImpl.java:94)
	at org.eclipse.emf.query2.internal.moinql.controller.QueryProcessorImpl.executeInternal(QueryProcessorImpl.java:457)
	at org.eclipse.emf.query2.internal.moinql.controller.QueryProcessorImpl.execute(QueryProcessorImpl.java:663)
	at org.eclipse.emf.query2.internal.moinql.controller.QueryProcessorImpl.execute(QueryProcessorImpl.java:614)
	at com.sap.furcas.modeladaptation.emf.adaptation.EcoreModelElementFinder.executeQuery(EcoreModelElementFinder.java:230)
	at com.sap.furcas.modeladaptation.emf.adaptation.EcoreModelElementFinder.findEObjectsOfTypeWithProperties(EcoreModelElementFinder.java:200)
	at com.sap.furcas.modeladaptation.emf.adaptation.EMFModelAdapterDelegate.queryElement(EMFModelAdapterDelegate.java:418)
	at com.sap.furcas.modeladaptation.emf.adaptation.EMFModelAdapter.queryElement(EMFModelAdapter.java:252)
	... 44 more


Reproducible: Always
Comment 1 Anthony Hunter CLA 2011-06-01 11:21:02 EDT
This has org.eclipse.emf.query2 in the stack so the defect is on Query2