So when does the new fix arrive? I upgraded the python 2 days ago and weewx has been running for 4 days....I better not restart weewx. At least if it doesn't start I will know what to do...Thanks for the heads up.
On Tuesday, 14 July 2026 at 08:17:42 UTC+10 Tom Keffer wrote: > 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/ae5a994b-b4f0-4c6b-aa50-91baedd28a34n%40googlegroups.com.
