2008-11-28 6 views
2

Salut parfois je encoutner cette erreur après le serveur de l'application sun restarsting 8.2 domaine quelqu'un a une idée de ce qui pourrait être la raison?Java Stackoverflow Erreur

javax.servlet.ServletException à org.apache.jasper.servlet.JspServlet.service (JspServlet.java:255) à javax.servlet.http.HttpServlet.service (HttpServlet.java:860) à sun.reflect.GeneratedMethodAccessor156.invoke (Information inconnue Source) à sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) à java.lang.reflect.Method.invoke (Method.java:585) à org .apache.catalina.security.SecurityUtil $ 1.run (SecurityUtil.java:249) à java.security.AccessController.doPrivileged (natif méthode) à javax.security.auth.Subject.doAsPrivileged (Subject.java:517) at org.apache.catalina.security.SecurityUtil.execute (SecurityUtil.java:282) at org.apache.catalina.security.SecurityUtil.doAsPrivilege (SecurityUtil.java:165) à org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:257) à org.apache.catalina.core.ApplicationFilterChain.access 000 $ (ApplicationFilterChain.java:55) à org.apache.catalina.core.ApplicationFilterChain 1.run $ (ApplicationFilterChain.java:161) à java.security.AccessController.doPrivileged (natif méthode) à org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java : 157) au org.apache.catalina.core.ApplicationDispat cher.invoke (ApplicationDispatcher.java:723) au org.apache.catalina.core.ApplicationDispatcher.processRequest (ApplicationDispatcher.java:484) au org.apache.catalina.core.ApplicationDispatcher.doForward (ApplicationDispatcher.java:417) au org.apache.catalina.core.ApplicationDispatcher.access $ 000 (ApplicationDispatcher.java:80) à org.apache.catalina.core.ApplicationDispatcher $ PrivilegedForward.run (ApplicationDispatcher.java:95) à java.security.AccessController .doPrivileged (native Method) à org.apache.catalina.core.ApplicationDispatcher.forward (ApplicationDispatcher.java:313) à org.apache.catalina.core.StandardHostValve.custom (StandardHostValve.java:448) à org .apache.catalina.core.StandardHostValve.statu s (StandardHostValve.java:339) à org.apache.catalina.core.StandardHostValve.throwable (StandardHostValve.java:282) à org.apache.catalina.core.StandardHostValve.postInvoke (StandardHostValve.java:184) à org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:552) au org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:132) au org.apache.catalina.core.StandardPipeline. appelez (StandardPipeline.java:551) au org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:933) au org.apache.coyote.tomcat5.CoyoteAdapter.service (CoyoteAdapter.java:189) au com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess (ProcessorTask.java:604) à com.sun.enterprise.web.conn ector.grizzly.ProcessorTask.process (ProcessorTask.java:475) à com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask (ReadTask.java:371) à com.sun.enterprise.web.connector. grizzly.ReadTask.doTask (ReadTask.java:264) au com.sun.enterprise.web.connector.grizzly.TaskBase.run (TaskBase.java:281) au com.sun.enterprise.web.connector.grizzly. WorkerThread.run (WorkerThread.java:83) ----- Cause racine ----- java.lang.StackOverflowError de java.security.AccessController.doPrivileged (Native Method ) à com.sun.security.auth.PolicyFile.getPermissions (PolicyFile.java:818) à javax.security.auth.SubjectDomainCombiner $ 3.run (SubjectDomainCombiner.java:357) à java.security .AccessController.doPrivileged (native Method) à javax.security.auth.SubjectDomainCombiner.combineJavaxPolicy (SubjectDomainCombiner.java:353) à javax.security.auth.SubjectDomainCombiner.combine (SubjectDomainCombiner.java:191) à java.security .AccessControlContext.goCombiner (AccessControlContext.java:390) à java.security.AccessControlContext.optimize (AccessControlContext.java:304) à java.security.AccessController.checkPermission (AccessController.java:426) à java.lang.SecurityManager.checkPermission (SecurityManager.java:532) à java.security.Security.getProperty (Security.java:724) à com.sun.security.auth.PolicyFile.initPolicyFile (PolicyFile.java:356) à com.sun.security.auth.PolicyFile.init (PolicyFile.java:269) à com.sun.security.auth.PolicyFile.getPermissions (PolicyFile.java:869) à com.sun.security.auth .PolicyPermissions.init (PolicyFile.java:1416) at com.sun.security.auth.PolicyPermissions.elements (PolicyFile.java:1429) à javax.security.auth.SubjectDomainCombiner.combineJavaxPolicy (SubjectDomainCombiner.java:366) à javax.security.auth.SubjectDomainCombiner.combine (SujetDomainCombiner.java:191)

... ad inifinitum

+0

Merci pour le snip, @erikson. =] – strager

+0

Si vous avez un fichier de politique en cours d'utilisation, publiez ce qu'il contient. – erickson

Répondre

2

Ma conjecture est que quelque chose avec votre politique de sécurité déclenche une opération infiniment récursive. Bien qu'il ne semble y avoir aucun code d'application impliqué, il est difficile de dire à coup sûr. La section extensible est-elle toujours délimitée entre les appels à SubjectDomainCombiner?

Une chose que vous pouvez faire, vous confirmez que c'est vraiment un infiniment problème récursif est d'augmenter la taille de la pile. Vous devriez voir la section de bouclage se développer pour remplir le reste de l'espace quand il se bloque. Sinon, vous êtes à court d'une pile ... cela arrive, surtout quand vous avez déjà 30 ou 40 images sur la pile à partir de la structure du serveur d'applications elle-même.

La taille de la pile par défaut est 256k.

Vous pouvez l'augmenter en appliquant l'argument JVM, par exemple -Xss2M pour obtenir 2 Mo de pile. Faites cela uniquement pour confirmer le problème et non comme solution permanente.

Questions connexes