問題タブ [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.

0 投票する
2 に答える
17267 参照

c# - c# .NET 4 vs2010 で記述された Windows サービスが Server 2008 R2 Enterprise にインストールされない

私は多くのバージョンの Windows サービスを作成し、Server 2008 R2 Enterprise を実行する 32 GB の 64 ビット システムにそれらをインストールしました。

このレシピを使用してサービスを作成します:
http://msdn.microsoft.com/en-us/zt39148a.aspx
「ウォークスルー: コンポーネント デザイナーでの Windows サービス アプリケーションの作成」

Win 7 ラップトップ ( c#、vs2010 SP1、.NET 4 ) で.msiと対応するsetup.exeを作成します。

通常の動作

ラップトップで Windows サービスをテストした後、.msi と setup.exe を win2008 R2 Enterprise サーバーのフォルダーにコピーします (リモート デスクトップ経由でコピー アンド ペーストを使用)。サーバーのコントロール パネルを使用してアンインストールし、.msi を右クリックして [インストール] を選択し、セットアップ ウィザードを実行します。問題ない。ほとんどの場合動作します。

異常な動作

インストールはおそらく 15 分以上実行されます。終わりません。最終的に、
「(?) インストーラーが応答しなくなりました」というダイアログが表示されます。
[再試行] または [キャンセル] のオプションがあります。

この時点で、プログレス バーは可能な限り短く、左端の「お待ちください...」の「P」の下にあります。

[再試行] をクリックしても解決しません。[再試行]をクリックしてから 30 分以上経ちましたが、プログレス バーは 1 ピクセルも進みません。

詳しくは

(a) サービスは別のサーバー (Win 2008 R2 Web エディション) に問題なくインストールされます。
(b) 前述のように、Windows サービスは、私の Win 7 開発およびテスト環境にインストールして適切に動作します。

歴史/推測

数週間前、win 2008 R2 Enterprise サーバーからサービスをインストールできませんでした。.msi がインストールされていると主張し、services.msc コンソールにもサービスが引き続き表示されていたにもかかわらず、コントロール パネル/アンインストールでそれを見つけることができませんでした。サービスを無効にしても解決しませんでした。そのため、コードを複製し、サービス名をわずかに変更して、問題なく実行されていたサービスを正常にインストールました。

今日、同様のイベントが発生しました。唯一の違いは、コントロール パネルのアンインストールでそのサービスを確認できることです。アンインストールされないので、同じクローン作成のトリックを試みましたが、今回は失敗しました。

次のステップ: 上記のウォークスルーを使用して、何もしない Windows サービスを作成し、元の c# プロジェクト ファイルからクライアント クラスをインポートして、それを便利にしました。

ゼロから再構築されたWindows サービスは、私のラップトップでは設計どおりに動作しますが、R2 Enterprise サーバーへのインストールは拒否されます。

何か案は?

よろしくお願いします。

PS: これを投稿したのは、開発者が自分のコードをシステム管理者に引き渡す前に遭遇する可能性が高いためです。

ところで、関連するものは何も見つかりませんでした。Google経由で同上。

0 投票する
1 に答える
3254 参照

hadoop - Hadoop 削減タスクがハングする

4 つのノードを持つ Hadoop クラスターをセットアップしました。map-reduce タスクを実行すると、map タスクはすぐに終了しますが、reduce タスクは 27% でハングします。ログを確認したところ、reduce タスクがマップ ノードからのマップ出力のフェッチに失敗したことがわかりました。

master のジョブ トラッカー ログには、次のようなメッセージが表示されます。

マスターの名前ノード ログには、次のようなメッセージが表示されます。

ただし、「web30.bbn.com.cn」も 202.106.199.39、202.106.199.3 もスレーブ ノードではありません。このような ip/domains が表示されるのは、hadoop がノードの解決に失敗し (最初にイントラネット DNS サーバーで)、次に上位レベルの DNS サーバーに移動し、後でトップに移動しても失敗し、その後「ジャンク」ip/domains が表示されるためだと思います返されます。

しかし、構成を確認したところ、次のようになります。

conf/core-site.xml:

hdfs-site.xml:

達人:

奴隷:

また、すべてのファイアウォール (iptables) がオフになっており、各 2 ノード間の ssh は問題ありません。そのため、エラーがどこから来たのか正確にはわかりません。助けてください。どうもありがとう。

0 投票する
2 に答える
3834 参照

sftp - JSch session.connect() が CoreFTP でハングする

localhost と次のコード用に CoreFTP を構成しました。

プログラムが を達成するconnect()と、コンソール出力に次の 2 つのメッセージが表示されます。

...そして、それ以上何も起こりません。数分後、connection is closed by foreign host例外が表示されます。

なんで?

全てに感謝!

0 投票する
1 に答える
2527 参照

powershell - Start-Job スクリプトブロック内でリモートの Get-WmiObject 呼び出しが失敗する

わかりました、私はこれを理解しようとしましたが、インターウェブに尋ねる時が来たと考えました. これはバグなのか何なのか気になります。

複数のコンピューターに対してジョブを開始して、それらに存在するデータベース名を特定しようとしています。

私のコンピュータ 1 のシステム セットアップは次のとおりです。Powershell 2.0、Windows 2k3 Enterprise x64

Computer1 で次を実行できます。

そして、ジョブは永久に「実行中」の状態でスタックします。しかし、シェルのジョブのスクリプト ブロックの外で同じコマンドを実行した場合はそうではありません。

ここで、ローカル管理者の(対私のドメイン)資格情報を使用してこの正確なセットアップを試しましたが、同じ結果になりました。何らかの理由でうまくいきません。

gwmi を使用しないカスタム WMI dotnet オブジェクトを作成しようとしましたが、同じ結果が得られました。

-asjob パラメータ?: これは解決策ではありません。

  1. このパラメーターを使用すると、12 GB のシステムで約 2 GB のメモリを使用すると、powershell ウィンドウがクラッシュします。一方、start-job は 12GB まで問題なく使用できます。すべてのクエリをシリアルに実行することもできます。

  2. また、Gwmi で -Asjob パラメーターを使用するとメモリが再利用されないため、それ以上ジョブを続行できません。「remove-job * -force」または「[GC]::Collect()」を実行した後でも、powershell.exe のメモリ消費量は頑固に変わりません (これも start-job とは異なります)。

  3. SQL インスタンス名が異なるため、wmi クラス名も異なります。したがって、複数のクラスに対して複数のクエリ コマンドを実行する必要があります。技術的には実行可能ですが、より複雑で、上記のメモリ要件を考えると、2 GB に制限されます。誰かが start-job を本来のように機能させる方法を知っていることを願っています。

私が試していない唯一のことは、権限パラメーターを指定する必要があるのでしょうか?

0 投票する
3 に答える
1714 参照

php - PHP CLI スクリプトがハング状態であることを検出する方法

スーパーバイザー (http://supervisord.org/) を使用して、かなり標準的な PHP スクリプトをデーモン化しています。スクリプトは次のような構造になっています。

今日、このスクリプト (かなり安定しています) がハングしました。これは、supervisord にプロセスを再起動するように警告するようなクラッシュ (つまり、SIGHUP または SIGTERM シグナルの発行) はしませんでした。処理中にエラーは発生しませんでした。これは、スクリプトによってキャッチされるか、少なくとも致命的なエラーをトリガーして終了した可能性があります。これらの「キャッチ可能な」シナリオの代わりに、それはただそこに座っていました. PHP スクリプトはメモリの観点からリークが多く、実行時間が長い場合は再起動するのが適切であることが一般的に認められているため、supervisorctl フックを介してスクリプトを再起動するために 1 時間ごとに実行する cron ジョブをセットアップしています。その再起動後、スクリプトは正常に動作を再開しました。

私の質問: このスクリプトがハングしたことをどのように検出できますか? なんらかの方法でその状態を警告されない限り、なぜハングしたのかというこの問題の診断やトラブルシューティングを開始することさえできません。これに対するソフトウェア ソリューション、または自分でソリューションを作成するためのアプローチ (PHP、Python、perl、またはシェルのいずれか) を探しています。

スクリプトは PHP 5.2.6 で書かれており、最新の RHEL 5 サーバーで実行されます。

より素晴らしいソリューションに役立つ場合は、追加情報を共有できるかどうかお知らせください。

ありがとうございました!

シャヒーブ R.

0 投票する
1 に答える
1748 参照

java - ExecutorServiceを使用して非同期タスクを実行するときに発生する問題

以前 、ExecutorServiceとApacheVelocityの初期化について質問しました。簡単に要約すると、ユーザーリクエストを受け入れるJava EEフロントエンドがあり、これらのリクエストごとに、ExecutorService(デーモンとして設定されたSingleThreadedExecutor)を使用して、長いワークフローを開始します。このワークフローはライブラリに含まれており、機能します。 Eclipseを介してスタンドアロンモードで実行すると、予想どおりになります。Webサイト(サーブレット)から呼び出されたとき、Velocity Engineが初期化されている時点(Velocity.init()またはve.init())でワークフローが一貫してハングしていることを確認しました。したがって、私の前述の質問。

答えや提案がうまくいかなかったとき、これはVelocityの起動方法と関係があると推測し、FreeMarkerに移行することにしました。これで、FreeMarkerの実装でもワークフローがまったく同じ場所でハングしていることがわかります。この「場所」は、渡されたデータオブジェクトのクーペルに対してテンプレートを評価し、メール文字列を返すメール作成部分です。Freemark'ingクラスとFreeMarkクラスを呼び出すクラスは次のとおりです。

FreeMarkITクラスは次のとおりです-

さて、私のロギングから、ワーカースレッドが行にぶら下がっているように見えます config=new Configuration()

繰り返しますが、これはEclipseから実行するとスタンドアロンモードで期待どおりに機能しますが、ExecutorServiceを使用してサーブレットから呼び出されるとハングします。

これはVelocityまたはFreeMarkerのいずれとも関係がなく、ExecutorServiceと関係がある可能性があることを考え始めています。アドバイスや提案は非常に役立ちます。

ありがとう

0 投票する
4 に答える
2273 参照

delphi - DataSnap の待機中にクライアント UI を更新しています

TSQLConnectionコンポーネント ( )を介して DataSnap サーバーに接続する Delphi XE2 で MDI Delphi アプリを作成しましたdriver = datasnap。設計時に を右クリックTSQLConnectionすると、DataSnap クライアント クラス (ProxyMethods) を生成できます。

私の目標は、クライアント側に、DataSnap 要求が処理されるまでの時間を示す経過時間クロック [0:00] を設定し、1 秒ごとに更新することです。私が試したがうまくいかない2つのアプローチは次のとおりです。

方法 1

TTimerProxyMethod の実行中に経過時間クロックを更新する 1 秒間隔で を使用します。ProxyMethod を呼び出す直前にタイマーを有効にします。ProxyMethod の実行中は、OnTimerイベントは発生しません。コード内のブレークポイントに到達することはありません。

方法 2

タイマーがTJvThreadTimer. ProxyMethod の実行中にOnTimerイベントが発生しOnTimerますが、ProxyMethod が完了するまでコードは実行されません。これはOnEvent、ProxyMethod が完了した後、コード内のブレークポイントが立て続けにヒットするためです (OnTimerイベントがすべてメイン VCL スレッドでキューに入れられたように)。

さらに、遅い ProxyMethod の実行中にクライアント アプリの任意の場所をクリックすると、アプリがハングしているように見えます (タイトル バーに「応答していません」と表示されます)。

最良の解決策は、ProxyMethods の実行を別のスレッドに移動することだと思います。ただし、既存の解決策があるに違いありません。関連するハングしたアプリの問題は、一般的な苦情のように思われるからです。私は解決策を見つけることができません。

任意の提案をいただければ幸いです。それ以外の場合は、ProxyMethod の実行を別のスレッドに移動することに同意します。

0 投票する
1 に答える
792 参照

c++ - write()から__kernel_vsyscall()を呼び出しても戻らないのはなぜですか?

C ++プログラムがハングし、デバッガーに接続してこのスタックトレースを見つけましたが、フレームゼロが完了していません。ここでうまくいかなかった可能性のある問題は何ですか?収集できる情報がもっとあれば、デバッガーにはまだあります。他のスレッドもあります。

フレーム10のソースコードは次のとおりです。

コードはスタックトレースを出力しようとしています。

0 投票する
1 に答える
1856 参照

process - オートホットキー キル ハング プロセス

ハングしたプロセスを見つける方法を発見しましたが、どの方法を使用しても、プロセスを強制終了することはできません。

現在、プログラムはプロセスがハングしていることを検出し、ファイルを実行しますが、閉じません。私も WinClose を試してみましたが、うまくいきませんでした。考え?

0 投票する
1 に答える
4394 参照

c# - windbg を使用してハングした C# アプリケーションでデッドロックを検出する

スレッドプールを使用する C# 2.0 の私のマルチスレッド アプリは、本番環境で数週間ごとにハングします。

私はsyncblkをしました

次のような何百もの行を削除しました。

979 個のモニターを保持しているスレッドが arraylist をロックしていますが、待機している他のすべてのスレッドが別のオブジェクトでリーダーロックを取得しようとしています。

どのロックが取得しようとしているすべてのリーダー スレッドかはわかりますが、誰がそのロックを保持しているかはわかりません。どうやってそれを見つけるのですか??

MonitorHeld = 1 のすべてのスレッドには、clrstack と dso の同様の出力があります。以下は、979 個のロック (id = 45) を保持し、リーダー スレッド (id = 290) を待機しているスレッドの dso および clrstack の出力です。同様に、 ~* e !clrstack を実行すると、 Monitor.Enter を使用するすべてのスレッドは、次の 2 つのスレッドの clrstack と同じスタックを持ちます