Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

StackOverFlowError in DatabaseField.java?

117767Feb 7 2008 — edited May 5 2008
Hello, I apologize for the length of this post, but I want to make sure you understand exaclty what's going on by providing you with as much information as possible.

I am fairly new to Toplink and ADF, but I have successfully completed several tutorials, and I have gone through the entire SRDemo several times with no errors that I couldn't resolve easily. However, I started building a new JSF (ADF and Toplink) project (using Jdeveloepr 10.1.3.3) using the SRDemo as a guide, and I have run into a StackOverFlow error that I am having trouble resovling.

Let me explain where I am in my project.
My DBA set up a 10gR2 database that that contains 34 tables. I used Jdeveloper to create Toplink POJOs for all 34 tables. I then created an EJB Session Bean, and just like in SRDemo, I created the Data Controls. Now at this point everything has gone smooth with the exception of some 'multiple writable mappings' in the Toplink map that I resolved (leaving them unresolved does not effect the problem).

I created a new JSF JSP called test.jspx allowing the wizard to automatically epose UI components in a new managed bean. Then, from the Data Control pallette I drag a collection over to my page and create an ADF table. So far so good.

I then run the test.jspx page using the embedded OC4J server. When the page loads in the browser I get the following error:
1. JBO-29000: Unexpected exception caught: javax.ejb.EJBException, msg=java.lang.StackOverflowError
2. java.lang.StackOverflowError

This in itself tells me nothing, so I check the embedded oc4j logs (log.xml) and I find the following:

<PAYLOAD>
<MSG_TEXT>[ODPublicFacade:public java.util.List olvims.dispatch.datamodel.ODPublicFacadeBean.findAllTransactionHistory()] exception occurred during method invocation: javax.ejb.EJBException: java.lang.StackOverflowError</MSG_TEXT>
<SUPPL_DETAIL><![CDATA[javax.ejb.EJBException: java.lang.StackOverflowError
at com.evermind.server.ejb.EJBUtils.getLocalUserException(EJBUtils.java:317)
at com.evermind.server.ejb.interceptor.system.AbstractTxInterceptor.convertAndHandleMethodException(AbstractTxInterceptor.java:73)
at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
at ODPublicFacade_LocalProxy_69jkfph.findAllTransactionHistory(Unknown Source)
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:585)
at oracle.adf.model.binding.DCInvokeMethod.invokeMethod(DCInvokeMethod.java:507)
at oracle.adf.model.binding.DCDataControl.invokeMethod(DCDataControl.java:1795)
at oracle.adf.model.generic.DCGenericDataControl.invokeMethod(DCGenericDataControl.java:248)
at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:219)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1289)
at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:1802)
at oracle.adf.model.generic.DCGenericDataControl.invokeOperation(DCGenericDataControl.java:266)
at oracle.adf.model.adapter.AdapterDCService.invokeOperation(AdapterDCService.java:305)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:627)
at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.invokeMethodAction(JUMethodIteratorDef.java:160)
at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.initSourceRSI(JUMethodIteratorDef.java:542)
at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1436)
at oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1420)
at oracle.adf.model.binding.DCIteratorBinding.setRangeSize(DCIteratorBinding.java:2703)
at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:2487)
at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2260)
at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:99)
at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareModel(FacesPageLifecycle.java:72)
at oracle.adf.controller.v2.lifecycle.Lifecycle$8.execute(Lifecycle.java:210)
at oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java:29)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener$4.after(ADFPhaseListener.java:327)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:90)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:254)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.StackOverflowError
at oracle.toplink.internal.helper.DatabaseField.hashCode(DatabaseField.java:205)
at java.util.HashMap.hash(HashMap.java:264)
at java.util.HashMap.get(HashMap.java:320)
at oracle.toplink.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:366)
at oracle.toplink.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:374)
at oracle.toplink.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:374)
at oracle.toplink.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:374)
...
...(it repeats for another 1017 rows)...

I have tried deleting the project and recreating it from scratch, but I recieve the same message each time.

Oh one more thing, this error occurs no matter which data control I use.

Has anyone seen this before and/or have any information that might help me resolve this error?
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 2 2008
Added on Feb 7 2008
7 comments
3,806 views