We have below code in our project and although it works fine but randomly we get class def not found error at runtime. Our App servers are restarted on each Sunday so sometimes we get this error on any random server instance.
Server restart fix the problem but any clue as why the class loading breaks in between.
I got somewhat similar error in this question and seems the issue is fixed in jdk 9 Transforming lambdas in Java 8
But before I conclude can someone explain it is the same kind of error and why it happens occasionally.
public boolean isAttachmentExpired(final Document_Attachment da) {
return this.bcDocumentScreen.getValidator().getAttachmentsValidator().isAttachmentExpired(da);
}
public boolean isAttachmentWarningShown() {
return CollectionUtils.isNotEmpty(getAttachments()) && getAttachments().stream().anyMatch(this::isAttachmentExpired);
}
public boolean isAttachmentExpired(final Document_Attachment da) {
final Date today = DateHelper.today();
return DateHelper.diffInYears(today, da.getUploaded()) >= 1;
}
Error:-
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor1913.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:79)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.persistence.ManagedEntityInterceptor.aroundInvoke(ManagedEntityInterceptor.java:48)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196)
at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:114)
at com.XXX.BcdAttachmentsSection_$$_javassist_seam_91.isAttachmentWarningShown(BcdAttachmentsSection_$$_javassist_seam_91.java)
at sun.reflect.GeneratedMethodAccessor1912.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:363)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53)
at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
... 122 more
Caused by: java.lang.NoClassDefFoundError: com/XXX/docsections/BcdAttachmentsSection$$Lambda$75
at com.XXX.BcdAttachmentsSection$$Lambda$75/1736532374.get$Lambda(Unknown Source)
at com.XXXX.isAttachmentWarningShown(BcdAttachmentsSection.java:51)
... 150 more
It’s quite possible that the bug, you have linked does apply, if Instrumentation is involved. Consider this bug, JDK-8027681, “Lambda serialization fails once reflection proxy generation kicks in”, that affected all Reflection operations that are performed more than 16 times (this is a configurable threshold), as the underlying implementation will optimize subsequent calls by generating an accessor class, consisting of bytecode that HotSpot can inline. This bytecode failed to access the anonymous classes generated for lambda expressions in early version of Java 8.
While this bug has been fixed, the described behavior of generating classes after a certain number of invocations still exists, so if an agent attempts to instrument these generated classes, it would fail due to the still existing Instrumentation bug and the dependency to the number of invocations is likely the reason why this only occurs occasionally.
While this bug in the Instrumentation/JVM should be fixed (and will be fixed in the next release), it would also help not trying to instrument these classes. Normally, there should be no reason to instrument these internal helper classes.
Related
I have been trying to send JSON Raw messages to players using a lot of different methods and none of them seem to work. One thing I have tried is to do this:
String json = "{text:\"Test!\",hoverEvent:{action:show_text,value:\"test\"}}";
PacketPlayOutChat packet = new PacketPlayOutChat(ChatSerializer.a(json), true);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
Now when eclipse validates the code, no errors appear and it's only when the server runs this code, it gives me this error:
java.lang.NoClassDefFoundError: net/minecraft/server/v1_7_R3/Packet
at bukkit.pangea.terms.Main.registerCommands(Main.java:31) ~[?:?]
at bukkit.pangea.terms.Main.onEnable(Main.java:21) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[c
raftbukkit.jar:git-Spigot-952179b-e87122e]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
.java:335) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
r.java:405) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.jav
a:356) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.
java:316) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.reload(CraftServer.java:74
6) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at org.bukkit.Bukkit.reload(Bukkit.java:534) [craftbukkit.jar:git-Spigot
-952179b-e87122e]
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
25) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
1) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServe
r.java:646) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchServerCommand(Craf
tServer.java:632) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at net.minecraft.server.v1_8_R1.DedicatedServer.aM(DedicatedServer.java:
353) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:3
17) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:6
23) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java
:526) [craftbukkit.jar:git-Spigot-952179b-e87122e]
at java.lang.Thread.run(Unknown Source) [?:1.7.0_71]
Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_7_R3.Packet
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
java:91) ~[craftbukkit.jar:git-Spigot-952179b-e87122e]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
java:86) ~[craftbukkit.jar:git-Spigot-952179b-e87122e]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.7.0_71]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.7.0_71]
... 18 more
A lot of the other things that I have tried also gives me a similar error. If anyone could help me with this problem it would be very helpful, thank you.
Your method works perfectly fine in my version of spigot/craftbukkit, although it seems that I am using a newer version (1.8.3), in which the constructor for the PacketPlayOutChat takes a byte as a second argument instead of a boolean. This byte (values 1 or 2) determines whether the chat message is sent normally or is displayed above the action bar. I would update your craftbukkit/spigot jar to the newest version using BuildTools.
Well it could be, that you use another spigot/bukkit jar on your server, than you work with. Use exactly the same. Otherwise it couldn't find the main class of the server Packet version.
java.lang.NoClassDefFoundError: net/minecraft/server/v1_7_R3/Packet
Here it says, that it can't find the class. Which Spigot/Bukkit version are you using on your server? And which are you using to developing?
You need to have a later version of Spigot in your build path for your project. If you cannot build it as described by the answer above, then you can depend on the jar used by the server instead.
I wanted to try EasyTest to get input parameters from a CSV and found the following, nicely written, example in a blog posted here:
http://gpcmol.blogspot.com/2013/06/easytest-unit-testing-with-externalized.html
If I follow the example it runs beautifully giving me a nice PDF output as advertised.
However if I cause a test case failure, by changing the last line of input from ",9,-12" to ",9,-13", I no longer get PDF output and get 2 failures rather than one.
The first failure is the correct assertion that the test case fails. The second failure is the following exception:
<testcase name="classMethod" classname="TransformCelciusTest" time="0.0">
<failure message="org.junit.experimental.theories.internal.ParameterizedAssertionError: testToCelsiusConverter(TestInfo [testClass=org.junit.runners.model.TestClass#90bb3e6, dataLoader=org.easetech.easytest.loader.CSVDataLoader#5f4fc5ad, filePaths=[data/temperatureConversionData.csv], methodName=testToCelsiusConverter])" type="org.junit.experimental.theories.internal.ParameterizedAssertionError">org.junit.experimental.theories.internal.ParameterizedAssertionError: testToCelsiusConverter(TestInfo [testClass=org.junit.runners.model.TestClass#90bb3e6, dataLoader=org.easetech.easytest.loader.CSVDataLoader#5f4fc5ad, filePaths=[data/temperatureConversionData.csv], methodName=testToCelsiusConverter])
at org.easetech.easytest.util.RunAftersWithOutputData.writeData(RunAftersWithOutputData.java:157)
at org.easetech.easytest.util.RunAftersWithOutputData.evaluate(RunAftersWithOutputData.java:133)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:105)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:355)
at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
at org.easetech.easytest.loader.CSVDataLoader.writeDataToCSV(CSVDataLoader.java:364)
at org.easetech.easytest.loader.CSVDataLoader.writeData(CSVDataLoader.java:180)
at org.easetech.easytest.util.RunAftersWithOutputData.writeData(RunAftersWithOutputData.java:154)
... 27 more
Caused by: java.lang.NullPointerException
at org.easetech.easytest.loader.CSVDataLoader.writeOutputData(CSVDataLoader.java:382)
at org.easetech.easytest.loader.CSVDataLoader.writeDataToCSV(CSVDataLoader.java:347)
... 29 more
</failure>
</testcase>
Anybody understand how to modify the example so that it properly completes without the ParameterizedAssertionError exception so that the test case failure can be properly reported in the output (PDF)?
I think this is related:
JUnit #Theory : is there a way to throw meaningful exception?
I tested the scenario with EasyTest Core 1.3.1 library and indeed it is an issue(infact a bug) in EasyTest 1.3.1. Specifically there is a NullPointerException in CSVDataLoader because it is expecting the test Duration value but its not present because of test failure. I have to see whats the best solution for this problem. I will keep you posted of the solution. In the mean time, you could try the Excel and XML Data loader. Or if you want a quick solution, you can copy paste the CSVDataLoader and override the line 364 of CSVDataLoader such that it checks if DURATIOn is present and only then call toString on it. Then you can use this Loader as Custom loader in the #DataLoader annotation.
Thanks,
Anuj Kumar
I have an application which manipulates the rows of a google spreadsheet. Occasionally, when I call ListEntry.update(), I receive the following stack trace:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: com.google.gdata.util.PreconditionFailedException: Precondition Failed
Mismatch: etags = ["E10QemAgYit7ImA-CEFaShYM"], version = [2ag9hk74om621l]
at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:614)
at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:564)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:560)
at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:538)
at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:536)
at com.google.gdata.client.Service.update(Service.java:1563)
at com.google.gdata.client.Service.update(Service.java:1530)
at com.google.gdata.client.GoogleService.update(GoogleService.java:597)
at com.google.gdata.data.BaseEntry.update(BaseEntry.java:639)
at feedProcessor.ProcessClientFeed.UpdateRow(ProcessClientFeed.java:466)
at feedProcessor.ProcessClientFeed.updateGoogleSpreadsheet(ProcessClientFeed.java:404)
at feedProcessor.ProcessClientFeed.processFeed(ProcessClientFeed.java:318)
at feedProcessor.ProcessClientFeed.main(ProcessClientFeed.java:61)
... 5 more
Here is the relevant documentation:
https://developers.google.com/gdata/javadoc/com/google/gdata/data/spreadsheet/ListEntry
https://developers.google.com/gdata/javadoc/com/google/gdata/data/BaseEntry#update()
According to these docs, the update() function is not even capable of throwing a PreconditionFailedException, so the docs are essentially useless here. Testing the issue has shown that this exception is thrown when you try to call the update() function on the same row more than once in a session. Exactly what defines a 'session' is still unclear, but if you loop through all your rows more than once, and call update() on each row in each iteration, you will get this error. The only resolution I am aware of is to write your software such that each row (ListEntry) has update() called only once.
The problem is caused by Google Spreadsheet API Resource Versioning mecanism.
To be able to edit the entry no matter what - just use:
entry.setEtag("*")
before update.
And yes, this is not multi-user friendly. Refetch the feed if you need multi-user support.
Hibernate 4 uses jdbc4, were the signature of method setBinaryStream(int, InputStream, int) was changed to setBinaryStream(int, InputStream, long). C3P0 does not support this new method.
So calling saveOrUpdate(myObjWithBlob) results
java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V
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.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122)
at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
at $Proxy75.setBinaryStream(Unknown Source)
So what can i do now?
1) Do not use c3p0. DHCP, BoneCP or no conntection pool at all. - is not really the option i want.
2) Somehow make hibernate avoid calling this new method? Is ist possible?
3) Switching back to hibernate 3 - is also not really good for me.
please upgrade to c3p0 0.9.2-pre8 (or wait a few days for 0.9.2 final). This issue has been resolved in recent releases of the library.
Update: c3p0-0.9.2 is now a release. it does resolve this issue.
Hi sometimes i encoutner this error after restarsting sun application server 8.2 domain anyone have any idea what could be the reason?
javax.servlet.ServletException at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:255) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:860) at
sun.reflect.GeneratedMethodAccessor156.invoke(Unknown
Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at
java.lang.reflect.Method.invoke(Method.java:585) at
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249) at
java.security.AccessController.doPrivileged(Native
Method) at
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) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257) at
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55) at
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161) at
java.security.AccessController.doPrivileged(Native
Method) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723) at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:484) at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:417) at
org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:80) at
org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:95) at
java.security.AccessController.doPrivileged(Native
Method) at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:313) at
org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:448) at
org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:339) at
org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:282) at
org.apache.catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:184) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:552) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933) at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189) at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604) at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475) at
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371) at
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264) at
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281) at
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)-----
Root Cause
-----java.lang.StackOverflowError at java.security.AccessController.doPrivileged(Native
Method) at
com.sun.security.auth.PolicyFile.getPermissions(PolicyFile.java:818) at
javax.security.auth.SubjectDomainCombiner$3.run(SubjectDomainCombiner.java:357) at
java.security.AccessController.doPrivileged(Native
Method) at
javax.security.auth.SubjectDomainCombiner.combineJavaxPolicy(SubjectDomainCombiner.java:353) at
javax.security.auth.SubjectDomainCombiner.combine(SubjectDomainCombiner.java:191) at
java.security.AccessControlContext.goCombiner(AccessControlContext.java:390) at
java.security.AccessControlContext.optimize(AccessControlContext.java:304) at
java.security.AccessController.checkPermission(AccessController.java:426) at
java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at
java.security.Security.getProperty(Security.java:724) at
com.sun.security.auth.PolicyFile.initPolicyFile(PolicyFile.java:356) at
com.sun.security.auth.PolicyFile.init(PolicyFile.java:269) at
com.sun.security.auth.PolicyFile.getPermissions(PolicyFile.java:869) at
com.sun.security.auth.PolicyPermissions.init(PolicyFile.java:1416) at
com.sun.security.auth.PolicyPermissions.elements(PolicyFile.java:1429) at
javax.security.auth.SubjectDomainCombiner.combineJavaxPolicy(SubjectDomainCombiner.java:366) at
javax.security.auth.SubjectDomainCombiner.combine(SubjectDomainCombiner.java:191)
… ad inifinitum
Infinite recursion.
This is evident by your long, repeating backtrace. The fact that you receive a stack overflow error also supports this.
My guess is something with your security policy is triggering an infinitely recursive operation. Though there does not appear to be any application code involved, so it's hard to say for sure. Is the repeating section always bounded between calls to SubjectDomainCombiner?
One thing you can do you confirm it's truly an infinitely recursive problem is to increase the stack size. You should see the looping section expand to fill the remainder of the space when it does crash. Otherwise, you're just running low on stack... it does happen, especially when you've already got 30 or 40 frames on the stack from the application server framework itself.
The default stack size is 256k.
You can increase it by applying the JVM argument, for example -Xss2M to get 2MB of stack.
Do this just to confirm the problem, not as a permanent solution.