Thanks, John, for your detailed report.

On Mon, Jul 13, 2026 at 8:09 AM 'John Kline' via weewx-user <
[email protected]> wrote:

> If you run WeeWX on Debian 13 (trixie) and your system installed the
> python3.13 update from the 13.6 point release (version 3.13.5-2+deb13u3,
> rolling out via unattended-upgrades since July 11), be aware that it can
> crash weewxd with a segmentation fault.
>
> What it looks like
> ------------------
> weewxd dies with SIGSEGV -- no Python traceback in the log, the process
> just exits.  systemd shows "Main process exited, code=dumped,
> status=11/SEGV".  If you look closely at the timing, the crash comes
> milliseconds after WeeWX's periodic garbage collection pass (the
> "Garbage collected N objects" INFO line, every 3 hours by default).
> weewxd is unusually good at tripping this bug precisely because it calls
> gc.collect() on that schedule while its other threads keep working.
>
> I run seven WeeWX machines (Raspberry Pi 5, all on trixie).  Four crashes
> in the ~48 hours after the update reached them; the crash takes down maybe
> 1 in 25 GC passes, so it looks random and can hit anywhere from hours to
> days after a restart.  The crashing thread differs every time (sqlite
> reads, report generation, image generation), so don't chase whatever
> happens to be in your traceback if you have faulthandler enabled -- it's
> the victim, not the cause.
>
> The cause
> ---------
> It is not WeeWX and not any extension.  Debian's deb13u3 update backported
> a garbage-collector fix into Python 3.13.5 but omitted a second upstream
> commit that the fix depends on, so a GC pass can free memory that is still
> in use.  It's tracked as Debian bug #1141977, the missing commit has been
> identified by bisection, and the maintainer is engaged, so I'd expect a
> fixed package (deb13u4) reasonably soon:
>
>   https://bugs.debian.org/1141977
>
> Am I affected?
> --------------
>   dpkg -l python3.13 | grep deb13u3
>
> Two things must both be true: the deb13u3 package is installed AND weewxd
> was (re)started after it was installed.  A weewxd that has been running
> since before the upgrade still uses the old library and is safe until its
> next restart.
>
> What to do
> ----------
> 1. If your weewxd predates the upgrade, simply don't restart it until the
>    fixed package arrives.
> 2. Otherwise, make crashes self-healing while you wait.  A systemd
>    drop-in (systemctl edit weewx) with:
>
>      [Service]
>      Restart=on-failure
>      RestartSec=10
>
>    turns each crash into ~15 seconds of downtime.  I also recommend
>    Environment=PYTHONFAULTHANDLER=1 there -- it logs a full thread dump
>    on any future native crash, which is invaluable for problems like
>    this one.
> 3. Raising gc_interval in weewx.conf reduces exposure but does not
>    eliminate it (Python's automatic collections use the same broken
>    code path), so I wouldn't rely on it.
> 4. When the fixed python3.13 package arrives, remember that a running
>    weewxd keeps the old library until it is restarted -- do a
>    "systemctl restart weewx" after the upgrade to actually get off the
>    broken version.
>
> Downgrading to deb13u2 also works but re-opens the security fixes that
> update carried; with the auto-restart in place I don't think it's worth
> it.
>
> John
>
> --
> You received this message because you are subscribed to the Google Groups
> "weewx-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/weewx-user/92B83A5B-A968-4531-8DF2-223C1E9D1ED7%40johnkline.com
> <https://groups.google.com/d/msgid/weewx-user/92B83A5B-A968-4531-8DF2-223C1E9D1ED7%40johnkline.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/CAPq0zEBgF31yeiNrfFaNAX1RrZkQRG-dVvz%3DM6qhpRXXDYwxXA%40mail.gmail.com.

Reply via email to