Apache 因錯誤而停止:無效參數:AH00146:無法釋放接受互斥體

Apache 因錯誤而停止:無效參數:AH00146:無法釋放接受互斥體

我運行 Debian Bullseye 的網頁伺服器已經運行多年,沒有出現任何問題。一切都是最新的。 Apache 版本是 2.4.54。昨天我注意到我的網站都沒有啟動,所以我登入我的伺服器並注意到 Apache 不再運行。我重新啟動 Apache 並檢查其日誌檔案以查看發生了什麼。日誌檔顯示:

[Tue Dec 13 23:46:50.629635 2022] [mpm_prefork:emerg] [pid 2079339] (22)Invalid argument: AH00146: couldn't release the accept mutex
[Tue Dec 13 23:46:51.397665 2022] [core:alert] [pid 2036789] AH00050: Child 2079339 returned a Fatal error... Apache is exiting!
[Tue Dec 13 23:46:51.397743 2022] [:emerg] [pid 2036789] AH02818: MPM run failed, exiting

由於 apache 以前從未在我身上崩潰過,所以我認為這是一次性交易,然後就這樣了。但今天我再次注意到我的網站宕機了,Apache 再次不再運作。檢查了 error.log,我看到了這個:

[Wed Dec 14 15:10:58.522933 2022] [mpm_prefork:emerg] [pid 2543516] (22)Invalid argument: AH00146: couldn't release the accept mutex
[Wed Dec 14 15:10:58.600767 2022] [mpm_prefork:emerg] [pid 2543951] (22)Invalid argument: AH00146: couldn't release the accept mutex
[Wed Dec 14 15:10:58.821819 2022] [mpm_prefork:emerg] [pid 2543852] (22)Invalid argument: AH00146: couldn't release the accept mutex
[Wed Dec 14 15:10:58.985176 2022] [mpm_prefork:emerg] [pid 2543789] (22)Invalid argument: AH00146: couldn't release the accept mutex
[Wed Dec 14 15:10:59.020098 2022] [mpm_prefork:emerg] [pid 2545055] (22)Invalid argument: AH00146: couldn't release the accept mutex
[Wed Dec 14 15:10:59.054757 2022] [mpm_prefork:emerg] [pid 2543845] (22)Invalid argument: AH00146: couldn't release the accept mutex
[Wed Dec 14 15:10:59.088885 2022] [mpm_prefork:emerg] [pid 2543953] (22)Invalid argument: AH00146: couldn't release the accept mutex
[Wed Dec 14 15:10:59.337919 2022] [core:alert] [pid 2080897] AH00050: Child 2543516 returned a Fatal error... Apache is exiting!
[Wed Dec 14 15:10:59.338011 2022] [:emerg] [pid 2080897] AH02818: MPM run failed, exiting

所以現在我猜這不是一次性交易,肯定出了什麼問題。我搜尋了互聯網,雖然很多人以前遇到過這個問題,但我找不到可能導致此問題的原因。即便如此,各地都提供了相同的解決方案。將以下行新增至Apache2.conf

Mutex posixsem

我添加了該行,以便看看是否確實解決了問題。仍然存在一個問題:什麼可能導致這種情況?在 apache 崩潰之前我對系統所做的最後一次更新是在大約 2 週前(來自我的 apt History.log 的片段):

Start-Date: 2022-12-01  01:14:02
Commandline: apt-get upgrade
Upgrade: php7.4-soap:amd64 (7.4.30-1+deb11u1, 7.4.33-1+deb11u1), php7.4-mbstring:amd64 (7.4.30-1+deb11u1, 7.4.33-1+deb11u1), krb5-locales:amd64 (1.18.3-6+deb11u2, 1.18.3-6+deb11u3), libgssapi-krb5-2:amd64 (1.18.3-6+deb11u2, 1.18.3-6+deb11u3
End-Date: 2022-12-01  01:16:00

第一次崩潰後,我做了另一個更新:

Start-Date: 2022-12-13  23:58:36
Commandline: apt-get upgrade
Upgrade: libopenexr25:amd64 (2.5.4-2, 2.5.4-2+deb11u1), snapd:amd64 (2.49-1+deb11u1, 2.49-1+deb11u2)
End-Date: 2022-12-13  23:58:47

這(顯然)沒有幫助。那麼,到底是什麼原因導致了這些崩潰呢?可能是來自外部的東西(攻擊/格式錯誤的請求)?

相關內容