Replying to myself:

On Mon, Jun 22, 2026 at 07:34:36PM +0200, Lars Bjørndal wrote:
> Thank you, Stephen! Your information is interesting. I think, next time it 
> happens, even though I now use the --force to the start command, I will post 
> the complete log.

Here is the log after a newly emerged problem when rebooting, where I had to 
manually start mailman3. The first 65 lines has to do with shutdonw, and the 
rest has to do with system startup. The log is huge, so I put it here:

https://lamasti.net/filer/shutdown.log.gz

All tips on how to get rid of these problems are welcome.

Thanks,
Lars

> On Tue, Jun 23, 2026 at 01:31:23AM +0900, Stephen J. Turnbull wrote:
> > Lars Bjørndal writes:
> > 
> >  > [Gerald]
> >  > > What is in the logs about why the locks remain? There should be 
> > something in
> >  > > the system log about it if systemd kills a service process because it
> >  > > doesn't stop in time during shutdown... -Gerald
> >  > 
> >  > I got this:
> > 
> > It's hard to say what's happening because your traceback(s) are truncated.
> > The fact that the timestamps are all the same suggests that the problem
> > isn't that systemd gets tired of waiting and eventually force-kills (signal
> > 9) Mailman.  Rather, systemd times out because Mailman aborts from an
> > internal Exception (not in the log you reported) and never removes the
> > pidfile, so systemd doesn't know that Mailman exited.  The locks remain
> > because Mailman aborted.
> > 
> > Normally you don't clean up locks because you don't want whatever happened
> > to destroy even more data, but experience has shown that these events
> > "never" (as far as we know) destroy data.  The store-and-forward discipline
> > for the message-handling queues is very robust.  I would say it's nearly
> > mathematically certain that Mailman exceptions cannot destroy messages.
> > Apparently we get the granularity of database transactions right, but I'm
> > not as sure of that.
> > 
> > I'm guessing that all of the runners eventually raise the same exception,
> > but the first mention is likely to be quite a way down in the log file.
> > 
> > We need to see the tracebacks all the way to the end or we can't help.  It's
> > likely to be *very* long if all 15 or so runners raise the exception.
> > 
> > For the terminally curious, a few comments are below the lines being
> > analyzed.  Since the timestamps are all the same, I'm going to collect the
> > logs for each process for clarity.
> > 
> >  > juni 12 08:13:28 dalen.lamasti.net systemd[1]: Stopping mailman3.service 
> > - GNU Mailing List Manager...
> >  > juni 12 08:13:49 dalen.lamasti.net mailman[497907]: Shutting down 
> > Mailman's master runner
> > 
> > This process is the `mailman` command line utility to shut down the Mailman
> > system.  (Mailman appears to have run quite a while before being stopped.)
> > 
> >  > juni 12 08:13:51 dalen.lamasti.net mailman[1851]: Traceback (most recent 
> > call last):
> > 
> > This appears to be a runner process (queue handling worker), forked from the
> > master process mentioned above.  But it might be the master itself.  This is
> > probably in the boot process for the OS, invoked automatically by init
> > (systemd).
> > 
> >  > juni 12 08:13:51 dalen.lamasti.net mailman[1851]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/core.py", line 
> > 1363, in main
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:     rv = 
> > self.invoke(ctx)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:          
> > ^^^^^^^^^^^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/core.py", line 
> > 1226, in invoke
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:     return 
> > ctx.invoke(self.callback, **ctx.params)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:            
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/core.py", line 
> > 794, in invoke
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:     return 
> > callback(*args, **kwargs)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:            
> > ^^^^^^^^^^^^^^^^^^^^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/decorators.py", 
> > line 34, in new_func
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:     return 
> > f(get_current_context(), *args, **kwargs)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:            
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/mailman/bin/runner.py", 
> > line 198, in main
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:     
> > sys.exit(runner.status)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]: SystemExit: 15
> > 
> > This is a "shut down gracefully" signal received presumably from the master
> > runner process.  This looks normal.
> > 
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]: During handling of the 
> > above exception, another exception occurred:
> > 
> > "Above exception" == SystemExit, raised when receiving the "shut down" 
> > signal.
> > 
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]: Traceback (most recent 
> > call last):
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:   File 
> > "/opt/mailman3/venv/bin/runner", line 8, in <module>
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:     sys.exit(main())
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:              ^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/core.py", line 
> > 1442, in __call__
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:     return 
> > self.main(*args, **kwargs)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:            
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/core.py", line 
> > 1362, in main
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:     with 
> > self.make_context(prog_name, args, **extra) as ctx:
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:          
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/core.py", line 
> > 480, in __exit__
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:     def __exit__(
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1851]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/mailman/core/runner.py", 
> > line 117, in signal_handler
> > 
> > This is not the end of the log for this process, the line of code should be
> > quoted later in the log, and probably the log continues.
> > 
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]: Traceback (most recent 
> > call last):
> > 
> > Another runner process.  Note that the traceback is the same as the
> > traceback for process 1851, as far as it goes.
> > 
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/core.py", line 
> > 794, in invoke
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]:     return 
> > callback(*args, **kwargs)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]:            
> > ^^^^^^^^^^^^^^^^^^^^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/decorators.py", 
> > line 34, in new_func
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]:     return 
> > f(get_current_context(), *args, **kwargs)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]:            
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/mailman/bin/runner.py", 
> > line 198, in main
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]:     
> > sys.exit(runner.status)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]: SystemExit: 15
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1855]: During handling of the 
> > above exception, another exception occurred:
> > 
> > Again, the log is truncated for this process.
> > 
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1860]: Traceback (most recent 
> > call last):
> > 
> > Another runner process.  Note that the traceback is the same as the
> > traceback for process 1851, as far as it goes.
> > 
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1860]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/core.py", line 
> > 794, in invoke
> > 
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1860]:     return 
> > callback(*args, **kwargs)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1860]:            
> > ^^^^^^^^^^^^^^^^^^^^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1860]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/click/decorators.py", 
> > line 34, in new_func
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1860]:     return 
> > f(get_current_context(), *args, **kwargs)
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1860]:            
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1860]:   File 
> > "/opt/mailman3/venv/lib64/python3.12/site-packages/mailman/bin/runner.py", 
> > line 198, in main
> >  > juni 12 08:13:52 dalen.lamasti.net mailman[1860]:     
> > sys.exit(runner.status)
> > 
> > The exception is almost certainly another SystemExit.  It looks like all of
> > the runners are going to have the same logs, interleaved.  
> > 
> > Steve
> > 
> > 
> > -- 
> > GNU Mailman consultant (installation, migration, customization)
> > Sirius Open Source    https://www.siriusopensource.com/
> > Software systems consulting in Europe, North America, and Japan
> _______________________________________________
> Mailman-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
> Archived at: 
> https://lists.mailman3.org/archives/list/[email protected]/message/QZHOIHOP67JW6WDEHNMV5CKFSVDU7ZGB/
> 
> This message sent to [email protected]
_______________________________________________
Mailman-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
Archived at: 
https://lists.mailman3.org/archives/list/[email protected]/message/MOPELIQRURBTLITCHB2CYF5PGH52VK2O/

This message sent to [email protected]

Reply via email to