httpServe appears to be interfering with slave-thread
まだ誰も着手していません。
評価
調査の方向性
Start by tracing the shutdown path in Snap/Http/Server.hs, then compare the exception handling in SlaveThread.hs and PartialHandler.hs. Use the linked sections and the proposed minimal reproduction to verify whether ThreadKilled reaches the parent invoking httpServe. Done means Ctrl-C shuts down the server and child threads without their output continuing.
索引モデルが issue の本文から書いたものです。
説明
Children aren't getting harvested on ctrl-c in GHCi, can see their output continue even though the web server itself successfully shut down.
I think slave-thread needs 1 a ThreadKilled 2 exception to bubble up to the parent thread (the one in main which invoked httpServe) in order for it to do its thing.
This looks like a good candidate for starting to narrow things down.
I'll try to put together a minimal repro in a bit.
Some context from IRC:
< mightybyte> One of our apps started exhibiting this behavior a few months back.
< bitemyapp> I think perhaps it is not letting the ThreadKilled bubble up.
< mightybyte> And I think it happened around the time that some code was added that probably forked some threads.
< mightybyte> So that all lines up with what you're saying.
- 主要言語
- Haskell
- スター
- 197
- フォーク
- 87
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
snapframework/snap-server のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
snapframework/snap-server#118 · コメント 5 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
snapframework/snap-server#96 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
snapframework/snap-server#94 · リアクション 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
snapframework/snap-server#92 · コメント 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
snapframework/snap-server#85 · コメント 8 件 ·
snapframework/snap-server の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
halogenandtoast/ArkhamHorror#5805 ·
-
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
objectionary/phino#1724 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 82/100
tomjaguarpaw/bluefin#108 ·
-
infrastructure
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
alunduil/collection-json.hs#373 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
digital-asset/daml#23439 ·
メンテナーはふだん 1 日以内に返信