問題タブ [general-protection-fault]

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

javascript - node.js の一般保護違反

一般保護違反でノードがクラッシュしました。syslog から:

JSはメモリ管理されているため、Node自体が原因であると想定しています-それが間違っている場合はお知らせください。

ノード 0.8.19 にこれを引き起こす既知の問題はありますか?

ノードがクラッシュしないようにするにはどうすればよいですか?

0 投票する
0 に答える
818 参照

java - DozerBeanMapper でコードを実行しているときに、JVM が一般保護違反を発生させる

ここで少し興味深いのは、アプリの 1 つで (IBM 64 ビット JVM で) Dozer (5.3.2) を実行していることです。先週の金曜日、JVM が一般保護違反を発したため、本番環境のボックスの 1 つが突然停止しました。残念ながら、当時何が起こっていたかを示す有用なログはありませんが、JVM の javacore ファイルは、Dozer の DozerBeanMapper でコードを実行しているときに問題が発生したことを示しています。

DozerBeanMapper の Dozer ソースをざっと見てみると、javacore ログに報告されているコード行がSun のjava.util.concurrent.atomic.AtomicBooleanを使用していて、それ自体がsun.misc.Unsafeを使用していることに気付きました。それについて理解していることからsun.misc.Unsafe、JVMによって通常公開されるよりも、むしろ直接的かつ任意のメモリ割り当て機能が可能になります。私はもちろんここで推測していますが、私たちが見た gpf が Dozer のsun.misc.Unsafe.

残念なことに、アプリケーションで複数の DozerBeanMappers を使用しているため、さらに複雑になっています (修正に取り組んでいます... コードを継承するのは楽しいことではありません)。これらのマッパーは、リクエストごとではなく、アプリの起動時に少なくとも 1 回だけインスタンス化されます。

残念ながら、問題を再現する方法をまだ理解していないので、自分の理論を証明/反証する方法を考えるのに苦労しているので、試しながら情報を収集しようと思いました. Dozer を使用しているときに gpf の状況を経験した人はいますか? 複数の DozerMapperBeans の使用が問題を引き起こしている可能性はありますか?

あらゆる考えに感謝し、

エド

0 投票する
0 に答える
3085 参照

segmentation-fault - dmesg は segfault、一般的な保護エラー、「120 秒以上ブロックされました」を示しますが、プログラムはまだ実行されています

私はいくつかのコードを実行していますが、どの時点でも終了していないか、目に見えるエラーメッセージが表示されていませんが、長時間停止しているように見え、その後再び回復して停止するため、dmesg を実行して以下を得ました:

とにかく、プログラムが終了しないため、これをどうするか、またはこれがどこで発生しているかを調べる方法がわかりません..これをデバッグする方法を誰か教えてもらえますか?

ありがとう

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

ios - objc_setAssociatedObject 関数のエラーは、32 ビットではなく 64 ビット モードで発生します

私はプロジェクトでSKSTableViewと呼ばれるきちんとしたテーブル ビュー コントローラーを使用しています。これにより、各テーブル行に多数のサブ行を含めることができます。このコードは32 ビットモードでは完全に動作しますが、iPhone 5S または 4 インチ 64 ビット モードのシミュレータで実行すると、行をタップしてサブ行を取得するとクラッシュします。私は 64 ビットと 32 ビットの iOS システムの違いについては何も知りません。ここで何が起こっているのかを理解したいと思います。

*SubRowObjectKey が void に設定されていることに気付くでしょう。エラーは次の とおり
です。

Xcode がクラッシュすると、次のコード行が強調表示されます。
objc_setAssociatedObject(self, SubRowObjectKey, subRowObj, OBJC_ASSOCIATION_ASSIGN);

Also there is this: Printing description of *(subRowObj): (id) [0] = Printing description of SubRowObjectKey:

It seems to be working great in 32bit mode but some how in 64bit it seems to loose where it is. Here below is the section of the code I am looking at.

ここからコードをダウンロードして再生できます: https://github.com/sakkaras/SKSTableView

0 投票する
0 に答える
940 参照

segmentation-fault - Ubuntu の一般保護違反 - CPU 関連?

カーネル 3.2.0-60 を実行する Ubuntu。

昨日の早朝、マシンの負荷平均が一定の上り坂になり始めました。CPU 使用率は非常に低く、約 85% のアイドル状態です。メモリ使用量も低く、約 2 MB のスワップのみが使用済みとして表示されました。

私が最初に考えたのは、これらの 2 つの項目は問題がなかったということでした。ハード ドライブに問題があり、ハード ドライブにアクセスして読み書きできないのではないかと考えました。

工程数は常時185前後。約 5 時間後、負荷は 400 を超え、プロセスの数はほぼ 900 に達しました。cron ジョブが実行されたり、他のプロセスが実行されたりすると、それらは追加され続けました。

負荷が約 180 になったとき、マシンに SSH 接続し、top を実行してプロセスを監視することができました。マシンは引き続き DNS クエリにも応答しており、ping も機能していました。これは午前8時30分頃でした。

syslog は、停止する前に午前 8 時 16 分頃まで実行されます。次のログ行は、マシンの再起動時 (午後 1 時 10 分頃) のものです。

再起動またはシャットダウン コマンドを実行しようとすると、「セグメンテーション エラー」の応答を受け取りました。

Syslog には、何千もの一般保護違反があります。それらはすべて、異なるプロセス ID と異なる実行可能ファイルを持っています。しかし、CPU 3 という 1 つの点がすべて同じままであるように見えます。

例 1:

例 2:

例 3:

他の誰かが自分の考えやフィードバックの一部を提供できると思いますか? すべての行が書き込まれたという事実は、ハード ドライブがアクセス可能で書き込み可能であったことを示しています。

0 投票する
0 に答える
579 参照

c++ - 例外 13 一般保護違反....エラー コード = 0240

Turboc++ でコンパイル中にこのエラーが発生し、その後クラッシュします。私はそれについてグーグルで検索しましたが、何の助けも得られませんでした。皆さん、私を助けてくれませんか?

よろしくお願いします tanmay darmorha

0 投票する
0 に答える
69 参照

x86 - x86 回復での GP フォールト

IA-32 x86 アーキテクチャ ベースのターゲットで実行するいくつかのテスト ケースを自動化したいと考えています。これらのテスト ケースの一部は、一般的な保護エラーを生成します (検証プロセスの一部として期待される結果)。この障害から回復し、残りのテスト ケースを続行する方法があるかどうかを知りたいです。そうでない場合、テストの自動化のための他の潜在的な方法は何ですか?

0 投票する
0 に答える
452 参照

assembly - x86「32ビット」のソフトリセットは、リセット後にRAMをクリアしますか?

Intel Quark SoC を使用しており、トリプル フォールトが発生した後に RAM からデータを読み取ろうとしています。リセットが発生する前にいくつかのデータを保存していて、プログラムの再起動後にそれを読みたいと思っています。これは可能ですか、またはRAMがクリアされていますか?