問題タブ [intermittent]

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 投票する
1 に答える
421 参照

java - Tomcat サーバーでの奇妙な断続的な文字エンコード動作

ときどき、本番環境の Tomcat で非常に奇妙なエンコーディングの問題に遭遇しました。

コードのどこで問題が発生したかを正確に特定することはまだできていませんが、ASCII 以外の文字を近似の ASCII 文字に置き換える必要があります。

たとえば、文字「å」を「a」に置き換えます。このサイトはスウェーデン語であるため、'å'、'ä'、'ö' の文字は非常に一般的です。しかし、何らかの理由で 'ö' 文字の置換は常に機能するため、"Köp inte grisen i säcken" のような文字列は "Kop inte grisen i säcken" になります。 ö'文字です。

問題に関するいくつかの簡単な事実:

  • めったに発生しません (最初はおそらく 1 ~ 2 年前に 3 ~ 4 回気づいています)。

  • 問題のあるサーバーを再起動すると、問題が解消されます (次回まで)。

  • 同時に複数のフロント エンド サーバーで発生したことはありません。

  • 同じフロントエンド サーバーで常に発生するとは限りません。

  • フロントエンドでのユーザー入力は必要ありません。

  • すべてのフロント エンド サーバーは同じ CMS と DB に接続し、関連する構成は同一です。

  • すべてのフロント エンド サーバーは同じ関連構成 (Linux 構成、Tomcat 構成、"file.encoding" などの Java 環境構成) を持ち、同じスクリプトを使用して開始されます (すべてホスティング/サービス プロバイダーによる)。

  • すべてのフロント エンド サーバーは、サイトに対してまったく同じ war ファイルと同じ jar ファイルを使用します。

  • この文字置換の問題が発生している間、サイトで他のエンコーディングの問題は見られません。

  • 他の環境で問題を再現できたことはありません。

CMS 要件のため、Tomcat 5.5 と Java 5 を使用しています。

この動作のもっともらしい原因は 2 つしか考えられません。

  1. ホスティング プロバイダーは、別の方法でフロント エンド サーバーを起動/再起動することがあります。おそらく、別の環境変数または別のファイル アクセス権を持つ別のユーザー アカウントを使用するか、通常のスクリプトとは別のスクリプトを使用します。

  2. Tomcat または webapp の起動中に実行されているプロセスは、他のプロセスに依存しており、これら 2 つ (またはそれ以上) のプロセスが、このエンコーディングの欠陥を引き起こす順序で実行されることがあります (断続的ではありますが、めったにありません)。

しかし、上記の 1 または 2 が当てはまるとしても、実際に何が起こるかを完全には説明していません。これを説明できる正確な違いは何ですか?「file.encoding」、「file.encoding.pkg」、「sun.io.unicode.encoding」、「sun.jnu.encoding」、およびその他すべての関連する環境変数はすべて、すべてのフロント エンド マシンで一致するため (問題が発生している間、デバッグ ページ)。

この奇妙な断続的な動作について、もっともらしい説明を思いつく人はいますか? 単純に Tomcat や Java のバージョンをアップグレードすることは、問題が解決するかどうかわからないため、実際には適切な回答ではありません。問題の原因を正確に理解することにもっと興味があります。

よろしく/ジミ

アップデート:

文字置換を実行するコードを見つけたと思います。開始時に (置換を行うための最初の呼び出しによってトリガーされます)、HashMap<Character, String> を構築し、次のように入力します。

次に、文字列の文字を置き換える必要がある場合は、各文字をループし、各文字について、キーとして文字を使用してハッシュ マップでルックアップを行い、置換文字列が見つかった場合はそれが使用され、そうでない場合は元の文字が使用されます。 .

コードのこの部分は 3 年以上前のものであり、ずっと前に亡くなった開発者によって書かれています。今日このコードを書き直すとしたら、まったく別のことをすることになり、それによって問題が解決することさえあります。しかし、何が起こったのかを正確に説明することはまだできません。誰かが可能な説明を見ることができますか?

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

iis - 断続的なColdFusion404エラーページ、接続リセット/中断が表示される場合とエラーページが表示される場合があります

新しいサイトに404ページが読み込まれるという奇妙な問題があります。サイトをColdFusion8シングルインスタンスセットアップから、ColdFusionの3つのインスタンスが実行されているColdFusion10セットアップに移動しました。これは、Windows Server2008R2を搭載したIIS7.5で実行されています。IISサイトでは、前のサーバー設定からコピーされた設定である/404.cfmをロードするように404エラーが設定されています。

問題は、存在しないページをロードすると、404ページがロードされたり、接続リセットエラーが発生したりする場合があることです。たとえば、http: //www.weblisters.com/doesnotexistにアクセスして繰り返し更新すると、接続がリセットされることが何度も表示され、「申し訳ありませんが、ページが見つかりません」テンプレートが表示される場合があります。

