問題タブ [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.
php - ハングした php のデバッグ
時々ハングする PHP Web アプリケーションがあります。ページに移動すると、最大実行数が 210 であっても、何時間もロードしようとしてそこに座っているだけです。これは、プロキシの背後で curl を使用してダウンロードするアプリケーションです。エラー報告はすべてに設定されていますが、ページが空白でハングしているため問題ありません。
ハングした PHP プロセスのデバッグで何も見つかりません。
windows - 終了したハングしたアプリケーションを検出する
プロセスを実行してデバッグする最小限のデバッグ ループを作成しました。
プロセスがハングし、ユーザーがプロセスを閉じようとすると、Windows はメッセージ ボックスに、待機するかすぐに終了するかを選択するオプションを表示します。デバッガーが関連情報を収集できるように、いつ終了するかを検出したいと思います。ただし、この状況を検出する方法がわかりません。スレッドとプロセスの終了コードは 0 のままです。ある時点で 0xCFFFFFFF を返していると思っていましたが、それは発生しなくなりました。
または、ワトソン博士のように、アプリを閉じた後にこのデバッガーを実行するように変更できるレジストリ エントリがいくつかあるかもしれません。私のマシンだけかもしれませんが、ハングしたアプリを閉じるときにデバッガー (VS JIT デバッグ、ワトソン博士など) を起動できないようです。
以前に HUNGAPP ダンプを見たことがあるので、これが何らかの形で可能であるに違いないことはわかっています。
情報をありがとう!
c++ - 停止に失敗したアプリの診断
私たちの Windows アプリはメモリ内でハングアップすることが多く、windbg を使用して問題を追跡しようとしています。私はwindbgに非常に慣れていないため、いくつかのアドバイスを使用できます(ただし、Advanced Windows Debuggingを読み始めました)。
このアプリは、VB で記述された C++ オブジェクトと COM オブジェクトが混在しています。時折、アプリを終了すると、アプリが消えたように見えますが、タスク マネージャーでは、アプリがメモリ内でぶらぶらしていて、明らかにアイドル状態であると表示されます。
!threads は私にこれを示しています:
私の訓練されていない目には、ファイナライズ キューがシングル スレッド アパートメントによってブロックされているため、生き続けているように見えます。これは合理的に思えますか?
~0kb の収量:
~6kb 収量:
ここで少しコースを修正していただければ幸いです。ブロックされたファイナライザーの推測が妥当であると思われる場合は、お知らせください。また、何がブロックされているのかを正確に把握するためのアドバイスをいただければ幸いです。
編集:
Shane は !analyze からの出力を求めました。これは実際には別のダンプからのものです - 私はそれらをたくさん持っていますが、それらはすべてほとんど同じように見えます.
solaris - Runtime.exec により、複製された JVM が強制終了されるまで無期限にハングする (Solaris 10)
全て、
Solaris 10 の jrockit 64 ビット JVM (27.3.1) を使用して、WebLogic サーバー 9.2 MP2 で J2EE アプリケーションを実行しています。
use runtime.exec を呼び出して、jfmerge という実行可能ファイルを呼び出して PDF ドキュメントを作成します。
Solaris では、runtime.exec が呼び出されると、重複した JVM が一時的に生成され、jfmerge プロセスが開始されることがわかりました。これは非効率的ですが (私たちの JVM は 5 GB であるため、複製されたシェル JVM も 5 GB です)、主な問題は、アプリケーションでこの機能 (PDF 生成) に大きな負荷がかかると、複製された JVM が時々使用されるという事実にあります。決して出ません。
JVM がハングすると、重複する JVM 全体が 5 GB のプロセス サイズのすべてをディスク スワップに書き込むため、サーバーで大きな問題 (アプリケーションの極端な低速化とユーザー セッションの終了) が発生します。
次のハングしたスレッドは、プロセスが手動で強制終了されるまで、ハングした JVM プロセスと相関していることに注意してください。
"[STUCK] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'" id=3463 idx=0x158 tid=3460 prio=1 ネイティブで、jrockit/io/FileNativeIO のデーモンが動作しています。 readBytesPinned(Ljava/io/FileDescriptor;[BII)I (ネイティブ メソッド) jrockit/io/FileNativeIO.readBytes(FileNativeIO.java:30) で java/io/FileInputStream.readBytes([BII)I(FileInputStream.java) でjava/io/FileInputStream.read(FileInputStream.java:194) java/lang/UNIXProcess$DeferredCloseInputStream.read(UNIXProcess.java:227) で java/io/BufferedInputStream.fill(BufferedInputStream.java:218) java/io で/BufferedInputStream.read(BufferedInputStream.java:235) ^-- 保持ロック: gov/v3/common/formgeneration/sessionbean/FormsBean で java/io/BufferedInputStream@0xffffffffec6510470[シン ロック]。gov/v3/common/formgeneration/sessionbean/FormsBean.createPDF(FormsBean.java:750) で getProcessStatus(FormsBean.java:809) gov/v3/common/formgeneration/sessionbean/FormsBean.getTemplateDetails(FormsBean.java:450) でgov/v3/common/formgeneration/sessionbean/FormsBean.generateSinglePDF(FormsBean.java:1371) gov/v3/common/formgeneration/sessionbean/FormsBean.generatePDF(FormsBean.java:263) gov/v3/common/formgeneration /sessionbean/FormsBean.endorseDocument(FormsBean.java:2377) at gov/v3/common/formgeneration/sessionbean/Forms_qaco28_EOImpl.endorseDocument(Forms_qaco28_EOImpl.java:214) gov/v3/delegates/common/FormsAndNoticesDelegate.endorseDocument(FormsAndNoticesDelegate.java) :128) gov/v3/actions/common/EndorseDocumentAction.executeRequest(EndorseDocumentAction.java:68) gov/v3/fwk/controller/struts/action/V3CommonDispatchAction.dispatchToExecuteMethod(V3CommonDispatchAction.java:532) at gov/v3/fwk/controller/struts/action/V3CommonDispatchAction.executeBaseAction(V3CommonDispatchAction.java:336) at gov /v3/fwk/controller/struts/action/V3BaseDispatchAction.execute(V3BaseDispatchAction.java:69) at org/apache/struts/action/RequestProcessor.processActionPerform(RequestProcessor.java:484) at gov/v3/fwk/controller/struts /requestprocessor/V3TilesRequestProcessor.processActionPerform(V3TilesRequestProcessor.java:384) org/apache/struts/action/RequestProcessor.process(RequestProcessor.java:274) org/apache/struts/action/ActionServlet.process(ActionServlet.java:1482) ) org/apache/struts/action/ActionServlet.doGet(ActionServlet.java:507) gov/v3/fwk/controller/struts/servlet/V3ControllerServlet.doGet(V3ControllerServlet.java:110) で javax/servlet/http/HttpServlet.service(HttpServlet.java:743) で javax/servlet/http/HttpServlet でweblogic/servlet/internal/StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) の .service(HttpServlet.java:856) weblogic/servlet/internal/StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) の weblogic/servlet/ internal/ServletStubImpl.execute(ServletStubImpl.java:283) で weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:175) で weblogic/servlet/internal/WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3231) で weblogic /security/acl/internal/AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) weblogic/security/service/SecurityManager.runAs(SecurityManager.java:121) で weblogic/servlet/internal/WebAppServletContext.securedExecute(WebAppServletContext.java:2002) で weblogic/servlet/internal/WebAppServletContext.execute(WebAppServletContext.java) :1908) weblogic/servlet/internal/ServletRequestImpl.run(ServletRequestImpl.java:1362) で weblogic/work/ExecuteThread.execute(ExecuteThread.java:209) で weblogic/work/ExecuteThread.run(ExecuteThread.java:181) でat jrockit/vm/RNI.c2java(JJJJJ)V(ネイティブ メソッド) -- トレースの終了java:1908) weblogic/servlet/internal/ServletRequestImpl.run(ServletRequestImpl.java:1362) で weblogic/work/ExecuteThread.execute(ExecuteThread.java:209) で weblogic/work/ExecuteThread.run(ExecuteThread.java:181) で) at jrockit/vm/RNI.c2java(JJJJJ)V(ネイティブ メソッド) -- トレースの終了java:1908) weblogic/servlet/internal/ServletRequestImpl.run(ServletRequestImpl.java:1362) で weblogic/work/ExecuteThread.execute(ExecuteThread.java:209) で weblogic/work/ExecuteThread.run(ExecuteThread.java:181) で) at jrockit/vm/RNI.c2java(JJJJJ)V(ネイティブ メソッド) -- トレースの終了
私たちはいくつかのことをしたいと思います:
1.) 単純な jfmerge 実行可能ファイルを実行するときにその機能を必要とせず、大量のオーバーヘッドが発生するため、重複する JVM の生成を防ぎます。
2.) 短期的には、少なくともこの重複した JVM が無期限に処理されるのを防ぎます。
php - 停止したPHPスクリプトの検索/処理
私はAjaxを使用して、実行に数時間かかる可能性のあるPHPスクリプトを開始します。これは非同期で実行されるため、ブラウザーを閉じてもPHPスクリプトは完了します。
なんらかの理由で停止/ハングしたこれらのPHPスクリプトを処理する必要があります。これを行うための最良の方法は何ですか?アクティビティを定期的にチェックするために使用できるPHPスクリプトのプロセスIDを取得する方法はありますか?新しいスクリプトを開始する前に、未解決のスクリプトをすべて強制終了する必要があります。
ありがとう、ブライアン
iphone - もうiPhoneにアプリを入れられない
com.mycompany.clack をブートストラップ サーバーに登録できませんでした。エラー: 不明なエラー コード。これは通常、このプロセスの別のインスタンスが既に実行されているか、デバッガーでハングしていることを意味します。プログラムはシグナル「SIGABRT」を受信しました。
これは私が得るエラーです。それに関するアイデアはありますか? 再起動などは役に立たず、キャッシュの問題ではないようで、アドバイスはありません-他のフォーラムにはありませんでした。
macos - MySQL クエリは 1 日経ってもまだ実行されています..?
500MB のデータベースで重複を分離しようとしていますが、2 つの方法を試しました。新しいテーブルの作成とグループ化:
しかし、それは 1 時間実行されており、MySQL 管理者ではステータスがロックされていると表示されます。
私が試した他の方法は、これで重複を削除することでした:
..そして、これは現在24時間実行されており、管理者はデータを送信していると言っています...
またはこれらのクエリが実際にまだ実行されていると思いますか? ハングしているかどうかを確認するにはどうすればよいですか? (Apple OS X 10.5.7)
ruby-on-rails - ハングした Phusion パッセンジャー プロセスをトラブルシューティングするにはどうすればよいですか?
毎晩バッチ ジョブを実行すると、パッセンジャーは顧客からの http リクエストに応答しなくなります。しばらくすると、再び機能し始めます。
rails のログにエラーはありません。
Apache アクセス ログでは、すべてのリクエストが 500 エラーを返していることがわかります。
Apache エラー ログには、次のように表示されます。
私はいくつかの旅客ユーティリティを実行しました。ここに出力があります
パッセンジャーメモリ統計
--------- Apache プロセス ---------
PID PPID VMSize プライベート名
950 2012 312.1 MB 28.2 MB /usr/sbin/apache2 -k start 993 2012 309.4 MB 27.6 MB /usr/sbin/apache2 -k start 1014 2012 310.8 MB 26.8 MB /usr/sbin/apache2 -k start 1038 2012 310.8 MB 26.9 MB /usr/sbin/apache2 -k start 1050 2012 309.4 MB 27.6 MB /usr/sbin/apache2 -k start 1055 2012 302.1 MB 20.1 MB /usr/sbin/apache2 -k start 1057 2012 310.9 MB 26.9 MB /usr/sbin /apache2 -k start 1059 2012 308.4 MB 26.5 MB /usr/sbin/apache2 -k start 1060 2012 310.9 MB 27.1 MB /usr/sbin/apache2 -k start 1109 2012 315.5 MB 33.4 MB /usr/sbin/apache2 -k start 2012 1 284.0 MB 1.7 MB /usr/sbin/apache2 -k start
プロセス: 11
プライベート ダーティ RSS の合計: 272.87 MB
-------- Nginx プロセス --------
プロセス: 0
プライベート ダーティ RSS の合計: 0.00 MB
----- 乗客のプロセス -----
PID VMSize プライベート名
1052 249.3 MB 78.6 MB Passenger ApplicationSpawner: /u/apps/demandmart/current 1108 254.8 MB 82.1 MB Rails: /u/apps/demandmart/current 31088 87.1 MB 0.5 MB /usr/lib/ruby/gems/1.8/gems/passenger -2.2.11/ext/apache2/ApplicationPoolServerExecutable 0 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/bin/passenger-spawn-server /usr/bin/ruby1.8 /tmp/passenger. 2012 31089 47.5 MB 9.8 MB 旅客スポーン サーバー
プロセス: 4
プライベート ダーティ RSS の合計: 171.06 MB
旅客ステータス
----------- 一般情報 ----------- 最大 = 6 カウント = 1 アクティブ = 0 非アクティブ = 1 グローバル キューで待機中: 0
----------- ドメイン ----------- /u/apps/demandmart/current: PID: 1108 セッション: 0 処理済み: 4 アップタイム: 18m 8s
どんなアイデアでも、これを理解するために私は何をしようとする/何をすることができますか. SIGABRT で強制終了しようとしましたが、ログには gdb がインストールされていないと書かれています。それで、それをインストールして明日もう一度試すことができますが、これが正常なのか、それとも他に何を試すべきなのか知りたいです。
apache2、phusion 2.2.11、ruby 1.8、rails 2、ubuntu を使用
python - ハングせずにPythonでプロセス出力の読み取りを停止しますか?
Linux用のPythonプログラムは、ほぼ次のようになっています。
プログラムはこの行でハングします:
そしてそれは「トップ」のように更新出力を続けるツールで起こります
私の最高の試練:
それは最初のもの(それはケリングされています)よりもうまく機能しましたが、それは戻ります:
2回目の裁判:
最初のものと同じです。「readlines()」が原因でハングしました
その戻りは次のようになります:
変数「プロセス」に保存します。私はみんなを考えています、私は今本当に立ち往生していますか?
ssh - SSH 接続が失われた後に gnu screen が応答しなくなるのを防ぐにはどうすればよいですか?
VPN トンネルを使用して職場のネットワークに接続し、次に SSH を使用して cygwin を実行している職場の PC に接続します。ログインすると、画面セッションにアタッチでき、すべてがうまく機能します。
しばらくすると、コンピューターから離れると、遅かれ早かれ VPN トンネルがタイムアウトします。両端の SSH 接続は最終的にタイムアウトになり、最終的にコンピューターに戻って作業を行います。理論的には、これは VPN を再起動し、SSH 経由で再接続してから「screen -r -d」を実行するだけの簡単なことです。
ただし、どうやら sshd デーモンが cygwin PC でタイムアウトになると、画面セッションが何らかのハング状態のままになります。screen セッションの実行中に cygwin bash シェル ウィンドウのクローズ ボックスをクリックすると、同様のハング状態を再現できます。
これが発生したら、画面セッションを回復して、何も失わないようにする方法はありますか?