dcm4chee-arc-light no memory left in cache error

185 views
Skip to first unread message

Matt

unread,
Jul 29, 2016, 4:35:05 AM7/29/16
to dcm4che
Hello,

I am pretty new to working dicom/pacs/dcm4chee and am trying to set up a dcm4chee-arc-light (dcm4chee-arc-5.5.2) system. It has been working, but I am now getting an error accessing this url:

http://myipaddress/dcm4chee-arc/aets/DCM4CHEE/wado?requestType=WADO&studyUID=1.3.6.1.4.1.11157.2015.12.16.8.26.11.5&seriesUID=1.3.6.1.4.1.11157.2015.12.16.8.28.33.6&objectUID=1.3.6.1.4.1.11157.2015.12.16.8.28.33.7&contentType=application%2Fdicom

The following is the error. The images are very big (3480 x 4248), and are compressed via jpg2000. A search for this on google hasn't turned up anything. Does anyone know about this or what can be done about it?

11:24:33,127 ERROR [org.jboss.resteasy.resteasy_jaxrs.i18n] (default task-20) RESTEASY002025: Unknown exception while executing GET /aets/DCM4CHEE/wado: java.io.IOException: No memory left for cache!
        at javax
.imageio.stream.MemoryCache.loadFromStream(MemoryCache.java:106)
        at javax
.imageio.stream.MemoryCacheImageInputStream.read(MemoryCacheImageInputStream.java:110)
        at org
.dcm4che3.imageio.stream.EncapsulatedPixelDataImageInputStream.read(EncapsulatedPixelDataImageInputStream.java:87)
        at com
.sun.medialib.codec.jp2k.Decoder.decode_box_size(Native Method)
        at com
.sun.medialib.codec.jp2k.Decoder.decodeBox(Decoder.java:268)
        at com
.sun.media.imageioimpl.plugins.jpeg2000.J2KRenderedImageCodecLib.readImageMetadata(J2KRenderedImageCodecLib.java:969)
        at com
.sun.media.imageioimpl.plugins.jpeg2000.J2KRenderedImageCodecLib.createOriginalSampleModel(J2KRenderedImageCodecLib.java:673)
        at com
.sun.media.imageioimpl.plugins.jpeg2000.J2KRenderedImageCodecLib.<init>(J2KRenderedImageCodecLib.java:261)
        at com
.sun.media.imageioimpl.plugins.jpeg2000.J2KImageReaderCodecLib.read(J2KImageReaderCodecLib.java:365)
        at org
.dcm4che3.imageio.codec.Transcoder.decompressFrame(Transcoder.java:470)
        at org
.dcm4che3.imageio.codec.Transcoder.decompressPixelData(Transcoder.java:370)
        at org
.dcm4che3.imageio.codec.Transcoder.processPixelData(Transcoder.java:354)
        at org
.dcm4che3.imageio.codec.Transcoder.access$200(Transcoder.java:71)
        at org
.dcm4che3.imageio.codec.Transcoder$1.readValue(Transcoder.java:311)
        at org
.dcm4che3.io.DicomInputStream.readAttributes(DicomInputStream.java:545)
        at org
.dcm4che3.imageio.codec.Transcoder.transcode(Transcoder.java:295)
        at org
.dcm4chee.arc.wado.DicomObjectOutput.write(DicomObjectOutput.java:72)
        at org
.jboss.resteasy.plugins.providers.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:32)
        at org
.jboss.resteasy.plugins.providers.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:17)
        at org
.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.writeTo(AbstractWriterInterceptorContext.java:131)
        at org
.jboss.resteasy.core.interception.ServerWriterInterceptorContext.writeTo(ServerWriterInterceptorContext.java:60)
        at org
.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:120)
        at org
.jboss.resteasy.security.doseta.DigitalSigningInterceptor.aroundWriteTo(DigitalSigningInterceptor.java:145)
        at org
.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:124)
        at org
.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor.aroundWriteTo(GZIPEncodingInterceptor.java:100)
        at org
.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:124)
        at org
.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:98)
        at org
.jboss.resteasy.core.SynchronousDispatcher.asynchronousDelivery(SynchronousDispatcher.java:424)
        at org
.jboss.resteasy.core.AbstractAsynchronousResponse.internalResume(AbstractAsynchronousResponse.java:177)
        at org
.jboss.resteasy.plugins.server.servlet.Servlet3AsyncHttpRequest$Servlet3ExecutionContext$Servle3AsychronousResponse.resume(Servlet3AsyncHttpRequest.java:93)
        at org
.dcm4chee.arc.wado.WadoURI.get(WadoURI.java:237)
        at org
.dcm4chee.arc.wado.WadoURI$Proxy$_$$_WeldClientProxy.get(Unknown Source)
        at sun
.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun
.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java
.lang.reflect.Method.invoke(Method.java:498)
        at org
.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
        at org
.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
        at org
.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
        at org
.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
        at org
.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
        at org
.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
        at org
.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
        at org
.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
        at org
.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
        at javax
.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at io
.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
        at io
.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
        at io
.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
        at org
.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
        at io
.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io
.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
        at io
.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
        at io
.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io
.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
        at io
.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
        at io
.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
        at io
.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
        at io
.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
        at io
.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
        at io
.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at org
.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
        at io
.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io
.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io
.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
        at io
.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
        at io
.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
        at io
.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
        at io
.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
        at io
.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
        at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java
.lang.Thread.run(Thread.java:745)