これは複数のインスタンスが原因である可能性があると考えたため、3つのインスタンスのうち2つをオフにして、1つだけが実行され、動作に影響を与えなかった。

この断続的な動作を引き起こす可能性のあるものについて、他の誰かが何か考えを持っていますか?

編集:これが私の側で起こっていることのスクリーンキャストです。 http://screencast.com/t/0gD0lwZiRI

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

firefox - FireFoxの最近のWebドライバーリリースで「クリック」できません

Firefoxのボタンまたはハイパーリンクをクリックすると断続的な問題が発生します。Webdriverバージョン2.27とFF17を使用しています。

ボタンはシンプルなhtmlボタンです-

私はロケーターを次のように使用します:name=addP

ハイパーリンクの場合、ロケーターを次のように使用します。link=hyperlinktext

クリックは例外なく失敗しません。ボタンまたはリンクを強調表示するだけで、実際のクリックは実行されません。

故障の頻度は3回に1回です。

ありがとうスカイ

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

javascript - 断続的なエラー: loadstart と durationchange の間で動画の読み込みが停止する原因は何ですか?

断続的なエラーが発生するという苛立たしい状況にあります。機能している場合、PHP はビデオと 3 つの画像を表示するように指定します。ページが読み込まれてから 800 ミリ秒後にビデオの再生が開始され、ビデオが終了するとすぐに画像が表示されます。この時点で、ユーザーはキー (画像の位置に対応) を押し、キーを押すと反応時間を測定する関数がトリガーされます。 、選択した写真を保存し、次のページをロードすると、これらすべてが新しいビデオと新しい写真で再び行われます。

それはすべてうまくいきます...時々。

また、ビデオが表示されると思っていたところに空白の画面が表示されることもあります。すぐに発生することもあれば、15 回または 20 回の読み込みが成功した後、またはその間のどこかで発生することもあります。Chrome 27.0.1453.93 を実行しており、Chrome の組み込みの JavaScript コンソールを使用してエラーを追跡しています。ビデオの読み込みに失敗した場合でも、javascript エラーは発生しません (DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> を使用)。

どこで問題が発生しているかを特定するために、一連のイベント リスナーを追加し、匿名関数を使用して出力を js コンソール ログ ファイルに渡し、ビデオ イベントのどの段階が発生しているか、または発生していないかを確認しました。少なくとも、信頼できるパターンは次のとおりです。ビデオの読み込みに失敗するたびに、loadstart は発生しますが、durationchange は発生しません。継続を妨げている問題が何であるかがわかりません。

ここでの回答を楽しみにしています。それが回答であろうと、経験を裏付けている他の人であろうと、私はそれほど狂っていません! 最も関連性の高い 2 つの JavaScript 関数をここに含めますが、どれだけ役立つかはわかりません。

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

css - 同じブラウザ内で更新すると、ページのレンダリングが異なる

私は私を夢中にさせている異常な問題を抱えています! この正確な問題に関連する質問がまだ投稿されていません。

サイトに、ランダムなページの読み込み時に特定の要素が正しくレンダリングされないページがあります。たとえば、クロムを使用すると、ページは正常にレンダリングされますが、何度か更新すると、ヘッダーの基本的な ul が本文に移動します。カルーセルが表示されない場合や、ナビゲーション ブロックが次の行にスライドする場合があります。Firefox でもこの動作を再現しました。

問題の原因がどこにあるのかわからないため、誰もが見られるようにコードのスニペットを提供することはできません。問題のあるページは www.Calibrus.com のインデックスです。本当に驚くべきことは、Chrome Dev Tools を使用することで、display:none を間違った ul に設定してから、display を通常に戻すと、ul が本来あるべき場所にレンダリングされることです。これは、まったく同じ html と css が何らかの形で異なる方法でレンダリングされていることを示唆しています (使用されているスクリプトに関係なく)。

また、これはサーバーの問題ではありません。コードをローカルで実行するときにも同じ問題があります。

ここで何が起こっているのか誰にも分かりませんか?

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

caching - 古い値が断続的に表示される ColdFusion クライアント変数

セッション状態を管理するために 150 個のクライアント変数を使用する従来の ColdFusion アプリケーションがあります。クライアント変数は、ラウンド ロビン ロード バランサーを使用して、6 つのアプリケーション サーバー クラスター環境内の SQL Server データベースに集中的に格納されます。

問題は、コードがクライアント変数を新しい値で更新するときに、CData テーブルで新しい値が適切に更新されているにもかかわらず、古い値がまだ使用され、表示されていることです。これは、cfset タグを使用してクライアント変数に対して平均 1000 回の更新が行われる場合に断続的に発生します。

