問題タブ [hung]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
multithreading - Websphere Server スレッドがハングする
H2組み込みデータベースを使用してデータを保存するアプリケーションがあります。DB挿入を行う同期書き込みメソッドがあります。H2 DB は小さな Java 組み込み DB であるため、書き込みメソッドで「同期」を使用して、DB ではなく組み込み DB でトランザクション管理を処理します。
しかし、負荷が高いと、書き込みスレッドがハングアップすることがわかりました。どのリソースでこのスレッドがハングしているのか不明です。
このコード スニペットを見てください。
この DB にアクセスできる複数の書き込みメソッドがあります。コードから、コードが単純であることがわかりました。しかし、リソースがどこでロックされているかはわかりません。
もう 1 つの問題は、(Websphere) system.out のスレッド ダンプにあります。以下のようなスレッド スタック トレースを確認できます。
上記のスタック トレースで、スタック トレースに「不明なソース」が表示される理由を知る必要があります。これらの jar はクラスパスで利用でき、クラスパスには H2.jar もあります。スレッドが H2 でハングした場合、スレッドのスタックトレースを取得できない理由はわかりません。
そうでない場合は、スレッド スタック トレースが「不明なソース」を示している理由も知る必要があります。
あなたの助けに感謝。
前もって感謝します。
azure - azure - Linux 仮想マシンが「停止中」でスタックする
msdn アカウントを使用して Azure サービスを試しています。Suse エンタープライズ Linux 仮想マシンを作成しました。sonar+mysql といくつかの単純な Java アプリケーションを展開しました。先週末まで、ほぼ1か月間、すべてが順調でした。ssh経由で接続しようとしましたが、応答が得られませんでした。ソナーのウェブサイトにアクセスしようとしましたが、やはり応答がありません。axure ポータルを使用して vm を再起動しました。再起動したように見えますが、まだ応答がありません。Azure ポータルを使用してサービスを停止しました。そのステータスは数日間「停止中」になっています。接続を回復するために私ができることについて何か考えはありますか?
gdb - GDBで実行されているハングしたプロセスのスタックトレースを取得する
使用しているプログラムがハングしている理由を理解しようとしています。
最初は、GDBを実行することで問題が「解決」したと思っていましたが、以前とまったく同じ症状が発生しています。GDBに信号などを送信して、スタックトレースを出力して、確認できるようにする方法はありますか。何が起こっている?
私はFreeBSD-9.0を使用しています。
windbg - !mlocks ハング 解釈のヘルプが必要
私はwindbgでハングアップを調査しようとしており、私の仮定が正しいかどうかを知りたい. コマンド !mlocks を呼び出すと、次のようになります。
rwlocks を実行すると、次のようになりました。
0:007> !rwlock
私はこれを得た。電話すると
デッドロックは検出されません。Tess のブログでこれを見つけました。私の質問は、このスレッドがハングしているアプリケーションと関係があるかどうか、およびシナリオがどのようなものであるかということです。スレッドが死んでいるとはどういう意味ですか. デッドスレッドでロックが発生する可能性はありますか? または、ハングしているアプリケーションの根本的な原因を別の場所で見つける必要がありますか? この出力を解釈するのを手伝ってください。
よろしく、ベルンハルト
ここにいくつかの追加情報があります:
java - 奇妙なJVMスレッドがハングする-トラブルシューティングの提案?
本番環境でjvmがハングした問題の1つをトラブルシューティングしているときに、次のロガーステートメントを実行するスレッドの1つに遭遇しました。
このステップで、スレッドステータスが実行可能としてハングします。ここでidsはセットです。カウントダウンラッチを介して上記のスレッドを待機し、タスクを完了する別のスレッドがあります。ソフトウェアは15分ごとにスレッドダンプを取得し、2つのスレッドのスタックトレースは次のようになります
このjvmはほぼ24時間ハングし、最終的に先に進むためにそれを強制終了する必要がありました。スレッドダンプは、上記を含めてRUNNABLE状態のスレッドが43個あることを示しています。
collection.toString()を実行するだけで、上記のスレッドが24時間RUNNABLE状態になる理由は何でしょうか。
続行する方法について何か提案はありますか?
git - リモートエンドをGitする - 奇妙なシンボル
「git push」コマンドで次の非常に恐ろしいエラー メッセージが表示されるのはなぜですか?
シェルに表示されるテキストを追加しました。奇妙な記号が表示されます。私の Git インストールは壊れていますか? 私の最初の git クローンは https を使用していました
私はgit version 1.7.4.1
Ubuntu 10.10 x86_64で使用しています
java - コンピューターでOpenGLを使用してFBOを描画するとハングします
私は2台のコンピュータを持っています。i5とATIRadeonHD 5145を搭載したToshibaラップトップと、PentiumDとATIRadeonX1300シリーズを搭載した古いDellデスクトップです。
LWJGLを使用して、FBOを作成するJavaアプリケーションを作成しました。FBOに添付されているテクスチャは、画面のサイズです(Toshibaでは1366x768、Dellでは1024x768)。
MSI Afterburnerというプログラムを使用して、両方のコンピューターで同じアプリケーションを試し、CPU使用率、GPU使用率、およびフレームレートを確認します。
東芝では完璧に動作し、デルではハングします。後で詳しく説明します。
以下は、FBOを作成するためのコードです。
これは、FBOが表示されるwhileループです。
このメソッドは、FBOオフスクリーンにいくつかのテクスチャを描画します
前に述べたように、RadeonHDを搭載した東芝のアプリケーションは完璧に機能します。5%のCPU使用率、20%のGPU使用率、および60fps。
Radeon X1300を搭載した古いDellでこのアプリケーションを実行すると、コンピュータがハングします。CPU使用率は50%、GPUは測定できず、fpsは0です。
FBOを描画せず、画面外にレンダリングするだけで、古いDellはハングしなくなり、通常の結果として5%のCPU使用率、20%のGPU使用率、60fpsが得られます。
クワッドにFBOを描画しているため、コンピューターがハングします。そして、私は尋ねます、なぜですか?なぜこれが起こるのですか?私のコードに何か問題がありますか?最初は、コンピューターが古すぎて(2006年のもの)、FBOの処理に問題があると思っていましたが、FBOをオフスクリーンにレンダリングするときにハングしないのはなぜですか?
mysql - MySQL Left Join Query が 4 時間ハングする
以下のクエリを実行するのに 3 時間 50 分 39.70 秒かかるのは、許容範囲ですか、それとも正常ですか?
クエリで使用されるテーブル:
ukbm001marketing.temp_ContactHistory_grtthn2009_raw
565,832行ありますukbm001marketing.temp_CampaignCode_raw
9505行ありますukbm001marketing.temp_ContactCodes_raw
39行あります
このクエリをコマンド プロンプト ラインで実行しました。
過去に、私は Microsoft SQL Server (IS 部門によって設定されたもの) を使用していました。私は自分のプロジェクトに取り組んでおり、次のように設定しています。
EasyPHP12.1 を使用してインストール
- アパッチ/2.4.2 (Win32) PHP/5.4.6
- ソフトウェア バージョン: 5.5.27-log - MySQL Community Server (GPL)
ラップトップの仕様
- プロセッサー: Intel(R) Core(TM) i7-2620M CPU @ 2.70ghz 2.70ghz
- RAM: 8.00 GB (7.88 GB 使用可能)
- システム 64 ビット Windows システム
システムは 50% の CPU 使用率で実行されていました。
どのテーブルにもインデックスを作成していません。テーブルに主キーを与えていません。この問題はシステム パフォーマンスに関連していますか? データベースの設計上の問題ですか?それともmysqlサーバーの設定ですか?
ご協力いただきありがとうございます。
python - ハングしているマルチスレッドの Python プログラムを中断/停止/終了する方法
次のようなスレッドを実装する python プログラムがあります。
call_threaded_program() が別のプログラムから呼び出されています。
通常の状況でコードが機能しています。ただし、いずれかのスレッドでエラー/例外が発生した場合、プログラムは停止します (キューの結合が無限にブロックされるため)。このプログラムを終了できる唯一の方法は、端末自体を閉じることです。
スレッドが抜けたときにこのプログラムを終了させる最善の方法は何ですか? これを行うクリーンな(実際には私は何らかの方法を取る)方法はありますか?この質問が何度も出されていることは知っていますが、説得力のある答えを見つけることができません。助けていただければ幸いです。
編集:キューの結合を削除しようとしましたが、Python でスレッドを強制終了する方法はありますか? で 提案されているように、グローバル終了フラグを使用しました。 しかし、今の行動はとても奇妙で、何が起こっているのか理解できません。
プログラムの出力は次のとおりです。
その後、プログラムはハングするか、アクティブなスレッドの出力を続けます。ただし、終了フラグが True に設定されているため、スレッドの run メソッドは実行されていません。したがって、これらのスレッドがどのように維持されているか、または何が起こっているかについてはわかりません。
編集:問題が見つかりました。上記のコードでは、スレッドの get メソッドがブロックされていたため、終了できませんでした。代わりに、タイムアウト付きの get メソッドを使用するとうまくいきました。以下で変更した run メソッドだけのコードがあります