elecdeer / yosuga-bot

Discord用読み上げBot
MIT License
1 stars 1 forks source link

TtsControllerが接続できないときにクラッシュ #94

Closed elecdeer closed 3 years ago

elecdeer commented 3 years ago

socketIOAudioRecorderの reject(new Error("receiveStream timeout))を拾えてない

elecdeer commented 3 years ago

https://github.com/elecdeer/yosuga-bot/blob/9778f4a3f79a6ca4c3213e7bc391a3a2302fbfc4/src/speaker/socketIOAudioRecorder.ts#L21-L28

ここでthis.receiveStreamをawatiしていないのがまずい?

elecdeer commented 3 years ago

https://qiita.com/Tsuyoshi84/items/c50fbbf30a2af387efdf#%E9%9D%9E%E5%90%8C%E6%9C%9F%E3%81%AEerror%E3%81%AFcatch%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84 setTimeoutからrejectを呼ぶと非同期処理なのでcatchできない

elecdeer commented 3 years ago

多分#98で直った

elecdeer commented 3 years ago

直ってない気がする AIVOICEが起動していないときに接続しようとすると、receiveStream timeoutのrejectをcatchできなくて落ちる

elecdeer commented 3 years ago

よく分からない... https://www.typescriptlang.org/play?module=1#code/LAKAxg9gdgzgLgAjgQxgawEoFMYQDYBuWCAvAgBQCUpAfAlFgO4IAKAThALYCWMWAPAQjcAJjXLk2OfEQA0CKQCssYONRJ0A3qAQI+cACrdOWCAFc4E9Vp26F0wlioBuWwF95AZgAMvyq5A3f1BQSFhEFHRsXEcAGWgAc1IKa3omVg4ePkFhMQkpGLl7ZVVU7RBdfSMTc0sqWgRyu3tCp2CKhA8EAEZfPwCggJCQUOh4JFRMLBLEMnqNNOZ2Ll4BIVFxSQcipRU1Bqa9LENjUwsrA9tdXdVyACIbuCwRO-bdLt7+0EHh0CwADwADhA2IgwuNGMhuLMKJwYAAuehmTgAIywbEoiOWWTWuToGlsDCWmVW+W2WDKVyOJxq53mNg6zQKMjaAWaXThb067VG4QmUWmewATMl6QhIdDyD4-AA6OAACywUAuC2xqxlj3uj1ePPAYwikwwyDAxDmlI6UjgZjYUAyKz4GuNTgA2lTIlMZkKqLI3YbyfEoAlvbYALqUb7DcERHAw1AATygYBSlw6cDYccOunB+CwMrwECDdxRehQoNebLsUYQKLVfGS7qNJpcw2a2bwufzheQJeQZfDjIQVe7ZGQEoNAtazYHbY7Bfu3YAZtwoLx5eWqVTR1DEDWSXwhh03IPkHAwPKKBTGlSZ3m53cwCezwBCdfTsY5mXojhscgUituWwIxGEAnngFwgA

elecdeer commented 3 years ago

https://ja.stackoverflow.com/questions/50706/async%E3%81%AE%E4%B8%AD%E3%81%A7%E3%81%A0%E3%81%91-try-catch%E3%81%8Crejected%E3%81%95%E3%82%8C%E3%81%9Fpromise%E3%82%92catch%E3%81%A7%E3%81%8D%E3%82%8B%E7%90%86%E7%94%B1%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84 これか?

elecdeer commented 3 years ago

https://zenn.dev/uhyo/articles/unhandled-rejection-understanding