競合状態とキャッシングの問題が考えられる説明です。古い値がまだ 6 つのアプリケーション サーバーの 1 つにキャッシュされているのではないかと「疑っています」。Adobe のドキュメントには、クライアント変数がメモリにキャッシュされることが明確に記載されていますが、詳細については触れられていません。

1) 誰かがこの問題を経験し、適切な解決策を見つけましたか?

2) クライアント変数を使用し続けている間にスティッキー セッションに移行すると、どのような影響がありますか?

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

layout - CakePHP レンダリング エラー

私は今まで問題なく取り組んできた CakePHP 2.3.0 サイトを持っています。

私のローカルセットアップでは、すべてが機能します。元の展開では、すべてが機能します。しかし今、新しい展開 (最初の展開と同じホスティング プロバイダーを使用) で、非常に奇妙な動作が発生します。

時折、特定のコントローラー/アクションにピン留めすることができず、View は適切にレンダリングされますが、それをラップするレイアウトは含まれません。基本的に、完全な HTML ドキュメントを取得する代わりに、ビューのマークアップのみを取得しています。ビュー マークアップの出力にエラーはないようです。そのため、何がどこで問題が発生しているのかわかりません。

奇妙なことに、この条件がトリガーされると、他のすべてのコントローラー/ビューが同じことを行いますが、ある程度の時間 (数分; より具体的な期間に釘付けにすることはできませんでした) を待ちます。 )問題が何であれリセットされたようで、完全なレイアウトとビューが再び正しくレンダリングされます。

私たちのホスティングを管理しているここの人は、Apache ログがなく、ホスティング プロバイダーにそれらを提供してもらうのが面倒だと言ったので、そこに行き詰まっています。故障は Cake 自体の内部で発生しているように見えるため、どこからトラブルシューティングを開始すればよいかわかりません。

他の誰かがこれに遭遇したことがありますか? デバッグする場所について誰か提案がありますか? エラーログがないのはイライラしますが、それが私の状況です。

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

coldfusion - ColdFusion で構造体を作成する可能性のある競合状態

同じ方法論 (同じコードではない) を使用しているときに、私が取り組んできたいくつかのシステムで断続的なエラーが発生し、同じリクエストで構造体を作成して使用することに問題が関連している可能性があると思いました。競合状態が発生する可能性があるかどうか疑問に思っていますか?

シナリオは次のとおりです。私たちは電子商取引システムで、製品、場合によっては製品のリストを見ています。問題のコードは、各製品に関連付けられた画像を、その画像の表示に使用できる構造体で返すように設計されています。

リクエストの開始時に、コードは問題のアイテムに関連付けられたデータベース レコードを探します。これらのレコードは、製品の画像を表しています。これらのレコードは、1 回の呼び出しで返されます (より正確には、さまざまな情報を含む構造体に整形されたCFQuery、呼び出しの結果を返す関数の呼び出し)。CFQuery

次に、コードは提供された画像構造体をループし、さまざまな情報を Local 構造体に追加します。リクエストの後半で、構造体のデータを使用して<img>タグに画像を表示します。また、JavaScript で使用する属性を<img>タグに入力します。data-

特定の画像がクエリによって正しく返されなかった場合 (通常は物理ファイルが見つからないため)、汎用のプレースホルダー画像を使用します。これは、構造体の作成をtry/catchブロック内に配置することによって行われます。

重要:これは機能します。

ただし、何が起こっているかというと、非常に断続的に、作成した構造体のノードを参照すると、ノードが存在しないことがわかり、CF がエラーをスローします。これはおそらく 1% の確率で発生し、同じページをリロードします。完全に動作します。

複数のシステム、複数のサーバー、ColdFusion の異なるバージョン (具体的には 8 & 10) で同じ問題が発生し、完全に異なるコードを使用して同様の結果が得られました。この問題を最初に見たシステムは、実際にFileExistsイメージ ファイルが利用可能であることを確認するために使用されていたので、問題はおそらくファイルシステムのボトルネックが原因であると考えました。システム - しかし、問題は解決しません。

私が考えることができる唯一のことは、構造体を作成し、後で同じリクエストでその構造体を使用すると、競合状態が発生する可能性があるということです。これにより、作成が完了する前に構造体のノードを参照します。ただし、ここではスレッドを使用していないため、それがどのように可能かはわかりません...他のアイデアはありません。

私が何をしているのかを示すためにいくつかのコードを以下に示しますが、まったく異なるシステムで同じ問題が発生することを考えると、問題があるのはコードではなく方法論だと思います.

<img>上記のコードで作成されたノードを参照すると、タグでエラーが発生します-次のようなもの:

エレメント ImageURL_image_02_Large は、タイプ クラス coldfusion.runtime.LocalScope の Java オブジェクトで定義されていません。

しかし、ごくたまにしかありません...リロードすると、毎回完全に機能します。

それで... 壮大な長さの質問で申し訳ありませんが、これがどのように発生するかわかる人はいますか?