SourceForge.net Logo
Main Overview Wiki Issues Forum Build Fisheye
Issue Details (XML | Word | Printable)

Key: CMP-853
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Shay Banon
Reporter: Lionel duboeuf
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Compass

ArrayIndexOutOfBoundsException while saving object when compass.osem.supportUnmarshall is set to false

Created: 24/Mar/09 05:28 AM   Updated: 24/Mar/09 12:34 PM
Component/s: Compass::Core
Affects Version/s: 2.1.2
Fix Version/s: 2.1.3, 2.2.0 RC2

Environment:
Linux ubuntu 2.6.27-9-generic i686
i use OSEM


 Description  « Hide
when setting <compass:setting name="compass.osem.supportUnmarshall" value="false" />, an error java.lang.ArrayIndexOutOfBoundsException: -1 is reached while indexing object:

full stacktrace:

java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(ArrayList.java:324)
at org.compass.core.mapping.osem.ClassPropertyAnalyzerController.getAnalyzerResourcePropertyName(ClassPropertyAnalyzerController.java:40)
at org.compass.core.lucene.engine.analyzer.LuceneAnalyzerManager.getAnalyzerByResource(LuceneAnalyzerManager.java:191)
at org.compass.core.lucene.engine.LuceneSearchEngine.enhanceResource(LuceneSearchEngine.java:314)
at org.compass.core.lucene.engine.LuceneSearchEngine.createOrUpdate(LuceneSearchEngine.java:281)
at org.compass.core.lucene.engine.LuceneSearchEngine.save(LuceneSearchEngine.java:261)
at org.compass.core.impl.DefaultCompassSession.save(DefaultCompassSession.java:438)
at org.compass.core.impl.DefaultCompassSession.save(DefaultCompassSession.java:422)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.compass.core.support.session.CompassSessionTransactionalProxy.invoke(CompassSessionTransactionalProxy.java:84)
at $Proxy89.save(Unknown Source)
at com.boozter.bsl.services.impl.IndexService.index(IndexService.java:55)
at com.boozter.bsl.services.impl.IndexService$$FastClassByCGLIB$$778bc626.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at com.boozter.bsl.services.impl.IndexService$$EnhancerByCGLIB$$145deac2.index(<generated>)
at com.boozter.bsl.services.impl.BslServiceImpl.createMail(BslServiceImpl.java:139)
at com.boozter.bsl.services.impl.BslServiceImpl.classify(BslServiceImpl.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy90.classify(Unknown Source)
at com.boozter.booztermail.app.control.BoozterMailProcessService.processEntireMessage(BoozterMailProcessService.java:382)
at com.boozter.booztermail.app.control.BoozterMailProcessService.processEntireMessages(BoozterMailProcessService.java:349)
at com.boozter.booztermail.app.control.BoozterMailProcessService.processNewMessages(BoozterMailProcessService.java:319)
at com.boozter.booztermail.app.control.BoozterMailProcessService.handleNewMessages(BoozterMailProcessService.java:263)
at com.boozter.booztermail.app.control.BoozterMailProcessService.handleNewMessages(BoozterMailProcessService.java:187)
at com.boozter.booztermail.app.control.BoozterMailProcessService.handleNewMessages(BoozterMailProcessService.java:106)
at com.boozter.booztermail.app.control.BoozterMailProcessService$$FastClassByCGLIB$$f8ef7828.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at com.boozter.booztermail.app.control.BoozterMailProcessService$$EnhancerByCGLIB$$3e937844.handleNewMessages(<generated>)
at com.boozter.booztermail.app.servlet.MailListLoader.doGet(MailListLoader.java:224)
at com.boozter.booztermail.app.servlet.MailListLoader.doPost(MailListLoader.java:444)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.boozter.booztermail.app.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:31)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Shay Banon added a comment - 24/Mar/09 06:00 AM
Can you provide a simple test case that recreates it? Once I have that, it will be simpler to fix this. If possible, the best test case can be one that is similar to Compass test cases under the test module.

Shay Banon added a comment - 24/Mar/09 12:16 PM
Wanted to update that I managed to recreate this, I will work on a fix and post back when it is done.

Shay Banon added a comment - 24/Mar/09 12:34 PM
Fixed. Will kick a nightly build for 2.1 branch so you can test it.