This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
sonic-buildimage/files/image_config
Saikrishna Arcot ac19e2a8ba [docker-wait-any]: Exit worker thread if main thread is expected to exit (#12255)
There's an odd crash that intermittently happens after the teamd container
exits, and a signal is raised to the main thread to exit. This thread (watching
teamd) continues execution because it's in a `while True`. The subsequent wait
call on the teamd container very likely returns immediately, and it calls
`is_warm_restart_enabled` and `is_fast_reboot_enabled`. In either of these
cases, sometimes, there is a crash in the transition from C code to Python code
(after the function gets executed).  Python sees that this thread got a signal
to exit, because the main thread is exiting, and tells pthread to exit the
thread.  However, during the stack unwinding, _something_ is telling the
unwinder to call `std::terminate`.  The reason is unknown.

This then results in a python3 SIGABRT, and systemd then doesn't call the stop
script to actually stop the container (possibly because the main process exited
with a SIGABRT, so it's a hard crash). This means that the container doesn't
actually get stopped or restarted, resulting in an inconsistent state
afterwards.

The workaround appears to be that if we know the main thread needs to exit,
just return here, and don't continue execution. This at least tries to avoid it
from getting into the problematic code path. However, it's still feasible to
get a SIGABRT, depending on thread/process timings (i.e. teamd exits, signals
the main thread to exit, and then syncd exits, and syncd calls one of the two C
functions, potentially hitting the issue).

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2022-10-06 14:57:53 +00:00
..
bash Close console session due to user inactivity (#9890) 2022-02-02 09:41:21 +05:30
config-chassisdb [ChassisDB]: bring up ChassisDB service (#5283) 2020-10-14 15:15:24 -07:00
config-setup Add load_minigraph option to include traffic-shift-away during config migration (#11403) 2022-07-28 20:34:39 +00:00
constants [chassis] Add templates and code to support VoQ chassis iBGP peers (#5622) 2021-04-16 11:11:32 -07:00
copp [CoPP] Add always_enabled field (#9302) 2021-11-30 11:04:15 -08:00
corefile_uploader [Python] Align files in root dir, dockers/ and files/ with PEP8 standards (#6109) 2020-12-03 15:57:50 -08:00
cron.d [core_cleanup] Fix issue where core_cleanup job runs too frequently (#3659) 2019-10-23 15:55:47 -07:00
ebtables [baseimage]: Updates for Ebtables and support for multi-asic (#6542) 2021-01-27 08:36:10 -08:00
environment [image]: Update login message (#706) 2017-06-14 15:18:02 -07:00
fstrim [202012][fstrim] delay fstrim timer after sonic.target (#8737) 2021-09-13 07:37:46 -07:00
hostname [services] introduce sonic.target (#5705) 2021-02-25 14:26:24 +02:00
interfaces [chassis] Fix issues regarding database service failure handling and mid-plane connectivity for namespace. (#10500) 2022-05-24 16:54:12 -07:00
kdump [kdump] Fix kdump error message when a reboot is issued (#7985) 2021-07-01 11:52:38 -07:00
kubernetes [baseimage]: Install Kubernetes packages if enabled in image (#4374) 2020-04-13 08:41:18 -07:00
logrotate [Arista] Remove arista.log from rsyslog default logrotate (#9731) 2022-03-11 08:09:07 -08:00
misc [docker-wait-any]: Exit worker thread if main thread is expected to exit (#12255) 2022-10-06 14:57:53 +00:00
monit Revert "[auto-ts] add memory check (#10433)" 2022-10-04 21:53:45 +00:00
ntp [ntp] Fix ntp.conf template to allow setting of source port in CONFIG_DB (#7586) 2021-05-23 13:40:43 -07:00
pcie-check Support multiple pcie configuration file and change the pcie status table name to match with pcied changes (#7886) 2021-06-16 16:05:48 -07:00
platform [initramfs]: SSD firmware upgrade in initramfs (#10748) 2022-05-12 08:11:02 -07:00
rsyslog [multi-asic] fix syslog not getting generated. (#9160) 2021-11-03 18:29:09 -07:00
secureboot [port_config] Introduce ad-hoc mport_config.json file (#8066) 2021-07-15 08:56:35 +08:00
snmp mvrf_avoid_snmp_yml_config: made changes to pass SNMP config from con… (#4057) 2020-01-28 17:41:21 -08:00
sudoers Close console session due to user inactivity (#9890) 2022-02-02 09:41:21 +05:30
sysctl Enable sysctl fib_multipath_use_neigh (#8502) 2021-08-18 15:53:17 -07:00
syslog [baseimage]: /host unmount timeout issue during reboot. (#5032) 2020-07-25 01:27:58 -07:00
system-health [system-health] Add support for monitoring system health (#4835) 2020-10-12 11:12:49 +03:00
systemd [systemd] disable default systemd udev rules for interfaces (#7369) 2021-04-21 17:50:00 -07:00
topology [multi-asic][vs]: Update topology script to retrieve hwsku from minigraph (#6219) 2021-02-18 22:02:29 -08:00
updategraph [platform] Add Support For Environment Variable File (#5010) 2020-07-31 17:59:09 -07:00
warmboot-finalizer [swss.sh] clear counters cache folder on swss cold/fast reload (#11244) 2022-08-08 20:42:54 +00:00
watchdog-control [sonic-utilities] Build and install as a Python wheel package (#5409) 2020-09-20 20:16:42 -07:00
sonic_release [202205] add release tag file (#11222) 2022-06-22 21:11:40 -07:00