[질문] Failed to read candidate component class가 발생했는데 대응 방안이..

조회수 8,764회
읽지 않은 첫 메시지로 건너뛰기

밤바

읽지 않음,
2011. 5. 25. 오후 9:00:3911. 5. 25.
받는사람 Korea Spring User Group
아침부터 도움 청합니다. ㅎ
현재 발생한 에러 상황은 아래와 같습니다.

org.springframework.beans.factory.BeanDefinitionStoreException: Failed
to read candidate component class: file [/gscm/webapps/gscm2.0/WEB-INF/
classes/gscm/channel/channeltracking/analysisreport/web/controller/
NPITrackingController.class]; nested exception is
java.lang.ArrayIndexOutOfBoundsException

구글링을 해보니 스프링 포럼이 이런 글이 있군요.
http://forum.springsource.org/showthread.php?102678-Jboss-ArrayIndexOutOfBoundsException-in-org.springframework.asm.ClassReader

에러난 상황은 저와 같이 ArrayIndexOutOfBounds 가 근본적인 원인인 듯하고
이 과정에서 Component Scan 과정에서 장애가 난 듯한데
답변이 JSBuilder2에 관한 것이라 조금 당황스러워 하고 있습니다.
물론 해당 라이브러리는 사용하고 있지 않구요.

Spring은 3.0.5.RELEASE 사용 중입니다.
혹, 유사 사례 있으시거나 체크 포인트 있다면 공유 부탁 드립니다.

백기선

읽지 않음,
2011. 5. 25. 오후 9:20:3911. 5. 25.
받는사람 ks...@googlegroups.com
http://forum.springsource.org/showthread.php?91950-Spring-IDE-2.3.2-Problems-With-Component-Scanning


STS 버그 같아 보이네요.. 최신 버전으로 교체해 보시길...

2011년 5월 26일 오전 10:00, 밤바 <code...@gmail.com>님의 말:

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.




--
좋은 하루 되세요~

Sungchul Park

읽지 않음,
2011. 5. 25. 오후 9:21:1311. 5. 25.
받는사람 ks...@googlegroups.com

> nested exception is
> java.lang.ArrayIndexOutOfBoundsException
요 예외가 터진 곳의 스택 트레이스도 보여주세요.

Sanghyuk Jung

읽지 않음,
2011. 5. 25. 오후 9:41:0511. 5. 25.
받는사람 ks...@googlegroups.com

ArrayIndexOutOfBoundsException는 아니지만, Component-scan에서 예상하지 못했던 에러는, 같은 class가 여러개의 jar파일에 있을 때 몇번 만났습니다.

뭔가 library 버전업을 한후에 이전 버전이 어디엔가 숨어(?)있지 않은지 의심해볼만도 합니다.
 
 
2011년 5월 26일 오전 10:21, Sungchul Park <gyu...@gmail.com>님의 말:

 nested exception is
java.lang.ArrayIndexOutOfBoundsException
요 예외가 터진 곳의 스택 트레이스도 보여주세요.

밤바

읽지 않음,
2011. 5. 25. 오후 10:22:5211. 5. 25.
받는사람 Korea Spring User Group
stacktrace 남깁니다.
좀 찜찜한 것이 range 값인데..

Array index out of range: 494710656

대체 이게 뭘까요
바이트 배열을 처리하다가 난 것 같긴 합니다만...