11:24:34,042 ERROR [org.jboss.resteasy.resteasy_jaxrs.i18n] (default task-20) RESTEASY002020: Unhandled asynchronous exception, sending back 500: org.jboss.resteasy.spi.UnhandledException: java.io.IOException: No memory left for cache!
        at org
.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:247)
        at org
.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:168)
        at org
.jboss.resteasy.core.SynchronousDispatcher.asynchronousExceptionDelivery(SynchronousDispatcher.java:437)
        at org
.jboss.resteasy.core.AbstractAsynchronousResponse.internalResume(AbstractAsynchronousResponse.java:191)
        at org
.jboss.resteasy.core.AbstractAsynchronousResponse.internalResume(AbstractAsynchronousResponse.java:181)
        at org
.jboss.resteasy.plugins.server.servlet.Servlet3AsyncHttpRequest$Servlet3ExecutionContext$Servle3AsychronousResponse.resume(Servlet3AsyncHttpRequest.java:93)
        at org
.dcm4chee.arc.wado.WadoURI.get(WadoURI.java:237)
        at org
.dcm4chee.arc.wado.WadoURI$Proxy$_$$_WeldClientProxy.get(Unknown Source)
        at sun
.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun
.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java
.lang.reflect.Method.invoke(Method.java:498)
        at org
.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
        at org
.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
        at org
.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
        at org
.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
        at org
.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
        at org
.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
        at org
.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
        at org
.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
        at org
.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
        at javax
.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at io
.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
        at io
.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
        at io
.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
        at org
.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
        at io
.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io
.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
        at io
.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
        at io
.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io
.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
        at io
.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
        at io
.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
        at io
.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
        at io
.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
        at io
.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
        at io
.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at org
.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
        at io
.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io
.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io
.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
        at io
.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
        at io
.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
        at io
.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
        at io
.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
        at io
.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
        at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java
.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: No memory left for cache!
        at javax
.imageio.stream.MemoryCache.loadFromStream(MemoryCache.java:106)
        at javax
.imageio.stream.MemoryCacheImageInputStream.read(MemoryCacheImageInputStream.java:110)
        at org
.dcm4che3.imageio.stream.EncapsulatedPixelDataImageInputStream.read(EncapsulatedPixelDataImageInputStream.java:87)
        at com
.sun.medialib.codec.jp2k.Decoder.decode_box_size(Native Method)
        at com
.sun.medialib.codec.jp2k.Decoder.decodeBox(Decoder.java:268)
        at com
.sun.media.imageioimpl.plugins.jpeg2000.J2KRenderedImageCodecLib.readImageMetadata(J2KRenderedImageCodecLib.java:969)
        at com
.sun.media.imageioimpl.plugins.jpeg2000.J2KRenderedImageCodecLib.createOriginalSampleModel(J2KRenderedImageCodecLib.java:673)
        at com
.sun.media.imageioimpl.plugins.jpeg2000.J2KRenderedImageCodecLib.<init>(J2KRenderedImageCodecLib.java:261)
        at com
.sun.media.imageioimpl.plugins.jpeg2000.J2KImageReaderCodecLib.read(J2KImageReaderCodecLib.java:365)
        at org
.dcm4che3.imageio.codec.Transcoder.decompressFrame(Transcoder.java:470)
        at org
.dcm4che3.imageio.codec.Transcoder.decompressPixelData(Transcoder.java:370)
        at org
.dcm4che3.imageio.codec.Transcoder.processPixelData(Transcoder.java:354)
        at org
.dcm4che3.imageio.codec.Transcoder.access$200(Transcoder.java:71)
        at org
.dcm4che3.imageio.codec.Transcoder$1.readValue(Transcoder.java:311)
        at org
.dcm4che3.io.DicomInputStream.readAttributes(DicomInputStream.java:545)
        at org
.dcm4che3.imageio.codec.Transcoder.transcode(Transcoder.java:295)
        at org
.dcm4chee.arc.wado.DicomObjectOutput.write(DicomObjectOutput.java:72)
        at org
.jboss.resteasy.plugins.providers.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:32)
        at org
.jboss.resteasy.plugins.providers.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:17)
        at org
.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.writeTo(AbstractWriterInterceptorContext.java:131)
        at org
.jboss.resteasy.core.interception.ServerWriterInterceptorContext.writeTo(ServerWriterInterceptorContext.java:60)
        at org
.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:120)
        at org
.jboss.resteasy.security.doseta.DigitalSigningInterceptor.aroundWriteTo(DigitalSigningInterceptor.java:145)
        at org
.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:124)
        at org
.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor.aroundWriteTo(GZIPEncodingInterceptor.java:100)
        at org
.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:124)
        at org
.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:98)
        at org
.jboss.resteasy.core.SynchronousDispatcher.asynchronousDelivery(SynchronousDispatcher.java:424)
        at org
.jboss.resteasy.core.AbstractAsynchronousResponse.internalResume(AbstractAsynchronousResponse.java:177)
       
... 44 more

Thanks

gunterze

unread,
Aug 1, 2016, 3:44:26 AM8/1/16
to dcm4che
You may try to increase the maximal java heap space (wildfly default:  -Xmx512m )

Matt

unread,
Aug 2, 2016, 2:09:29 AM8/2/16
to dcm4che
Yes, this is what I've done, I increased the physical memory in the machine to 4gb and set -Xmx1024m. I'm hoping that's all that's needed.

Matt

unread,
Aug 2, 2016, 9:11:09 AM8/2/16
to dcm4che
Problem happened again, trying  2048mb max
Reply all
Reply to author
Forward
0 new messages