バグを説明する
最新のリリースでは、Octoprintを再起動または再起動するときに問題が発生します。 再起動ダイアログが表示されますが、再起動を確認した後は何も起こりません。 UIは明らかにまだ動作していますが、Octoprintは再起動していませんが、例外が発生します(添付のログを参照)。 sshcliからOctoprintを再起動しても役に立ちません。 再起動が必要ですが、これには数分かかります。
1.13にロールバックし、問題は発生しなくなりました
再現するには
動作を再現する手順:
予想される行動
プロンプトを確認した後、Octoprintが再起動し、「再接続を試みます」および「再ロード」という既知のメッセージが表示されます。 再起動後、UIが再び使用可能になります。
スクリーンショット
該当する場合は、問題の説明に役立つスクリーンショットを追加してください。
ファイル(該当する場合は、次のファイルまたはスクリーンショットを添付してください):
OctoPrintサーバーとプラグイン:
デスクトップ(次の情報を入力してください):
私はあなたの問題を再現できないようです。 そこにはかなりの数のプラグインがインストールされており、OctoPrintインスタンスと最新のダッシュボードにインストールされているすべてのプラグインでテストしましたが、問題は発生していません(ただし、これらのプラグインまたはOctoPrintで設定した設定を正確に知ることはできません) )。
ログを見ると、ダッシュボードに特に関連しているように見えるエラーは見当たりません。 以前のバージョンのダッシュボードにロールバックすることで問題を解決できることを考えると、最新バージョンのダッシュボードとプラグインの1つとの間に競合があるようです。
最新のダッシュボードをインストールし、インストールした他の各プラグインを1つずつ無効にして、競合の原因となっている可能性のあるプラグインを確認できれば、問題の特定に役立つ可能性があります。
あなたの迅速な対応に感謝!
この問題は、Dashboardv1.15.0プラグインと別のプラグインとの相互参照が原因で発生しているというあなたの想定は正しかったです。
すべてのサードパーティプラグインを非アクティブ化し、1つずつ再アクティブ化しました。 このプラグインで問題が発生します: WS281x _LED_Status多分あなたはそれがなぜ起こるのかそれを見ることができますか? Dasboard 1.13.0では、まったく問題はありません。
@ j7126-ねえ、WS281xLEDステータスの作者はこちら。
この問題の一般的な原因は、Pythonで非デーモンスレッドを使用することです+マルチプロセッシング+ OctoPrintのシャットダウンハンドラーがうまく機能しません。 したがって、バインディングが解放されることはないため、「すでに使用中のアドレスエラー」が発生します。
後で見ていきますが、チャンスが来る前に見たいのなら、そこから始めます。
これは100%です- octoprint.util.ResettableTimer
を使用し、デフォルトではdaemon=True
設定されていません。 それをクワーグとしてクラスに渡します。
これが明確でない場合は、後でPRを送信します。現在、電話中です🙂
PRは作成されましたが、テストされていません。 後でやってみます。 🙂
確認済みの#219が修正です。 そして、PR https://github.com/OctoPrint/OctoPrint/pull/3760を提出して、1.5.0リリースからこれが二度と起こらないようにしました。
PRありがとうございます。 コミットはリリース1.15.1で終了するはずです。
レビューのために提出された新しいPR。
すでにマージされています
最も参考になるコメント
PRありがとうございます。 コミットはリリース1.15.1で終了するはずです。