혹시나 해서 springsource에서 패키징한 asm 소스를 보려고
Maven이 받아낸 spring-asm-3.0.5.RELEASE-sources.jar를 열어보니 META-INF만 있고 비어 있
군요.
(재 패키징이라서 소스를 일부러 뺀 것인지도)
spring-asm-3.0.5.RELEASE.jar 는 정상적입니다.


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[2011.05.26 08:08:32][0][b242] [container1-1] [WEB-3000] [t-unknown]
Initializing Spring root WebApplicationContext
[2011.05.26 08:08:36][0][b242] [container1-1] [WEB-3481] can not start
context (gscm2)
<<__Exception__>>
jeus.servlet.deployment.StartingException: WebContainerType start
error
at jeus.servlet.engine.Context.doStart(Context.java:1353)
at jeus.servlet.engine.Context.execStart(Context.java:1166)
at jeus.management.j2ee.WebModule.preStart(WebModule.java:383)
at
jeus.management.j2ee.J2EEManagedObject.start(J2EEManagedObject.java:
859)
at
jeus.management.j2ee.J2EEDeployedObject.start(J2EEDeployedObject.java:
301)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
37)
at java.lang.reflect.Method.invoke(Method.java:599)
at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:
105)
at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:
39)
at
com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:
220)
at
com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:132)
at
com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:274)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:
848)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:773)
at
jeus.management.JMXUtility.invokeWithTargetModuleID(JMXUtility.java:
873)
at
jeus.server.enginecontainer.EngineContainer.deployRegisteredApp(EngineContainer.java:
1360)
at
jeus.server.enginecontainer.EngineContainer.deployApp(EngineContainer.java:
1280)
at
jeus.server.enginecontainer.EngineContainer.init(EngineContainer.java:
453)
at
jeus.server.enginecontainer.EngineContainer.<init>(EngineContainer.java:
165)
at
jeus.server.enginecontainer.EngineContainer.main(EngineContainer.java:
1210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
37)
at java.lang.reflect.Method.invoke(Method.java:599)
at jeus.server.Bootstrapper.callMainMethod(Bootstrapper.java:
718)
at jeus.server.Bootstrapper.callMain(Bootstrapper.java:790)
at
jeus.server.enginecontainer.EngineContainerBootstrapper.main(EngineContainerBootstrapper.java:
14)
Caused by:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed
to read candidate component class: file [/gscm/webapps/gscm2.0/WEB-INF/
classes/gscm/demand/masterdata/salesproductassociation
/manager/ItemBuyerManagerImpl.class]; nested exception is
java.lang.ArrayIndexOutOfBoundsException: Array index out of range:
494710656
at
org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:
237)
at
org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:
204)
at
org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:
84)
at
org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:
73)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:
1335)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:
1325)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:
135)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:
93)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:
493)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:
390)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:
334)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:
302)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:
143)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:
178)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:
149)
at
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:
124)
at
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:
93)
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:
130)
at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:
467)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
397)
at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:
276)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:
197)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:
47)
at
jeus.servlet.listener.ListenerWrapper.contextInitialized(ListenerWrapper.java:
81)
at
jeus.servlet.listener.ListenerManager.fireContextInitializedEvent(ListenerManager.java:
284)
at
jeus.servlet.listener.ListenerManager.start(ListenerManager.java:163)
at jeus.servlet.engine.Context.doStart(Context.java:1349)
... 28 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: Array index out
of range: 494710656
at org.springframework.asm.ClassReader.a(Unknown Source)
at org.springframework.asm.ClassReader.accept(Unknown Source)
at org.springframework.asm.ClassReader.accept(Unknown Source)
at
org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:
54)
at
org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:
80)
at
org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:
101)
at
org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:
213)
... 54 more
<<__!Exception__>>

밤바

읽지 않음,
2011. 5. 25. 오후 10:24:4711. 5. 25.
받는사람 Korea Spring User Group
로그를 분석해보니 오류를 유발하는 녀석이 일정치 않군요.
어떤 경우는 Controller 인데 어떤 경우는 Service 입니다.
당황스러운 것은 매번 나는 것도 아니군요.
로컬 pc에서는 아직 발생한 적 없고 동일 소스, 동일 라이브러리로
개발 서버에서는 간헐적으로 발생합니다.

참고로 컴파일된 소스는 jar로 패키징되지 않고
/WEB-INF/classes에 exploded 된 상태입니다.

밤바

읽지 않음,
2011. 5. 25. 오후 10:27:2811. 5. 25.
받는사람 Korea Spring User Group
아.. 일단 상황이 로컬 pc 상에선 발생하지 않습니다.
개발 서버(HP-UX, Jeus6)에서 web application 구동 시 간헐적으로 발생하는군요.
그래서 일단은 IDE 부분은 배제하고 있긴 합니다만 한번 살펴보겠습니다.

참고로 사용 중인 IDE는 STS로 버전은 아래와 같습니다.
Version: 2.6.1.RELEASE
Build Id: 201105041000

On 5월26일, 오전10시20분, 백기선 <whiteship2...@gmail.com> wrote:
> http://forum.springsource.org/showthread.php?91950-Spring-IDE-2.3.2-P...
>
> <http://forum.springsource.org/showthread.php?91950-Spring-IDE-2.3.2-P...>https://jira.springsource.org/browse/IDE-1131


