WebAudio wasm build fails with wasm-bindgen panic=unwind closures
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 75/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- rust, wasm
調査の方向性
src/host/webaudio/mod.rsから始め、issueで説明されているClosure::wrapコールバックを調べます。wasm-bindgen 0.2.129がこのコールバックのアンワインド安全性をどのように扱うかを確認し、次にwasm32-unknown-unknown向けにpanic=unwindでcpalをビルドして、失敗を再現し、サポートされているclosureの構築方法を確認します。このビルドが成功し、コールバックがWebAudioホストに所有されていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
With Rust panic=unwind and current wasm-bindgen (0.2.129), cpal 0.18.2 fails to compile for wasm32-unknown-unknown in src/host/webaudio/mod.rs at Closure::wrap(Box::new(move || { ... })). The boxed callback type Box<dyn FnMut()> does not implement wasm-bindgen's MaybeUnwindSafe bound.
A local one-line fix is:
Closure::wrap_assert_unwind_safe(Box::new(move || { ... }))
The callback is owned by the WebAudio host and does not cross Rust threads. Would you consider this change, or another supported closure construction, in cpal?
- 主要言語
- Rust
- スター
- 4k
- フォーク
- 554
- 平均マージ
- 2日 11時間
- マージ済み PR(30日)
- 3
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
RustAudio/cpal のほかの issue
-
aaudio: dynamic buffer tuning never grows the buffer (set_buffer_size_in_frames reports Err on success)対応中かも @dannyward630 が 1 日前に担当しました。 オープンhost - aaudio platform - android
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
メンテナーはふだん 1 日以内に返信
-
code quality dependencies host - wasapi platform - windows
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
RustAudio/cpal#1416 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
host - pipewire platform - linux
難易度 4/5 1〜2日 初心者へのやさしさ 52/100
RustAudio/cpal#1405 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
WASAPI: default-device activation fails with RPC_E_CHANGED_MODE after endpoint-notification callbacks put thread-pool threads into an STA対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンcorrectness host - wasapi platform - windows
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
RustAudio/cpal#1402 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
coreaudio (macOS): capture/playback timestamps double-count the buffer, loopback reads as −2 buffers対応中かも @Marco-Farruggio が 12 日前に担当しました。 オープンcorrectness host - coreaudio platform - macos
難易度 4/5 3〜5日 初心者へのやさしさ 53/100
RustAudio/cpal#1398 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
haowjy/mars-agents#228 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
redlib-org/redlib#604 ·
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
dividebysandwich/rust-dos#240 ·
メンテナーはふだん 1 日以内に返信
-
A-UI C-Bug S-Needs-Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
bevyengine/bevy#26330 ·
メンテナーはふだん 2 日以内に返信