【发布时间】:2016-01-23 12:11:17
【问题描述】:
我的应用程序已经在 glassfish 服务器上运行了很长一段时间,今天一位应用程序用户警告我服务器意外关闭。在服务器日志中,我看到以下堆栈跟踪(服务器关闭前 10 个相同的堆栈跟踪):
[2016-01-23T10:35:35.144+0100] [glassfish 4.1] [WARNING] [] [org.glassfish.grizzly.filterchain.DefaultFilterChain] [tid: _ThreadID=30 _ThreadName=http-listener-1(4)] [timeMillis: 1453541735144] [levelValue: 900] [[
GRIZZLY0013: Exception during FilterChain execution
java.lang.OutOfMemoryError
at java.util.zip.Deflater.init(Native Method)
at java.util.zip.Deflater.<init>(Deflater.java:171)
at org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.initialize(GZipEncoder.java:323)
at org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.access$100(GZipEncoder.java:307)
at org.glassfish.grizzly.compression.zip.GZipEncoder.transformImpl(GZipEncoder.java:133)
at org.glassfish.grizzly.compression.zip.GZipEncoder.transformImpl(GZipEncoder.java:61)
at org.glassfish.grizzly.AbstractTransformer.transform(AbstractTransformer.java:73)
at org.glassfish.grizzly.http.GZipContentEncoding.encode(GZipContentEncoding.java:195)
at org.glassfish.grizzly.http.HttpCodecFilter.encodeContent(HttpCodecFilter.java:1628)
at org.glassfish.grizzly.http.HttpCodecFilter.encodeHttpPacket(HttpCodecFilter.java:1451)
at org.glassfish.grizzly.http.HttpServerFilter.encodeHttpPacket(HttpServerFilter.java:870)
at org.glassfish.grizzly.http.HttpCodecFilter.handleWrite(HttpCodecFilter.java:1347)
at org.glassfish.grizzly.filterchain.ExecutorResolver$8.execute(ExecutorResolver.java:111)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.filterchain.FilterChainContext.write(FilterChainContext.java:848)
at org.glassfish.grizzly.filterchain.FilterChainContext.write(FilterChainContext.java:817)
at org.glassfish.grizzly.http.io.OutputBuffer.flushBuffer(OutputBuffer.java:1024)
at org.glassfish.grizzly.http.io.OutputBuffer.flushBinaryBuffers(OutputBuffer.java:1011)
at org.glassfish.grizzly.http.io.OutputBuffer.flushAllBuffers(OutputBuffer.java:982)
at org.glassfish.grizzly.http.io.OutputBuffer.close(OutputBuffer.java:715)
at org.glassfish.grizzly.http.io.OutputBuffer.endRequest(OutputBuffer.java:378)
at org.glassfish.grizzly.http.server.Response.finish(Response.java:516)
at org.glassfish.grizzly.http.server.HttpServerFilter.afterService(HttpServerFilter.java:384)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:260)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:745)
]]
我试图找出这个异常的原因,但我找不到任何有用的解释 - 没有一个答案描述了这种异常(GRIZZLY0013:使用 java.lang.OutOfMemoryError 执行 FilterChain 期间出现异常)。请任何人向我解释为什么会发生这种情况以及我可以做些什么来防止它再次发生?
谢谢。
【问题讨论】:
-
你试过杀死处理器并重新启动服务器吗?
-
进程被自动关闭,我需要启动服务器。我想知道为什么会发生这种情况以及如何防止再次发生?
标签: java glassfish glassfish-4