>
> <https://jira.springsource.org/browse/IDE-1131>STS 버그 같아 보이네요.. 최신 버전으로 교체해
> 보시길...
>

> 2011년 5월 26일 오전 10:00, 밤바 <codela...@gmail.com>님의 말:


>
>
>
>
>
>
>
>
>
> > 아침부터 도움 청합니다. ㅎ
> > 현재 발생한 에러 상황은 아래와 같습니다.
>
> > org.springframework.beans.factory.BeanDefinitionStoreException: Failed
> > to read candidate component class: file [/gscm/webapps/gscm2.0/WEB-INF/
> > classes/gscm/channel/channeltracking/analysisreport/web/controller/
> > NPITrackingController.class]; nested exception is
> > java.lang.ArrayIndexOutOfBoundsException
>
> > 구글링을 해보니 스프링 포럼이 이런 글이 있군요.
>

> >http://forum.springsource.org/showthread.php?102678-Jboss-ArrayIndexO...


>
> > 에러난 상황은 저와 같이 ArrayIndexOutOfBounds 가 근본적인 원인인 듯하고
> > 이 과정에서 Component Scan 과정에서 장애가 난 듯한데
> > 답변이 JSBuilder2에 관한 것이라 조금 당황스러워 하고 있습니다.
> > 물론 해당 라이브러리는 사용하고 있지 않구요.
>
> > Spring은 3.0.5.RELEASE 사용 중입니다.
> > 혹, 유사 사례 있으시거나 체크 포인트 있다면 공유 부탁 드립니다.
>
> > --
> > Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> > 이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
> > 그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.

> > 더 많은 옵션을 보려면http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
>
> --
> 좋은 하루 되세요~

백기선

읽지 않음,
2011. 5. 25. 오후 10:35:5611. 5. 25.
받는사람 ks...@googlegroups.com
훔.. 첨보는 에러라서 관심이 좀 가네요. ㅋ

로컬에서 톰캣이나 JBoss 에 배포하면 문제가 발생하지 않나요??
Jeus에서 스프링 라이브러리를 끼얹는게 있는걸까나요.?
아니면 스프링 빈 정보로 저장할께 무진장 많아서 도무지 빈 설정 정보를 다 저장할 수 없는 경우라도 있는 것일까나요? 그런데.. 그게 또 간헐적으로 발생한다니.. 이것도 아닐것 같기도 하고요. 흠.. 궁금하군요. +_+





2011년 5월 26일 오전 11:27, 밤바 <code...@gmail.com>님의 말:
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.




--
좋은 하루 되세요~

밤바

읽지 않음,
2011. 6. 22. 오전 3:20:4611. 6. 22.
받는사람 Korea Spring User Group
한참 지난 토론 글이라 이제와 답을 달긴 뭣합니다만
대충 원인이 파악된지라 궁금하실까봐 글 남겨 둡니다.

원인은 해당 WAS 구동 시 Java Option에 APM 제품의 Agent 같은 걸 등록하는데
해당 Agent가 동작하면서 문제를 일으켰던 것으로 확인 되었습니다.

특정 서버에서만 문제가 발생하는 것이 이상하다 싶었는데
해당 서버에만 시범적으로 APM 제품을 적용했었습니다.
현재 해당 APM 엔지니어가 이것저것 패치하면서 테스트하고 있으니 곧 해결 될 것 같습니다. ㅎㅎ

(어떤 APM 툴인지는 업체 사정도 있고하니 말씀 못드리는 점 양해바랍니다.)


On 5월26일, 오전10시00분, 밤바 <codela...@gmail.com> wrote:
> 아침부터 도움 청합니다. ㅎ
> 현재 발생한 에러 상황은 아래와 같습니다.
>
> org.springframework.beans.factory.BeanDefinitionStoreException: Failed
> to read candidate component class: file [/gscm/webapps/gscm2.0/WEB-INF/
> classes/gscm/channel/channeltracking/analysisreport/web/controller/
> NPITrackingController.class]; nested exception is
> java.lang.ArrayIndexOutOfBoundsException
>

> 구글링을 해보니 스프링 포럼이 이런 글이 있군요.http://forum.springsource.org/showthread.php?102678-Jboss-ArrayIndexO...

전체답장
작성자에게 답글
전달
새 메시지 0개