Re: James 3.8, JPA Keeps Crashing // ActiveMQ Issue
Gilberto Espinoza <[email protected]> Sun, 12 Apr 2026 21:04:22 -0500
| Newsgroups | gmane.comp.jakarta.james.user |
|---|---|
| Message-ID | <CAJQM=Omwd5k-Z9O47--anme16OnArf80mnp2TRhA2PsenaGfoA@mail.gmail.com> |
--0000000000005d5a88064f4de7a0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thank you. I will take a look at the pull request. On Sat, Apr 11, 2026 at 10:53=E2=80=AFPM Benoit TELLIER <btellier@linagora.= com> wrote: > Hello > The issue is that 77mb do not fit in auto configured 20mb. > Ren=C3=A9 opened https://github.com/apache/james-project/pull/2999 which > allows configuring the memory limit and would allow you a workaround. > -- > > Best regards, > > Benoit TELLIER > > General manager of Linagora VIETNAM. > Product owner for Twake-Mail product. > Chairman of the Apache James project. > > Mail: [email protected] > Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal) > > > Le avr. 11, 2026 9:53 PM, de Gilberto Espinoza <[email protected]>Dea= r > Rene, > > Thanks for the reply. I was able to locate the activemq folder and delete= d > the files. That resolved the issue. > > I'll review the information at the link you provided about migration. It > seems it is not a straightforward undertaking. > > @Benoit: > > The file size is about 77.5MB. > > I do experience frequent memory issues, mainly because I run on a Linux > Linode with only 2GB of RAM. But this was the first time I experience the > persistent storage issue with activemq. > > Here is the content of the jvm. properties file: > > # =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Extra JV= M System Properties > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > # To avoid clutter on the command line, any properties in this file will = be > added as system properties on server start. > > # Example: If you need an option -Dmy.property=3Dwhatever, you can instea= d > add it here as > # my.property=3Dwhatever > > # (Optional). String (size, integer + size units, example: `12 KIB`, > supported units are bytes KIB MIB GIB TIB). Defaults to 100KIB. > # This governs the threshold MimeMessageInputStreamSource relies on for > storing MimeMessage content on disk. > # Below, data is stored in memory. Above data is stored on disk. > # Lower values will lead to longer processing time but will minimize heap > memory usage. Modern SSD hardware > # should however support a high throughput. Higher values will lead to > faster single mail processing at the cost > # of higher heap usage. > #james.message.memory.threshold=3D12K > > # Optional. Boolean. Defaults to false. Recommended value is false. > # Should MimeMessageWrapper use a copy of the message in memory? Or shoul= d > bigger message exceeding james.message.memory.threshold > # be copied to temporary files? > #james.message.usememorycopy=3Dfalse > > # Mode level of resource leak detection. It is used to detect a resource > not be disposed of before it's garbage-collected. > # Example `MimeMessageInputStreamSource` > # Optional. Allowed values are: none, simple, advanced, testing > # - none: Disables resource leak detection. > # - simple: Enables output a simplistic error log if a leak is > encountered and would free the resources (default). > # - advanced: Enables output an advanced error log implying the place o= f > allocation of the underlying object and would free resources. > # - testing: Enables output an advanced error log implying the place of > allocation of the underlying object and rethrow an error, that action is > being taken by the development team. > #james.lifecycle.leak.detection.mode=3Dsimple > > # Should we add the host in the MDC logging context for incoming IMAP, > SMTP, POP3? Doing so, a DNS resolution > # is attempted for each incoming connection, which can be costly. Remote = IP > is always added to the logging context. > # Optional. Boolean. Defaults to true. > #james.protocols.mdc.hostname=3Dtrue > > # Manage netty leak detection level see > netty.io/wiki/reference-counted-objects.html#leak-detection-levels > # io.netty.leakDetection.level=3DSIMPLE > > # Should James exit on Startup error? Boolean, defaults to true. This > prevents partial startup. > # james.exit.on.startup.error=3Dtrue > > # Fails explicitly on missing configuration file rather that taking > implicit values. Defautls to false. > # james.fail.on.missing.configuration=3Dtrue > > # JMX, when enable causes RMI to plan System.gc every hour. Set this > instead to once every 1000h. > sun.rmi.dgc.server.gcInterval=3D3600000000 > <http://voice.google.com/calls?a=3Dnc,%2B13600000000> > sun.rmi.dgc.client.gcInterval=3D3600000000 > > # Automatically generate a JMX password upon start. CLI is able to retrie= ve > this password. > james.jmx.credential.generation=3Dtrue > > # Disable Remote Code Execution feature from JMX > # CF > > github.com/AdoptOpenJDK/openjdk-jdk11/blob/19fb8f93c59dfd791f62d41f332db9= e306bc1422/src/java.management/share/classes/com/sun/jmx/remote/security/MB= eanServerAccessController.java#L646 > jmx.remote.x.mlet.allow.getMBeansFromURL=3Dfalse > > -Xms1024M > > Thanks, > > Gil Espinoza > > On Tue, Apr 7, 2026 at 1:17=E2=80=AFPM Benoit TELLIER wrote: > > > Hi Gilberto > > > > Out of curiosity, how large is the video file? > > > > Clearing the faulty mail is needed to restore the server. Backup the= n > > clear files for ActiveMQ... > > > > Can you also share the JVM options used to run James? > > > > -- > > > > Best regards, > > > > Benoit TELLIER > > > > General manager of Linagora VIETNAM. > > Product owner for Twake-Mail product. > > Chairman of the Apache James project. > > > > Mail: [email protected] > > Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal) > > > > > > Le avr. 7, 2026 10:47 AM, de Rene Cordier Hi > > Gilberto, > > > > I ain't much of a JPA expert but I will try to answer to the best of > my > > capabilities, hoping it helps you. > > > > I think the EmbeddedActiveMq class creates a default activemq broker > > with default storage settings, which must be around 20mb. The > attachment > > of your user seems slitghly bigger than this limit, filling up the > > queue. James keeps crashing then I guess as the message keeps stayin= g > in > > the queue. > > > > Is the faulty email important to keep or not? If not can try to clea= r > > away the queue. The data of activemq should be inside the container = at > > /var/store/activemq. > > > > I think you can try to clean what's in > > /var/store/activemq/brokers/KahaDB/* (cf > > > > > github.com/apache/james-project/blob/3.8.x/server/queue/queue-activemq/sr= c/main/java/org/apache/james/queue/activemq/EmbeddedActiveMQ.java > > > <http://github.com/apache/james-project/blob/3.8.x/server/queue/queue-act= ivemq/src/main/java/org/apache/james/queue/activemq/EmbeddedActiveMQ.java&g= t>; > ) > > > > I guess you could back up the data as well, > from /var/store/activemq, > > and reinject the data in an external volume with more space that you > can > > mount then in /var/store/activemq ? > > > > There is unfortunately no configuration for ActiveMQ storage space. > The > > configuration file would be activemq.properties, but I think it is > just > > about some metrics configuration so far. But maybe that could be a > nice > > contribution to propose? > > > > Regarding the migration from 3.8 to 3.9, here there is a file for > > upgrade instructions in general: > > > > > github.com/apache/james-project/blob/master/upgrade-instructions.md#390-v= ersion > > > <http://github.com/apache/james-project/blob/master/upgrade-instructions.= md#390-version>> > ; > > I must admit people need to figure out which upgrade concerns which > > product, if concerned or not, it's not really practical sorry. We go= t > > room for improvement here I think too. > > > > Let me know if this helps you. > > > > Good luck :) > > > > Rene. > > > > On 4/3/26 08:05, Gilberto Espinoza wrote: > > > Hi Apache James Brain Trust, > > > > > > I am having issues with my James server. I am running James 3.8= , > JPA > > in a > > > Docker Container. A user was attempting to email a large video > file > > and > > > that seems to have crashed the server. I get this message in th= e > log > > file: > > > > > > [WARN ] o.a.a.b.r.Queue - Usage(Main:store:queue://spool:store) > > > percentUsage=3D100%, usage=3D20779975, limit=3D20765548, > > > percentUsageMinDelta=3D1%;Parent:Usage(Main:store) > percentUsage=3D100%, > > > usage=3D20779975, limit=3D20765548, percentUsageMinDelta=3D1%: > Persistent > > store > > > is Full, 100% of 20765548. Stopping producer > > > (ID:7a04cd6de807-43041-1775136440917-5:2:1:1) to prevent floodi= ng > > > queue://spool. > > > > > > I am struggling to figure out how to resolve this issue (I foun= d > this > > link, > > > but I am unable to figure where the ActiveMQ files are located)= ( > > > > > > knowledge.informatica.com/s/article/Persistent-store-is-Full-100-of-Stopp= ing-producer-ID-to-prevent-flooding-error-in-DataExchange-logs?language=3De= n_US > > > <http://knowledge.informatica.com/s/article/Persistent-store-is-Full-100-= of-Stopping-producer-ID-to-prevent-flooding-error-in-DataExchange-logs?lang= uage=3Den_US>>; > > > > ; > > ). > > > > > > I would appreciate your help in resolving this issue (restartin= g > the > > server > > > has not helped). How do you stop the "producer"? > > > > > > Also, where can I find the configuration file for ActiveMQ? > > > > > > I would also like to know how to back up the database files, if > that > > is > > > possible? > > > > > > Is there any documentation on how to migrate from 3.8 to 3.9? > > > > > > I look forward to any feedback. > > > > > > Best regards, > > > > > > Gil Espinoza > > > > > > > --------------------------------------------------------------------= - > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > --0000000000005d5a88064f4de7a0--