Fix liftToIntegration exception handling and rename
メンテナーはふだん 1 日以内に返信
@palas がすでに取り組んでいます。
2026年5月8日 から。
評価
この issue はまだ評価されていません。
説明
Problem
liftToIntegration in cardano-testnet/src/Testnet/Start/Cardano.hs:104 has two issues:
1. Duplicate exception messages
The current exception handler chain:
catch @_ @SomeException (runRIO rMap r) (withFrozenCallStack $ failException . toException . stringException . displayException)
serializes the exception to a string via displayException, then wraps it in a new StringException (which captures its own callstack), then passes that to failException (which calls displayException again). This produces output like:
━━━ Exception (StringException) ━━━
UnliftIO.Exception.throwString called with:
! AnnotatedException !
Underlying exception type: StringException
UnliftIO.Exception.throwString called with:
<actual error message>
Called from: ...
CallStack (from HasCallStack): ...
Called from: ...
The error message and callstack appear twice, and the exception type banners are nested three levels deep.
Fix: replace the chain with just failException, which already accepts SomeException:
catch @_ @SomeException (runRIO rMap r) (withFrozenCallStack failException)
2. Unclear name
liftToIntegration doesn't convey what is being lifted from/to. A name like runRIOInIntegration would be clearer — it runs a RIO ResourceMap action inside Hedgehog's Integration monad.
Context
Originally flagged as tech debt from https://github.com/IntersectMBO/cardano-node/pull/6346 (unresolved comments by @carbolymer), revisited in https://github.com/IntersectMBO/cardano-node/pull/6559#discussion_r3200025726.
- 主要言語
- Haskell
- スター
- 3.2k
- フォーク
- 763
- 平均マージ
- 2日 14時間
- マージ済み PR(30日)
- 20
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
IntersectMBO/cardano-node のほかの issue
-
Stale
難易度 1/5 1〜3時間 初心者へのやさしさ 75/100
IntersectMBO/cardano-node#6597 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
IntersectMBO/cardano-node#6522 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
needs triage type: enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
IntersectMBO/cardano-node#6737 ·
メンテナーはふだん 1 日以内に返信
-
needs triage
難易度 4/5 3〜5日 初心者へのやさしさ 44/100
IntersectMBO/cardano-node#6734 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 28/100
IntersectMBO/cardano-node#6718 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
IntersectMBO/cardano-node の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
NixOS/nixpkgs-update#586 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
koalaman/shellcheck#3593 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
configuration
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
tweag/cardano-kosmos#47 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
objectionary/phino#2021 ·
メンテナーはふだん 1 日以内に返信